@charset "UTF-8";
/* CSS Document */

@import url(reset2024.css);

html { scroll-behavior: smooth; }
img { vertical-align: bottom; }
ul { list-style-type: none; }



::selection { background:#f00; color: #fff; }
::-moz-selection { background:#f00; color: #fff; }



body {
	font-size: 87.5%;
	font-family: "M PLUS 1p", sans-serif;
	background-color: #000;
}

img.auto { width: 100%; height: auto; }

a { color: #000; transition: .3s; }

@keyframes objApr {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

/* フォント */
.txtL { font-weight: 300; }
.txtR { font-weight: 400; }
.txtB { font-weight: 700; }

.fontR {
	font-family: "Barlow", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.fontB {
	font-family: "Barlow", sans-serif;
	font-weight: 700;
	font-style: normal;
}



/* SP用記述*/
.br4pc { display: none; }
.forTB { display: none; }
.forPC { display: none; }

/* ヘッダ */
header {
	position: fixed;
	right: 0;
	top: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 20px 20px 0;
	z-index: 400;
	transition: .3s;
	animation: logoApr .7s .3s both;
}
@keyframes logoApr {
	0% { top: -100px; }
	100% { top: 0; }
}
header .logo {
	position: relative;
	max-width: 350px;
	transition: .3s;
}
header .logo a { display: block; }
header .logo .logo_wr {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	opacity: 0;
	transition: .4s;
}
header .logo .logo_bw { transition: .4s; }
/* スクロール時 */
header.scrl { padding: 12px 12px 0; }
header.scrl .logo { max-width: 282px; }
/* 非表示 */
header.hide { transform: translate(0, -105%); }
/* オープン時 */
header .logo.logo_w .logo_bw { opacity: 0; }
header .logo.logo_w .logo_wr { opacity: 1; }

/* #page */
#page header { padding: 12px 12px 0; }
#page header .logo {
	margin-left: auto;
	max-width: 282px;
}



/* ハンバーガー */
.hamburger {
	width: 54px;
	height: 54px;
	background-color: #000;
	color: #fff;
	position: fixed;
	right: 12px;
	top: -54px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 500;
	transition: .4s;
	opacity: 0;
}
.hamburger.scrl {
	opacity: 1;
	top: 17px;
}
.hamburger .open {
	font-family: "Barlow", sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	transition: .4s;
}
.hamburger .close::before,
.hamburger .close::after {
	content: "";
	width: 36px;
	height: 3px;
	background-color: #fff;
	border-radius: 2px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	opacity: 0;
	transition: .4s;
}
/* オープン時 */
.hamburger.close { background-color: #f00; }
.hamburger.close .open {
	opacity: 0;
	transform: scaleY(0);
}
.hamburger.close .close::before,
.hamburger.close .close::after { opacity: 1; }
.hamburger.close .close::before { transform: translate(-50%, -50%) rotate(45deg); }
.hamburger.close .close::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* ドロワー */
.drawer {
	background-color: rgba(0, 0, 0, .9);
	position: fixed;
	right: -100%;
	top: 0;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 130px 10px 50px;
	overflow: auto;
	transition: .4s;
	z-index: 300;
	text-align: center;
}
.drawer .inner {
	max-width: 350px;
	margin: 0 auto;
}
.drawer.show { right: 0; }
.drawer .notice_wrap {
	display: flex;
	justify-content: center;
}
.drawer ul.notice {
	background-color: #fff;
	padding: 4px;
	border-radius: 4px;
	display: flex;
	justify-content: center;
}
.drawer ul.notice li { margin: 4px; }
.drawer ul.notice li a {
	display: block;
	height: 106px;
	width: 106px;
	background: center center / cover no-repeat;
	box-shadow: 0 0 5px rgba(0, 0, 0, .4);
}
.drawer ul.menu { margin-top: 50px; }
.drawer ul.menu li { margin-top: 10px; }
.drawer ul.menu li a {
	display: inline-block;
	color: white;
	text-decoration: none;
	font-size: 18px;
	font-weight: 300;
	letter-spacing: .25em;
	padding: 10px 0 10px .25em;
}
.drawer ul.menu.sub { margin-top: 40px; }
.drawer ul.menu.sub li a { font-size: 15px; }
.drawer .btn_area {
	display: inline-block;
	margin-top: 50px;
}
.drawer .btn_area a.btn,
.fv .silhouette_area .btn_area a.btn {
	background-color: #fff;
	color: #f00;
}
.drawer .btn_area a.btn span,
.fv .silhouette_area .btn_area a.btn span {
	display: inline-block;
	position: relative;
	padding-left: 34px;
}
.drawer .btn_area a.btn span::before,
.fv .silhouette_area .btn_area a.btn span::before {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
	background: url(../images_2024/icon_red_music.svg) center center / contain no-repeat;
}


/* First View */
.fv {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
.fv .silhouette_area {
	flex: 1;
	background-color: #f00;
	position: relative;
	padding-bottom: 40px;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 660px;
	box-sizing: border-box;
}
.fv .silhouette_area::before {
	content: "";
	display: block;
	width: 100%;
	height: 177px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-image: linear-gradient(rgba(205, 0, 0, 1), rgba(255, 0, 0, 1));
}
.fv .silhouette_area .btn_area { position: relative; }

/* シルエット関連 start */
/* 安部 */
.fv .silhouette_area .abe_wrap {
	position: absolute;
	left: 50%;
	bottom: 128px;
	transform: translate(-50%, 0);
}
.fv .silhouette_area .abe_wrap .abe {
	width: 168px;
	position: relative;
}
.fv .silhouette_area .abe_wrap .add { position: absolute; }
.fv .silhouette_area .abe_wrap .wave_1 {
	width: 27px;
	top: -9px;
	left: 60px;
	animation: wave1mov .4s .5s ease-in-out both;
}
@keyframes wave1mov {
	0%{ transform: scale(1) rotate(-119deg); opacity: 0; }
	25%{ transform: scale(1.2) rotate(-89deg); }
	50%{ transform: scale(1) rotate(-119deg); opacity: 1; }
	75%{ transform: scale(1.2) rotate(-89deg); }
	100%{ transform: scale(1) rotate(-104deg); }
}
.fv .silhouette_area .abe_wrap .wave_2 {
	width: 22px;
	top: 44px;
	right: 24px;
	animation: wave2mov .4s .6s ease-in-out both;
}
@keyframes wave2mov {
	0%{ transform: scale(1) rotate(78deg); opacity: 0; }
	25%{ transform: scale(1.2) rotate(50deg); }
	50%{ transform: scale(1) rotate(78deg); opacity: 1; }
	75%{ transform: scale(1.2) rotate(50deg); }
	100%{ transform: scale(1) rotate(64deg); }
}
.fv .silhouette_area .abe_wrap .sweat_1 {
	animation: sweat1mov .4s .6s ease both;
}
@keyframes sweat1mov {
	0%{
		opacity: 0;
		width: 9px;
		top: 6px;
		right: 48px;
		transform: rotate(-30deg);
	}
	100%{
		opacity: 1;
		width: 18px;
		top: -9px;
		right: 28px;
		transform: rotate(0);
	}
}
.fv .silhouette_area .abe_wrap .sweat_2 {
	animation: sweat2mov .3s .7s ease both;
}
@keyframes sweat2mov {
	0%{
		opacity: 0;
		width: 8px;
		top: 33px;
		left: 67px;
		transform: rotate(30deg);
	}
	100%{
		opacity: 1;
		width: 16px;
		top: 43px;
		left: 57px;
		transform: rotate(0);
	}
}
/* シルエット関連 end */

.fv .info_area {
	text-align: center;
	padding: 36px 20px;
}
.fv .info_area h2 {
	color: #f00;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: .1em;
}


/* コンテンツ部 */
.bg_white { background-color: #fff; }
.bg_gray { background-color: #eee; }
.bg_red { background-color: #f00; }

a.btn {
	display: block;
	background-color: #000;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	padding: 10px;
	border-radius: 50px;
	text-decoration: none;
	min-width: 300px;
	box-sizing: border-box;
}
a.btn.btnS {
	min-width: 0;
	font-size: 13px;
	padding: 3px 8px 4px;
}
a.btn.off {
	background-color: #999;
	pointer-events: none;
}
a.btn.playing { background-color: #f00; }
.cont { padding: 50px 0; }
.cont_wrap {
	padding: 0 5vw;
	max-width: 400px;
	margin: 0 auto;
}
.lead_wrap {
	padding: 0 7.5vw;
	max-width: 600px;
	margin: 0 auto;
}
.sec_ttl {
	font-weight: 300;
	color: #f00;
	font-size: 32px;
	letter-spacing: .5em;
}
.sec_lead {
	margin-top: 20px;
	font-size: 16px;
	line-height: 2;
}

/* #page */
#page main > .cont { padding-top: 128px; }
#page main > .cont > .cont_wrap { max-width: 480px; }
#page main > .cont > .cont_wrap h1.page_ttl {
	font-weight: 300;
	color: #f00;
	font-size: 32px;
	letter-spacing: .5em;
	text-align: center;
	padding-left: 0.5em;
}



/* 次回予告 */
#next { padding: 40px 0; }
#next .sec_ttl {
	font-size: 25px;
	letter-spacing: .2em;
}
#next .next_cont { margin-top: 30px; }
#next .next_cont .txt_area {
	background-color: #fff;
	padding: 25px 20px 20px;
}
#next .next_cont .txt_area .ttl {
	font-size: 24px;
	line-height: 1.4;
	color: #f00;
}
#next .next_cont .txt_area .txt {
	margin-top: 10px;
	font-size: 15px;
	line-height: 2;
}
#next .next_cont .txt_area .writer {
	margin-top: 10px;
	text-align: right;
	font-size: 13px;
}
#next .next_cont .playlist_area {
	margin-top: 3px;
	background-color: #fff;
	padding: 20px 20px 25px;
}
#next .next_cont .playlist_area h2 {
	font-family: "Barlow", sans-serif;
	font-weight: 700;
	color: #f00;
	font-size: 21px;
}
#next .next_cont .playlist_area .playlist { margin: 20px 0 0 6px; }
#next .next_cont .playlist_area .playlist li {
	margin-top: 12px;
	font-size: 13px;
	line-height: 1.35;
	padding-left: 32px;
	position: relative;
}
#next .next_cont .playlist_area .playlist li::before {
	font-family: "Barlow", sans-serif;
	/* font-weight: 700; */
	color: #f00;
	font-size: 15px;
	position: absolute;
	left: 0;
	top: 1px;
	line-height: 1;
}
#next .next_cont .playlist_area .playlist li:nth-child(1)::before { content: "M1"; }
#next .next_cont .playlist_area .playlist li:nth-child(2)::before { content: "M2"; }
#next .next_cont .playlist_area .playlist li:nth-child(3)::before { content: "M3"; }
#next .next_cont .playlist_area .playlist li:nth-child(4)::before { content: "M4"; }
#next .next_cont .playlist_area .playlist li:nth-child(5)::before { content: "M5"; }
#next .next_cont .playlist_area .playlist li:nth-child(6)::before { content: "M6"; }
#next .next_cont .playlist_area .playlist li:nth-child(7)::before { content: "M7"; }
#next .next_cont .playlist_area .playlist li:nth-child(8)::before { content: "M8"; }
#next .next_cont .playlist_area .playlist li:nth-child(9)::before { content: "M9"; }
#next .next_cont .playlist_area .playlist li:nth-child(10)::before { content: "M10"; }
#next .next_cont .playlist_area .playlist li:nth-child(11)::before { content: "M11"; }
#next .next_cont .playlist_area .playlist li:nth-child(12)::before { content: "M12"; }
#next .next_cont .playlist_area .playlist li:nth-child(13)::before { content: "M13"; }
#next .next_cont .playlist_area .playlist li:nth-child(14)::before { content: "M14"; }
#next .next_cont .playlist_area .playlist li:nth-child(15)::before { content: "M15"; }

#next .date {
	font-size: 12px;
	text-align: right;
	padding: 6px 10px;
	background-color: #000;
	color: #fff;
}
#next .btns { margin-top: 30px; }
#next .btns a.btn {
	background-color: #fff;
	color: #f00;
	border: solid 1px #f00;
}

/* 「過去の作品」ページ */
.archives_list li { margin-top: 60px; }
.archives_list li:first-child { margin-top: 40px; }
.pagenav {
	margin-top: 80px;
	display: flex;
	justify-content: center;
}
.pagenav > a,
.pagenav > p {
	background-color: #fff;
	padding: 4px 7px;
}
.pagenav > p.current {
	font-weight: 700;
	color: #f00;
}





/* 告知枠 */
.cont.notice_area { padding: 30px 0; }
.notice_list > li {
	margin-top: 30px;
	background-color: #fff;
	color: #000;
	border-radius: 8px;
	padding: 20px;
}
.notice_list > li:first-child { margin-top: 0; }
.notice_list > li .thumb { box-shadow: 0 0 5px rgba(0, 0, 0, .4); }
.notice_list > li .txt_area { padding: 20px 5px 10px; }
.notice_list > li .txt_area .ttl {
	color: red;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
}
.notice_list > li .txt_area .cap { line-height: 1.8; }
.notice_list > li .txt_area .ttl + .cap { margin-top: 10px; }
.notice_list > li ul.btns > li { margin-top: 10px; }

/* はじめに */
#intro {
	position: relative;
	overflow: hidden;
	min-height: 310px;
	box-sizing: border-box;
}
#intro::before {
	content: "";
	display: block;
	width: 100%;
	height: 4px;
	position: absolute;
	left: 0;
	bottom: 0;
	background-color: #eee;
}
#intro .lead_wrap { padding: 0 100px 0 7.5vw; }
#intro .igrs {
	position: absolute;
	right: 10px;
	bottom: 0;
	z-index: 10;
}
#intro .igrs .bln {
	text-align: center;
	font-size: 13px;
	line-height: 1.4;
	position: absolute;
	right: -2px;
	top: -115px;
	width: 98px;
	height: 114px;
	z-index: 1;
	padding-top: 26px;
	box-sizing: border-box;
}
#intro .igrs .bln span {
	font-size: 15px;
	font-weight: 700;
}
#intro .igrs .bln::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images_2024/balloon.svg) center bottom / contain no-repeat;
	z-index: -1;
	transform: rotate(-16deg);
	transform-origin: 50% 44%;
}
#intro .igrs .slht {
	width: 64px;
	position: relative;
}
#intro .igrs .slht::before,
#intro .igrs .slht::after {
	content: "";
	display: block;
	width: 24px;
	height: 1px;
	background-color: #f00;
	position: absolute;
	left: -8px;
}
#intro .igrs .slht::before {
	top: 16px;
	transform-origin: right bottom;
	transform: rotate(30deg);
}
#intro .igrs .slht::after {
	top: 24px;
	transform-origin: right top;
	transform: rotate(-30deg);
}
/* 登場人物紹介 */
#characters .charas_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#characters .charas_list > li {
	padding-top: 40px;
	width: 48%;
}
#characters .charas_list > li .slht_area {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	min-height: 203px;
}
#characters .charas_list > li .slht_area::before {
	content: "";
	display: block;
	width: 90px;
	height: 24px;
	border-radius: 50%;
	background-color: #f00;
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translate(-50%, 0);
}
#characters .charas_list > li .slht_area .slht {
	position: relative;
	padding-bottom: 9px;
}
#characters .charas_list > li#abe .slht_area .slht { width: 80px; }
#characters .charas_list > li#yu .slht_area .slht { width: 62px; padding-right: 20px; }
#characters .charas_list > li#ino .slht_area .slht { width: 49px; }
#characters .charas_list > li#oba .slht_area .slht { width: 77px; }
#characters .charas_list > li#hime .slht_area .slht { width: 50px; }
#characters .charas_list > li#anju .slht_area .slht { width: 67px; padding-left: 10px; }
#characters .charas_list > li#dmki .slht_area .slht { width: 85px; }
#characters .charas_list > li#omo .slht_area .slht { width: 44px; }
#characters .charas_list > li#natsu .slht_area .slht { width: 51px; }
#characters .charas_list > li#moe .slht_area .slht { width: 49px; }
#characters .charas_list > li#niji .slht_area .slht { width: 38px; }
#characters .charas_list > li#amazing .slht_area .slht { width: 82px; }
#characters .charas_list > li#iksg .slht_area .slht { width: 60px; }
#characters .charas_list > li#gyakuni .slht_area .slht { width: 60px; }
#characters .charas_list > li#gondo .slht_area .slht { width: 56px; }
#characters .charas_list > li#ksbt .slht_area .slht { width: 54px; padding-left: 20px; }
#characters .charas_list > li#igrs .slht_area .slht { width: 65px; padding-right: 20px; }

#characters .charas_list > li#sora .slht_area .slht { width: 41px; padding-right: 8px; }

#characters .charas_list > li .name_area {
	margin-top: 15px;
	line-height: 1.2;
	text-align: center;
}
#characters .charas_list > li .name_area .name {
	font-size: 18px;
	font-weight: 700;
}
#characters .charas_list > li .name_area .kana {
	margin-top: 8px;
	color: #f00;
	font-size: 13px;
}
#characters .charas_list > li .btns {
	width: 134px;
	margin: 12px auto 0;
}
#characters .charas_list > li .btns li { margin-top: 8px; }
#characters .charas_list > li .btns li .btnX span { 
	display: inline-block;
	position: relative;
	padding-left: 18px;
	font-family: "Barlow", sans-serif;
	font-weight: 400;
}
#characters .charas_list > li .btns li .btnX span::before {
	content: "";
	display: block;
	width: 13px;
	height: 13px;
	background: url(../images_2024/logo_x.svg) center center / contain no-repeat;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
}
.bizcard_wrap {
	min-width: 240px;
	width: 60vw;
	max-width: 360px;
}

/* 番組情報発信中！ */
#sns { padding: 50px 0 40px; }
#sns .sec_ttl,
#archives .sec_ttl {
	font-size: 28px;
	letter-spacing: .2em;
}
#sns ul.sns_list {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
}
#sns ul.sns_list li {
	width: 47%;
}
#sns ul.sns_list li a {
	display: block;
	text-decoration: none;
	position: relative;
	padding-bottom: 118px;
}
#sns ul.sns_list li a .sns_btn {
	color: #fff;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	padding: 15px 10px;
	border-radius: 8px;
}
#sns ul.sns_list li a .sns_btn span {
	display: inline-block;
	position: relative;
}
#sns ul.sns_list li a .sns_btn span::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translate(0, -50%);
	background: center center / contain no-repeat;
}
#sns ul.sns_list li.x a .sns_btn {
	background-color: #000;
	font-family: "Barlow", sans-serif;
	padding: 15px 10px;
}
#sns ul.sns_list li.x a .sns_btn span { padding-left: 36px; }
#sns ul.sns_list li.x a .sns_btn span::before {
	width: 30px;
	height: 30px;
	background-image: url(../images_2024/logo_x.svg);
}
#sns ul.sns_list li.line a .sns_btn {
	background-color: #06C755;
	padding: 16px 10px 14px;
}
#sns ul.sns_list li.line a .sns_btn span { padding-left: 46px; }
#sns ul.sns_list li.line a .sns_btn span::before {
	width: 34px;
	height: 33px;
	background-image: url(../images_2024/logo_line.svg);
}
#sns ul.sns_list li a .bln {
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 96px;
	height: 112px;
	padding-top: 18px;
	box-sizing: border-box;
	transform: translate(-50%, 0);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	z-index: 1;
}
#sns ul.sns_list li a .bln::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images_2024/balloon.svg) center center / contain no-repeat;
	transform: rotate(180deg);
	z-index: -1;
}

/* WEBアーカイブ */
#archives ul.links li {
	margin-top: 20px;
	padding: 0 5px;
}
#archives ul.links li a {
	display: block;
	font-size: 16px;
	background: url(../images_2024/icon_arrow_red.svg) left center / 9px auto no-repeat;
	padding-left: 16px;
}
#archives ul.links li a span { font-size: 13px; }

/* クレジットエリア */
.credit_area {
	padding: 0 20px 180px;
	position: relative;
}
.credit_area .credit {
	padding-top: 80px;
	text-align: center;
}
.credit_area .credit#cast { padding-top: 60px; }
.credit h2.eng {
	font-size: 28px;
	color: #fff;
	font-family: "Barlow", sans-serif;
}
.credit h1.jpn {
	margin-top: 12px;
	letter-spacing: .5em;
}
.credit h1.jpn span {
	padding-left: 0.5em;
}
.credit dl.credit_list {
	display: inline-block;
	margin-top: 30px;
	text-align: left;
	line-height: 1.25;
}
.credit dl.credit_list dt{
	float: left;
	clear: both;
	color: #fff;
	margin-top: 15px;
}
.credit dl.credit_list dd { margin-top: 15px; }
#cast.credit dl.credit_list dd { padding-left: 14em; }
#staff.credit dl.credit_list dd { padding-left: 10em; }
.credit dl.credit_list dd.row2 { min-height: 2.5em; }
.credit dl.credit_list dt.mt30,
.credit dl.credit_list dd.mt30 { margin-top: 30px; }
.credit dl.credit_list dd span { font-size: 13px; }
.credit .spnsr_list > li { margin-top: 30px; }
.credit .spnsr_list > li .com a {
	font-size: 16px;
	color: #fff;
}
.credit .spnsr_list > li .com_mem_list {
	margin-top: 18px;
	display: flex;
	justify-content: center;
	column-gap: 30px;
}
.credit .spnsr_list > li .com_mem_list + .com_mem_list { margin-top: 10px; }

.credit_area .bldg { position: absolute; }
.credit_area .bldg.rpnghills_2 {
	width: 27px;
	left: 14vw;
	bottom: 0;
}
.credit_area .bldg.rpnghills_1 {
	width: 32px;
	left: 21.5vw;
	bottom: 0;
}
.credit_area .bldg.skytree {
	width: 21px;
	right: 5.1vw;
	bottom: 0;
}
.credit_area .bldg.tokyotower {
	width: 40px;
	left: 0.7vw;
	bottom: 2px;
}
.credit_area .bldg.dng {
	width: 36px;
	left: 50%;
	bottom: 4px;
	transform: translate(-50%, 0);
	z-index: 10;
}
.credit_area::after {
	content: "";
	display: block;
	width: 100%;
	height: 50px;
	position: absolute;
	left: 0;
	bottom: -2px;
	background: url(../images_2024/foot_bldgs.svg) center bottom / auto 100% repeat-x;
}
/* フッタ */
footer .logos { margin-top: 80px; }
footer .logos li { margin: 40px auto 0; }
footer .logos li.dng { width: 168px; }
footer .logos li.tfm { width: 108px; }
footer .logos li.nissan { width: 160px; }
footer .logos li a { display: block; }
footer .copy {
	margin: 100px 10px 20px;
	color: #fff;
	font-family: "Barlow", sans-serif;
	font-size: 11px;
	text-align: center;
}



@media only screen and (min-width:768px) and (max-width:959px) {
	/* Tablet用記述 */
	.forSP { display: none; }
	.forTB { display: block; }
	.forPC { display: none; }

	/* First View */
	.fv {
		min-height: 0;
		display: block;
	}
	.fv .silhouette_area { min-height: 720px; }
	.fv .silhouette_area .slht_wrap { position: absolute; }

	.fv .silhouette_area .abe_wrap { left: 58%; }

	.fv .silhouette_area .slht_wrap.yu { left: 26%; bottom: 124px; }
	.fv .silhouette_area .slht_wrap.yu .slht { width: 138px; }

	.fv .silhouette_area .slht_wrap.eita { right: 12%; bottom: 125px; }
	.fv .silhouette_area .slht_wrap.eita .slht { width: 102px; }

	.fv .silhouette_area .slht_wrap.ran { left: 14%; bottom: 128px; }
	.fv .silhouette_area .slht_wrap.ran .slht { width: 89px; }

	/* 登場人物紹介 */
	#characters .cont_wrap { max-width: initial; }
	#characters .charas_list { justify-content: flex-start; }
	#characters .charas_list > li { width: 25%; }

}



@media only screen and (min-width:960px) {
	/* PC用記述 */
	a[href^="tel:"] { pointer-events: none; }
	a.fade:hover { opacity: .6; }
	
	.br4sp { display: none; }
	.br4pc { display: inline; }
	.forSP { display: none; }
	.forTB { display: none; }
	.forPC { display: block; }

	.pc_flex { display: flex; }

	/* ヘッダ */
	header,
	#page header {
		right: 30px;
		width: 350px;
		padding: 20px 0 0 0;
		box-sizing: border-box;
	}
	header.scrl { right: 104px; }
	header.scrl .logo,
	#page header .logo {
		max-width: 350px;
		width: 350px;
	}
	header.hide { transform: translate(0, 0); }

	/* ハンバーガー */
	.hamburger {
		cursor: pointer;
		transition: .3s;
	}
	.hamburger:hover { background-color: #f00; }
	.hamburger.close:hover { background-color: #fff; }
	.hamburger.close:hover .close::before,
	.hamburger.close:hover .close::after { background-color: #f00; }

	/* ドロワー */
	.drawer {
		right: -480px;
		width: 480px;
		padding: 130px 40px 84px;
		text-align: left;
		box-sizing: border-box;
		display: flex;
		align-items: flex-end;
	}
	.drawer .inner {
		max-width: initial;
		margin: 0;
	}
	.drawer.show { right: 0; }
	.drawer ul.notice { display: none; }
	.drawer ul.menu { margin-top: 0; }
	.drawer ul.menu li a:hover { color: #f00; }
	.drawer .btn_area {
		margin-top: 0;
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
	}
	.drawer .btn_area a.btn {
		border-radius: 0;
		padding: 16px 10px;
	}
	.drawer .btn_area a.btn:hover {
		color: #fff;
		background-color: #f00;
	}



	/* First View */
	.fv {
		min-height: 0;
		display: block;
	}
	.fv .silhouette_area {
		padding-bottom: 30px;
		min-height: 640px;
	}

	/* シルエット関連 start */
	/* 共通 */
	.fv .silhouette_area .slht_wrap:hover {
		z-index: 1000;
	}
	.fv .silhouette_area a.slht_btn {
		display: block;
		transition: .3s;
	}
	.fv .silhouette_area a.slht_btn:hover {
		transform: scale(1.08);
	}
	.fv .silhouette_area .slht_wrap { position: absolute; }
	.fv .silhouette_area .slht_wrap .slht { position: relative; }
		/* 吹き出し */
	.fv .silhouette_area .bln {
		text-align: center;
		width: 96px;
		height: 112px;
		box-sizing: border-box;
		padding-top: 32px;
		background: url(../images_2024/balloon.svg) center center / contain no-repeat;
		position: absolute;
		transform: translate(-50%, -100%) rotate(-180deg) scale(.5);
		transform-origin: center bottom;
		transition: .3s;
		opacity: 0;
		line-height: 1.25;
	}
	.fv .silhouette_area .bln.blnL {
		padding-top: 36px;
		width: 104px;
		height: 121px; 
	}
	.fv .silhouette_area .bln.blnLL {
		padding-top: 40px;
		width: 113px;
		height: 132px; 
	}
	.fv .silhouette_area .bln.blnLLL {
		padding-top: 48px;
		width: 124px;
		height: 144px; 
	}
	.fv .silhouette_area .slht_btn:hover .bln {
		transform: translate(-50%, -100%) rotate(0) scale(1);
		opacity: 1;
	}
	.fv .silhouette_area .bln .name {
		font-size: 16px;
		font-weight: 700;
	}
	.fv .silhouette_area .bln .kana {
		margin-top: 2px;
		color: red;
		font-size: 12px;
	}
	/*  個別キャラ */
	.fv .silhouette_area .abe_wrap .abe { width: 134px; }

	.fv .silhouette_area .abe_wrap .wave_1 {
		width: 22px;
		top: -7px;
		left: 50px;
	}
	.fv .silhouette_area .abe_wrap .wave_2 {
		width: 18px;
		top: 35px;
		right: 23px;
	}
	@keyframes sweat1mov {
		0%{
			opacity: 0;
			width: 7px;
			top: 5px;
			right: 40px;
			transform: rotate(-30deg);
		}
		100%{
			opacity: 1;
			width: 16px;
			top: -7px;
			right: 24px;
			transform: rotate(0);
		}
	}
	@keyframes sweat2mov {
		0%{
			opacity: 0;
			width: 7px;
			top: 26px;
			left: 57px;
			transform: rotate(30deg);
		}
		100%{
			opacity: 1;
			width: 13px;
			top: 34px;
			left: 48px;
			transform: rotate(0);
		}
	}	

	.fv .silhouette_area .abe_wrap { left: 49%; }
	.fv .silhouette_area .abe_wrap .bln { top: 0; left: 60%; }

	.fv .silhouette_area .slht_wrap.yu { left: 30%; bottom: 125px; }
	.fv .silhouette_area .slht_wrap.yu .slht { width: 109px; }
	.fv .silhouette_area .slht_wrap.yu .bln { top: -2px; left: 64%; }

	.fv .silhouette_area .slht_wrap.ino { right: 33%; bottom: 126px; }
	.fv .silhouette_area .slht_wrap.ino .slht { width: 88px; }
	.fv .silhouette_area .slht_wrap.ino .bln { top: -2px; left: 50%; }

	.fv .silhouette_area .slht_wrap.oba { left: 16%; bottom: 130px; }
	.fv .silhouette_area .slht_wrap.oba .slht { width: 135px; }
	.fv .silhouette_area .slht_wrap.oba .bln { top: -2px; left: 50%; }

	.fv .silhouette_area .slht_wrap.hime { right: 26%; bottom: 134px; }
	.fv .silhouette_area .slht_wrap.hime .slht { width: 87px; }
	.fv .silhouette_area .slht_wrap.hime .bln { top: -2px; left: 64%; }

	.fv .silhouette_area .slht_wrap.anju { right: 19%; bottom: 130px; }
	.fv .silhouette_area .slht_wrap.anju .slht { width: 118px; }
	.fv .silhouette_area .slht_wrap.anju .bln { top: 47px; left: 44%; }

	.fv .silhouette_area .slht_wrap.dmki { right: 4%; bottom: 126px; }
	.fv .silhouette_area .slht_wrap.dmki .slht { width: 150px; }
	.fv .silhouette_area .slht_wrap.dmki .bln { top: 36px; left: 50%; padding-top: 30px; }

	.fv .silhouette_area .slht_wrap.omo { left: 5%; bottom: 130px; }
	.fv .silhouette_area .slht_wrap.omo .slht { width: 74px; }
	.fv .silhouette_area .slht_wrap.omo .bln { top: 8px; left: 44%; }



	.fv .silhouette_area .slht_wrap.gyakuni { left: 13%; bottom: 134px; }
	.fv .silhouette_area .slht_wrap.gyakuni .slht { width: 104px; }
	.fv .silhouette_area .slht_wrap.gyakuni .bln { top: 2px; left: 44%; }

	.fv .silhouette_area .slht_wrap.ksbt { right: 2%; bottom: 135px; }
	.fv .silhouette_area .slht_wrap.ksbt .slht { width: 91px; }
	.fv .silhouette_area .slht_wrap.ksbt .bln { top: -2px; left: 20%; }

	.fv .silhouette_area .slht_wrap.natsu { left: 3%; bottom: 134px; }
	.fv .silhouette_area .slht_wrap.natsu .slht { width: 87px; }
	.fv .silhouette_area .slht_wrap.natsu .bln { top: -2px; left: 50%; }

	.fv .silhouette_area .slht_wrap.niji { right: 11%; bottom: 137px; }
	.fv .silhouette_area .slht_wrap.niji .slht { width: 64px; }
	.fv .silhouette_area .slht_wrap.niji .bln { top: -2px; left: 44%; }

	.fv .silhouette_area .slht_wrap.moe { left: 24%; bottom: 133px; }
	.fv .silhouette_area .slht_wrap.moe .slht { width: 84px; }
	.fv .silhouette_area .slht_wrap.moe .bln { top: -2px; left: 56%; }

	.fv .silhouette_area .slht_wrap.amazing { right: 17%; bottom: 135px; }
	.fv .silhouette_area .slht_wrap.amazing .slht { width: 141px; }
	.fv .silhouette_area .slht_wrap.amazing .bln { top: -2px; left: 56%; padding-top: 30px; }

	.fv .silhouette_area .slht_wrap.gondo { left: 33%; bottom: 126px; }
	.fv .silhouette_area .slht_wrap.gondo .slht { width: 96px; }
	.fv .silhouette_area .slht_wrap.gondo .bln { top: -2px; left: 56%; }

	.fv .silhouette_area .slht_wrap.iksg { right: 35%; bottom: 134px; }
	.fv .silhouette_area .slht_wrap.iksg .slht { width: 105px; }
	.fv .silhouette_area .slht_wrap.iksg .bln { top: -2px; left: 40%; }

	.fv .silhouette_area .slht_wrap.sora { right: 28%; bottom: 134px; }
	.fv .silhouette_area .slht_wrap.sora .slht { width: 72px; }
	.fv .silhouette_area .slht_wrap.sora .bln { top: -2px; left: 55%; }

	.scene_1,
	.scene_2 { display: none; }
	.scene_1.show,
	.scene_2.show { display: block; }

	/* シルエット関連 end */
	.fv .silhouette_area .btn_area a.btn { min-width: 300px; }
	.fv .silhouette_area .btn_area a.btn:hover { background-color: #000; }
	
	.fv .info_area { padding: 40px 20px; }
	.fv .info_area h2 { font-size: 21px; }

	/* コンテンツ部 */
	.cont { padding: 80px 0; }
	.cont_wrap,
	.lead_wrap,
	#page main > .cont > .cont_wrap {
		padding: 0 20px;
		max-width: 960px;
	}
	a.btn { min-width: 0; }
	a.btn:hover { background-color: #f00; }
	a.btn.btn_play { cursor: pointer; }

	/* #page */
	#page main > .cont { padding: 166px 0 120px; }
	#page main > .cont > .cont_wrap h1.page_ttl { font-size: 36px; }



	/* 次回予告 */
	#next { padding: 50px 0; }
	#next .next_cont {
		display: flex;
		column-gap: 25px;
		padding: 15px;
		background-color: #fff;
	}
	#next .next_cont .thumb {
		width: 36%;
	}
	#next .next_cont .txt_area {
		padding: 0 0 5px;
		flex: 1;
	}
	#next .next_cont .playlist_area {
		margin-top: 0;
		padding: 5px 0 5px 18px;
		width: 24%;
		border-left: solid 3px #eee;
	}
	#next .btns a.btn {
		width: 300px;
		margin: 0 auto;
	}
	#next .btns a.btn:hover {
		background-color: #f00;
		color: #fff;
	}
	
/* 「過去の作品」ページ */
.archives_list li { margin-top: 80px; }
.archives_list li:first-child { margin-top: 60px; }



	/* 告知枠 */
	.notice_list {
		display: flex;
		justify-content: center;
		column-gap: 30px;
	}
	.notice_list > li {
		margin-top: 0;
		max-width: 300px;
		box-sizing: border-box;
	}
	
	/* はじめに */
	#intro {
		padding: 120px 0 80px;
	}
	#intro .igrs .slht {
		width: 64px;
		position: relative;
	}
	#intro .igrs { right: calc((100vw - 960px) / 2 + 160px); }
	#intro .igrs .bln {
		right: -100px;
		top: -60px;
		padding-top: 27px;
	}
	#intro .igrs .bln::before { transform: translate(-2px, 0) rotate(72deg); }
	#intro .igrs .slht { width: 74px; }
	
	/* 登場人物紹介 */
	#characters .charas_list {
		justify-content: flex-start;
	}
	#characters .charas_list > li {
		padding-top: 40px;
		width: 20%;
	}
	.bizcard_wrap { width: auto; }

	/* 番組情報発信中！ */
	/* WEBアーカイブ */
	.pc_flex #sns,
	.pc_flex #archives {
		width: 50%;
		padding: 60px 0;
	}
	#sns .pc_inner,
	#archives .pc_inner { width: 480px; }
	#sns .pc_inner { margin-left: auto; }
	#archives .pc_inner {
		margin-right: auto;
		display: flex;
		justify-content: center;
}
	#sns .lead_wrap,
	#sns .cont_wrap,
	#archives .lead_wrap { padding: 0; }
	#sns .lead_wrap,
	#sns .cont_wrap { max-width: 350px; }

	/* 番組情報発信中！ */
	#sns ul.sns_list li a .sns_btn,
	#sns ul.sns_list li a .bln { transition: .3s; }
	#sns ul.sns_list li.x a:hover .sns_btn,
	#sns ul.sns_list li.line a:hover .sns_btn { background-color: #f00; }
	#sns ul.sns_list li a:hover .bln { color: #f00; }

	/* WEBアーカイブ */
	#archives ul.links li a:hover { color: #f00; }

	/* クレジットエリア */
	.credit_area {
		padding: 0 20px 180px;
	}
	.pc_flex.credit_up_area { justify-content: center; }
	.pc_flex.credit_up_area #cast,
	.pc_flex.credit_up_area #staff { min-width: 480px; }
	.credit_area .bldg.rpnghills_2 { width: 69px; }
	.credit_area .bldg.rpnghills_1 { width: 80px; }
	.credit_area .bldg.skytree { width: 50px; }
	.credit_area .bldg.tokyotower { width: 100px; }
	.credit_area .bldg.dng { width: 72px; }
	.credit_area::after { height: 112px; }

	/* フッタ */
	footer .logos {
		margin-top: 200px;
		display: flex;
		justify-content: center;
		align-items: center;
		column-gap: 80px;
	}
	footer .logos li { margin: 0; }
	footer .copy { margin-top: 160px; }
		



}
