/* ========== 共通 ========== */
html {
    font-family: 'Noto Serif JP', 'Oswald',"Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif, -apple-system,BlinkMacSystemFont, sans-serif;
	font-size: calc(100vw / 32); /*320px時に10px*/
    color:#333333;
    background-color: #ffffff;
    margin: 0 auto;
    padding: 0;
    min-width: 240px;

	scroll-behavior:smooth;
	-webkit-scroll-behavior:smooth;
	overscroll-behavior-y:contain;
	-webkit-overflow-scrolling: touch;
	overflow-y: scroll;

	opacity: 0;
}

body, header, section, footer {
    margin: 0;
    padding: 0;
}
h1,h2,h3,h4,h5 {
    margin: 0;
    padding: 0;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: top;
}
a {
	text-decoration: underline;
	color: #ff6666;
	-webkit-transition: all 0.5s;
	-webkit-transition-delay: 0;
	transition: all 0.5s;
	transition-delay: 0;
	opacity: 1;
}
a:hover {
	color: #999999;
}
body {
	font-size: 1.4em;
	overflow: hidden;
}


/* ========== ファーストビュー ========== */
header {
    position: relative;
    width: 100%;
	height: 24vw;
	height: initial;
	max-height: 24vh;
	background-color: rgba(11,61,146,1);
	z-index: 1000;
}

header h1 {
	position: fixed;
	display: block;
	width: 20%;
	z-index: 10;
	margin: 2%;
	transition: all 0.5s ease;
}
header h1:hover {
	opacity:0.8;
}
input#menu_btn_check {
	display: none;
}
label.menu_btn {
	position: fixed;
	top: 0;
	right: 0;
	width: 12%;
	height: 12vw;
	margin: 6% 4%;
	background-color: rgba(255,255,255,0.8);
	border-radius: 50%;
	z-index: 111;
}
label.menu_btn span {
	display: block;
	position: absolute;
	left: 20%;
	width: 60%;
	height: 4px;
	content: '';
	transition: all 0.2s ease-in-out;
	background-color: rgb(11,61,146);
}
label.menu_btn span:nth-of-type(1) {
	top: calc(30% - 2px);
}
label.menu_btn span:nth-of-type(2) {
	top: calc(50% - 2px);
}
label.menu_btn span:nth-of-type(3) {
	top: calc(70% - 2px);
}

#menu_btn_check:checked ~ label.menu_btn span:nth-of-type(1) {
	top:calc(50% - 2px);
	transform: rotate(135deg);
}
#menu_btn_check:checked ~ label.menu_btn span:nth-of-type(2) {
	transform: scale(0);
}
#menu_btn_check:checked ~ label.menu_btn span:nth-of-type(3) {
	top:calc(50% - 2px);
	transform: rotate(-135deg);
}

header nav {
	position: fixed;
	max-height: 100%;
	width: 100%;
	padding: 20%;
	box-sizing: border-box;
	opacity: 0;
	pointer-events: none;
	z-index: 110;

	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap:1em;

	transition: all 0.5s ease;
}
header nav::before {
	position: fixed;
	display: block;
	content: "";
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}
#menu_btn_check:checked ~ nav {
	pointer-events: all;
	opacity: 1;
}
header nav a {
	position: relative;
	font-family: 'Oswald', serif;
	font-size: 5vw;
	text-decoration: none;
	color: #fff;
	padding: 0.2em 1em;
	transform: scaleX(0);
	background-color: rgba(11,61,146,0.8);
	flex-grow: 1;
}
header nav a:hover {
	color: #fff;
}
#menu_btn_check:checked ~ nav a {
	transform: scaleX(1);
}
header nav a::after {
	position: absolute;
	display: block;
	content: "";
	top: 0%;
	left: 0%;
	width: 100%;
	height: 100%;
	border: solid 1px transparent;
	transition: all 0.5s ease;
}
header nav a:hover::after {
	border-color: #fff;
	transform: scale(0.95,0.9);
}
header h2 {
	position: absolute;
	display: block;
	width: 75%;
	top: 50%;
	left: 50%;
	right: 50%;
	transform: translate(-50%,-50%);
	mix-blend-mode: multiply;
}
header h3 {
	position: absolute;
	display: block;
	width: 100%;
	margin: auto;
	bottom: 0%;
	left: 0%;
	right: 0%;
	filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.8));
}
#main {
	display: block;
	position: relative;
    width: 100%;
	height: 142.85vw;
	margin-bottom: 40vw;
	background-size: contain;
	pointer-events: none;
}
#main0 {
	overflow: hidden;
}
#main1 {
	display: block;
	position: absolute;
	width: 120%;
	top: 18%;
	left:-24%;
	z-index: 10;
}
#main2 {
	display: block;
	position: absolute;
	width: 90%;
	top:14%;
	right:-34%;
	z-index: 11;
}
#main_sub {
	display: none;
}

#kv {
  display: block;
  background-color: #fff;
}
#kv div {
  position: relative;
}
#kv div img {
  width: 100%;
  margin: 0;
  pointer-events: none;
}
#kv div img:not(:first-child) {
  position: absolute;
  bottom: 0%;
}
#kv div img.text {
  width: 50%;
  left: 2%;
  bottom: 2%;
}
#kv div img.logo {
  width: 25%;
  right: 2%;
  bottom: 2%;
}

/* ========== 各セクション ========== */
article {
	background: url("../img/bg.jpg") bottom center ;
	overflow: hidden;
	background-size: cover;
	
}
article h3 {
	font-family: 'Oswald', serif;
	color: #fff;
	font-size: 4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
	padding: 2rem 0 0 1rem;
}
article h3::after {
	content:"_";
}
article h3 a {
	color: #fff;
	text-decoration: none;
}
section {
	position: relative;
	opacity: 0;
	padding: 4em 1em;
	z-index: 1;
}
#s_text {
	padding: 1em;
	background-color: #fff;
}
#s_text img {
	position: relative;
	z-index: 100;
}
/* ========== NEWS ========== */
#top #news {
	background-color: rgba(255,255,255,0);
}
#news {
	background-color: rgba(255,255,255,0.5);
}
#news a {
	position: relative;
	display: inline-block;
	color: rgb(11,61,146);
	text-decoration: none;
	font-weight: bold;
}
#news a::after {
	content: "";
	position: absolute;
	width: 0;
	height: 10px;
	background-color: #f66;
	transform: skewX(-25deg);
	transition: all 0.25s ease ;
	z-index: -1;
}
#news a::after {
	bottom: -5px;
	left: 0;
}
#news a:hover::before,
#news a:hover::after {
	width: 100%;
}
#news ul {
	position: relative;
	padding: 0;
}

#news li {
	position: relative;
	padding: 1em;
	margin-bottom: 4em;
	transition: all 1s ease;
	background-color: rgba(255,255,255,1);
}
#news li::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -10;
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
}
#news li::after {
	z-index: -12;
	position: absolute;
	content: "";
	bottom: 15px;
	right: 10px;
	left: auto;
	width: 50%;
	top: 80%;
	max-width:50%;

	transform: rotate(3deg);
}
#news li span {
	font-family: 'Oswald', serif;
	position: absolute;
	left:25%;
	top:-2em;
	padding: 0.5em 1em;
	color: #555555;
	background-color: rgba(255,255,255,1);
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
}
#news li:nth-child(1) span {
	transform: rotateZ(-3deg);
}
#news li:nth-child(2) span {
	top:-40%;
	transform: rotateZ(3deg);
}
#news li:nth-child(3) span {
	transform: rotateZ(0deg);
}


h3.btn_news a {
	position: relative;
	font-weight: normal;
	color: inherit;
}
h3.btn_news a::before {
	position: absolute;
	content: "";
	transform: none;
	height: 8px;
	width: 0%;

	bottom: 0;
	left: 0;
	background-color: #fff;
	transition: all 0.25s ease;
}
h3.btn_news a:hover::before {
	width: 100%;
}
h3.btn_news::after {
	content: "";
}
h3.btn_news a::after {
	content: "_";
	transition: all 0.25s ease;
}
h3.btn_news a:hover::after {
	color: transparent;
}

.entry p {
	margin-bottom: 1.5em;
}

.entry_date {
	display: inline-block;
	font-family: 'Oswald', serif;
	font-weight: normal;
	color: #555555;
	background-color: #fff;
	width: auto;
	padding: 0.5em 1em;
	margin: 0 5% -1%;
	border:solid 2px #ffffff;
	box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
}
.entry_title {
	position: relative;
	font-size: 1.25em;
	font-weight: bold;
	color: rgb(11,61,146);
	padding: 0.75em 1em;
	margin-bottom: 1em;
}
.entry_title::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #fff;
	box-shadow: 10px 10px 10px rgba(0, 0, 0, 0.1);
	z-index: -10;	
}
.entry_text {
	position: relative;
}
.entry_text img {
	display: block;
	margin: 2em auto;
}
.entry_link {
	text-align: right;
}
#top .entry_link a {
	color: #fff;
}

.banner {
	text-align: center;
}
.banner img:first-child {
	margin-bottom: 1em;
}

/* ========== ABOUT ========== */
#about {
	background-color: rgb(11,61,146);
	color: #fff;
}
#about p {
	position: relative;
	font-size: 1.8em;
	font-weight: bold;
	margin-bottom: 1em;
	text-align: center;
}
#about p:nth-of-type(2) {
	line-height: 1.6em;
}
#about rt {
	font-size: 0.25em;
}
#about span {
	position: relative;
	display: inline-block;
	color: rgb(11,61,146);
	z-index: 2;
}
#about span::before {
	position: absolute;
	display: block;
	content: "";
	top: 50%;
	left: 50%;
	width: calc(100% + 1em);
	height: 100%;
	background-color:#fff;
	z-index: -1;
	transform: skewX(-20deg) translate(-55%,-50%);
}

#about div {
	line-height: 2.6em;
}

/* ========== MOVIE ========== */
#movie {
	background-color: rgb(11,61,146);
	padding: 0em 0em 4em ;
	opacity: 1;
}
#movie::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 1;
}
#movie h3 {
	text-align: center;
}
.youtube_box {
	position: relative;
	padding-top:56.25%;
	margin-bottom: 1em;
		z-index: 1;

}
.youtube_box iframe {
	position: absolute;
	display: block;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
}

.movie_btn {
	position: relative;
	background-color: transparent;
	margin: 2em 0;
}
.movie_btn video {
	width: 100%;
	height: 100%;
	opacity: 0.6;
}
.movie_btn a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10;
	background: url(../img/play.svg) no-repeat center;
}
.movie_btn a:hover {
	opacity: 0.25;
}
/* ========== SCENE ========== */
#scene_box {
	position: relative;
	z-index: 1;
}
#scene_box h4 {
	font-size: 1.4em;
	font-family: unset;
	font-weight: bold;
}
#scene_box .slick-arrow {
	position: absolute;
	color: transparent;
	top: 0;
	width: 2em;
	height: 100%;
	z-index: 1;
	transition: ease 0.5s all;
}
#scene_box .slick-arrow:hover {
	opacity: 0.5;
}
#scene_box .slick-prev {
	left: 0;
}
#scene_box .slick-next {
	right: 0;
}
#scene_box .slick-prev::before ,
#scene_box .slick-next::before {
	content:"";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 1.5em;
	height: 1.5em;
	background-color: rgb(11,61,146);
	border-radius: 50%;
	transform: translate(-50%,-50%);
}
#scene_box .slick-prev::after ,
#scene_box .slick-next::after {
	content:"";
	position: absolute;
	top:50%;
	left: 46%;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0.4em 0.6em 0.4em 0;
	border-color: transparent;
	border-right-color: #ffffff;

	transform: translate(-50%,-50%);
}
#scene_box .slick-next::after {
	left: 54%;
	border-width: 0.4em 0 0.4em 0.6em;
	border-color: transparent;
	border-left-color: #ffffff;
}

/* ========== CHARACTER ========== */
#character {
	position: relative;
	padding: 0;
}

/* ========== STAFF&CAST ========== */
#staff ,
#cast {
	color: #000;
}
#staff * ,
#cast * {
	position: relative;
	z-index: 2;
}
#cast h3 ,
#staff h3 {
	padding: 0;
}
#staff::before ,
#cast::before {
	position: absolute;
	content:"";
	display: block;
	width: 100%;
	height: 100%;
	top:0;
	left:10vw;
	z-index: 1;
	background-color: rgba(256,256,256,0.25);
	transform: skewX(0deg) translateX(100%);
	transform-origin: left top;
	transition: ease 1s all;
}
#staff::before {
	left:0;
	right:10vw;
	transform: skewX(0deg) translateX(-100%);
	transform-origin: right top;
}
#staff.active::before {
	transform: skewX(-10deg);
}
#cast.active::before {
	transform: skewX(10deg);
}
#staff h4 {
	font-weight: bold;
	text-align: center;
	margin-bottom: 1em;
	color: rgb(11,61,146);
}
#staff h4 span {
	display: inline-block;
}
#cast dl ,
#staff dl {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	font-size: 0.8em;
	font-weight: normal;
	line-height: 1.25em;
}
#cast dt ,
#staff dt {
	font-weight: normal;
	width: 60%;
	margin-bottom: 2em;
	padding-right: 1em;
	box-sizing: border-box;
}
#cast dd ,
#staff dd {
	width: 40%;
	margin-bottom: 2em;
	box-sizing: border-box;
}
#staff dt.one {
	width: 100%;
	margin-bottom: 0.5em;
}
#staff dt.one + dd {
	width: 100%;
}
#staff dt.space ,
#staff dt.space + dd {
    margin-bottom: 0;
}
#cast h4 {
	display: block;
	width: 100%;
	margin: 2em 0em 2em;
	font-weight: bold;

}

/* ========== TWITTER ========== */
#twitter {
	padding:4em 1em;
}
#twitter-widget {
	margin: 0 3em;
}

/* ========== FOOTER ========== */
footer {
	position: relative;
	padding: 1em;
	background-color: #333333;
	color: #ffffff;
}
#link_box {
	display: grid;
	gap: 1em;
	margin-bottom: 1em;
}
#link_box a {
	display: block;
}
#copy {
	text-align: center; 
	font-size: 0.6em;
	line-height: 1em;
}

/* ========== Page ========== */
.page {
	background-color: rgba(255,255,255,0.5);
}
.page section {
	width: 100%;
	margin: 0;
	margin-bottom: 4em;
	padding: 0;
}
.page h4 {
	font-family: 'Oswald', serif;
	color: #000;
	font-size: 4rem;
	font-weight: 400;
	letter-spacing: 0.1em;
	margin-bottom: 1em;
}
.page h4 span{
	font-weight: bold;
}

#episodes.page h4 span {
    transform-origin: center;
	transform: scaleX(0.75);
}

#onair ul {
	margin: 1em 0;
}
#onair ul li {
	padding: 1em;
	border-top: solid 1px #fff;
	border-left: none;
	border-right: none;

	display: grid;
	grid-template-columns: 0.5fr 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 1em;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: flex-start;
}
#onair ul li:last-of-type {
	border-bottom: solid 1px #fff;
}
#onair ol {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 1em 1em;
	justify-content: center;
	align-content: center;
	align-items: stretch;
	margin: 1em 0 2em;
}
#onair ol li {
	position: relative;
	display: block;

    background-color: rgb(11 61 146);
    text-align: center;
    color: #fff;
    font-weight: bold;
}
#onair ol li::after {
	position: absolute;
	content: "";
	display: block;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	border: solid 2px rgb(11 61 146);
	transition: all 0.5s ease;
	pointer-events: none;
}
#onair ol li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 1em;
	width: 100%;
	height: 100%;
    color: #fff;
	text-decoration: none;
	text-align: center;
	box-sizing: border-box;

	pointer-events: none;
}
#onair ol li a.txt_l {
	font-size: 0.8em;
}
#onair ol li:hover::after {
/*	border-color: rgb(255 255 255);*/
	transform: scale(0.9,0.8);
}
#onair .att {
	font-size: 0.8em;
	margin-left: 2em;
	text-indent: -2em;
	grid-column: 1 / 4;
}
#onair .att_onair {
	font-size: 0.8em;
	text-align: right;
	grid-column: 1 / 4;
}

/* ----- エピソード ----- */
#episodes h4 {
	text-align: center;
}
#episodes nav {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1em;
	justify-items: center;
	align-items: center;
	margin-bottom: 4em;
}
#episodes nav a {
	font-family: 'Oswald',serif;
	display: flex;
	position: relative;
	background-color: rgb(11 61 146);
	color: #ffffff;
	border-radius: 50%;
	width: 2em;
	height: 2em;
	text-decoration: none;
	justify-content: center;
	align-items: center;
}
#episodes nav a.current {
	background-color: #fff;
	color: rgb(11,61,146);
	border: solid 1px rgb(11,61,146);
}
#episodes nav a.btn_no {
	pointer-events: none;
	background-color: transparent;
	color: rgb(11,61,146);
	border: solid 1px rgb(11,61,146);
}
#episodes nav a::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: solid 2px transparent;
	transition: all 0.25s ease;
}
#episodes nav a:hover:after {
	border-color: #fff;
	transform: scale(0.8);
}
/* 場面写 */
.slider-nav  {
	margin-top: 8px;
}
.slider-nav .slick-slide {
	opacity: 0.4;
	cursor: pointer;
}
.slider-nav .slick-center,
.slider-nav .slick-cloned.is-active-next {
	opacity: 1;
}
.slider-nav .slick-cloned {
	opacity: 0.4;
}

/* youtube */
.youtube_box input {
	display: none;
}
.youtube_box input:checked + label {
	opacity: 0;
	pointer-events: none;
}
.youtube_box label {
	position: absolute;
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	transition: all 0.5s ease;
}
.youtube_box video {
	position: relative;
	width: 100%;
	height: 100%;
	opacity: 1;
}
.youtube_box label::after {
	position: absolute;
	display: block;
	content: "";
	top:0;
	left:0;
	width: 100%;
	height: 100%;
	opacity: 0.5;
	background: url(../img/play.svg) no-repeat center;
}
/* ----- SPECIAL ----- */
#special section {
	padding-bottom: 4em;
	border-bottom: solid 1px #fff;
}
#special h4 {
	font-family: unset;
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
}
#special a:hover {
	opacity:0.5;
}
#special div {
	text-align: center;
}

#special ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-template-rows: 1fr;
	gap: 1em;
	justify-content: flex-start;
	align-content: flex-start;
	align-items: stretch;
}

.special_link {
	text-align: center;
}
.special_link a {
	position: relative;
	display: inline-block;
	font-size: 0.8em;
	color: #fff;
	background-color: rgb(11,61,146);;
	padding: 0.5em 1em;
	text-decoration: none;
}
.special_link a::after {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: solid 1px transparent;
	transition: all 0.25s ease;
}
.special_link a:hover::after {
	transform: scale(0.9,0.8);
	border-color: #fff;
}

/* ----- CALENDER ----- */
#calender section ,
#icon section {
	padding-bottom: 4em;
	border-bottom: solid 1px #fff;
}
#calender h4 ,
#campaign h4 ,
#gif h4 ,
#icon h4 ,
#cheer h4 {
	font-family: unset;
	font-size: 1.4em;
	font-weight: bold;
	text-align: center;
	position: relative;
}
#calender h4.mon {
	background-color: rgb(11,61,146);
	color: #fff;
	padding: 0.25em 0;
	font-weight: bold;
}
#calender h4.sep {
	color: rgb(11 61 146);
}
#calender h4.sep::before ,
#calender h4.sep::after {
	content:"";
	display: block;
	position: absolute;
	top:50%;
	left: 0;
	width: calc(50% - 3em);
	height: 1px;
	background-color: rgb(11,61,146);
}
#calender h4.sep::after {
	left: unset;
	right: 0;
}
#calender div ,
#icon div {
	text-align: center;
}
#calender ul ,
#icon ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
	margin-bottom: 2em;
}
#calender li ,
#icon li {
	position: relative;
	padding-top: 100%;
	border: solid 1px #fff;
	overflow: hidden;
}
#calender img ,
#icon img {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	object-fit: contain;
	transition: all 0.25s ease;
	transform: scale(0.8);
}
#calender li a:hover img ,
#icon li a:hover img {
	transform: scale(0.9);
}
#calender li a ,
#icon li a {
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
#calender li a::after ,
#icon li a::after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	border: solid 1px transparent;
	transition: all 0.25s ease;
}
#calender li a:hover::after ,
#icon li a:hover::after {
	border-color: #fff;
	transform: scale(0.95);
}

#campaign div {
	text-align: center;
	margin-bottom: 2em;
}
#campaign .att {
	text-align: left;
	font-size: 0.8em;
	margin: 1em 0 2em;
}
#campaign .att_txt {
	margin-top: 0.5em;
	padding-left: 2em;
	text-indent: -2em;
}
#campaign .btn {
	position: relative;
	display: inline-block;
	margin-top: 1em;
	padding: 0.5em 1em;
	color: #fff;
	background: linear-gradient(#00ACF2, #89dcfd);
	border: solid 2px #00ACF2;
	border-radius: 3em;
	box-sizing: border-box;
	text-decoration: none;
}
#campaign .btn::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #00000000;
	border-radius: 3em;
	transition: all 0.5s ease;
}
#campaign .btn:hover::after {
	background: #00000066;
}
#campaign .end {
	border-color: #999999;
	background: #aaaaaa;
}
#campaign .end::after {
	display: none;
}

#cheer div {
	text-align: center;
}
#cheer .txt {
	text-align: left;
	font-size: 0.8em;
	line-height: 1.75em;
	margin: 1em 0 2em;
}
#cheer .btn {
	position: relative;
	display: inline-block;
	margin: 1em auto 2em;
	padding: 0.5em 1em;
	color: #fff;
	background: linear-gradient(#00ACF2, #89dcfd);
	border: solid 2px #00ACF2;
	border-radius: 3em;
	box-sizing: border-box;
	text-decoration: none;
}
#cheer .btn::after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: #00000000;
	border-radius: 3em;
	transition: all 0.5s ease;
}
#cheer .btn:hover::after {
	background: #00000066;
}

#sample_list {
	display: grid;
	grid-template-columns: 1fr;
}
#sample_list img {
}

#gif h4 {
	font-family: unset;
}

/* ----- bddvd ----- */
#bddvd {
	font-size: 1.2rem;
	line-height: 1.5em;	
}
#bddvd h3 {
	font-size: 1.5em;
	font-weight: bold;
}
#bddvd h4 {
	font-family: unset;
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 1em;
}
#bddvd h5 {
	font-size: 1.25em;
	font-weight: bold;
	margin-bottom: 1em;
}
#bddvd p {
	margin-bottom: 1em;
	line-height: 2em;	
}
#bddvd p.spec {
	margin-left: 1em;
	text-indent: -1em;
	margin-bottom: 0em;
	line-height: 1.5em;	
}

#bddvd img {
	display: block;
	width: auto;
	max-width: 100%;
	margin: auto auto 1em;
}
#bddvd #sell_detail ,
#bddvd #sell_spec {
	font-size: 0.75em;
	margin-bottom: 2em;
}
#bddvd #sell_box p {
	line-height: 1em;

}


/* ========== on off ========== */
.sp {
    display: block;
}
.pc {
    display: none;
}
br.sp {
	display: inline;
}


/* ================================================== */
/* ==================== 800px以上 ==================== */
/* ================================================== */
@media (min-width: 800px) {
html {
	font-size: 62.5%; /* 10pxを基準に変更 */
}
header {
	height: 0;
}
header h1 {
	width: 12%;
	margin: 2%;
}
header .menu_btn {
	width: 8%;
	height: 8vw;
	margin: 2%;
}
header nav a {
	font-size: 2.8em;
	margin-top: 1em;
}
header h2 {
	width: 40%;
	transform: translate(-50%, -50%);
}
header h3 {
	width: 90%;
	max-width: 1920px;
	filter: drop-shadow(0 0 10px  rgba(0, 0, 0, 0.25));
}

nav.pc {
	width: 80%;
	max-width: 1920px;
}
article {
	margin: auto;
	font-size: 1.6em;
	background-size: cover;
}
article h3 {
	width: 80%;
	font-size: 10rem;
	margin-bottom: 1em;
	padding-left: 0;
	margin: 1em auto 0.25em;
	max-width: 1920px;
}
#top h3 {
	width: 100%;
}
#top #news h3 {
	padding-top: 0;
	margin-top: 0;
	margin-bottom: 1em;
}
section {
	width: 90%;
	margin: auto;
	padding-left: 5%;
	padding-right: 5%;
	box-sizing: border-box;
	max-width: 1920px;
}

#movie ,
#character,
#twitter {
	padding-left: 5%;
	padding-right: 5%;
}
#about h3 ,
#movie h3 {
	margin-top: 0;
}
#about p {
	font-size: 4.6rem;
	margin-bottom: 0.8em;
	word-break: break-all;
}
#about div {
	margin-top: 4em;
	line-height: 2.8em;
}
#about span::before {
	padding: 0.75em 0em;
	transform: skewX(-20deg) translate(-52%,-50%);
}


#cast::before {
	left: 5vw;
}
#staff::before {
	right: 5vw;
}
#staff h4 {
	text-align: left;
}

#twitter-widget {
    margin: 0 6em;
}
#link_box {
	grid-template-columns: 400px;
	justify-content: center;
	margin-bottom: 1em;
}
#copy {
	font-size: 1.2rem;
}

#onair ol {
	grid-template-columns: 1fr 1fr 1fr;
}

/* ----- bddvd ----- */
#bddvd {
	font-size: 1.6rem;
}

#sample_list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
}



}
/* ================================================== */
/* ==================== 1080px以上 ==================== */
/* ================================================== */
@media (min-width: 1080px) {
header {
	height: 0;
}
header nav {
	display: none;
}
header h1 {
	width: 160px;
	margin: 10px;
}
#top #logo {
	opacity:0;
}
#top #logo.active {
	opacity:1;
}
header .menu_btn {
	display: none;
	width: 60px;
	height: 60px;
	margin: 20px;
}
header nav a {
	font-size: 2em;
	margin-top: 1em;
}
header h3 {
	width: 80%;
}

#main_wrap {
	position: relative;
	display: flex;
}
#main {
	display: block;
	width: 50%;
	height: auto;
	margin-bottom: 0;
}

#kv div img:not(:first-child) {
}
#kv div img.text {
  width: 50%;
  left: 2%;
  bottom: 9em;
}
#kv div img.logo {
  width: 20%;
  right: 2%;
  bottom: 9em;
}

#main_sub {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: stretch;
	flex-grow: 1;
	flex-shrink: 1;
	gap: 1em;

	width: 100%;
	height: 6em;
	padding: 1em;
	background-color: rgba(255,255,255,0.75);
	text-align: center;
	box-sizing: border-box;
	z-index: 20;
}
#main_sub h2 img{
	height: 180px;
}
#main_sub h3 img{
	margin-bottom: 5vh;
}

.movie_btn {
	position: relative;
	width: 40%;
	height: 40vh;
	margin: auto;
}

/* ----- PCメニュー ----- */
#main_sub nav{
	font-family: 'Oswald', serif;
	font-size: 2em;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	justify-content: center;
	gap:0em 0.5em;
}
#main_sub nav a{
	position: relative;
	color: rgb(0,0,0);
	text-decoration: none;
	padding: 0.5em;
}
#main_sub nav a::first-letter{
	color: rgb(11,61,146);
}
#main_sub nav a::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background-color: rgb(11,61,146);
	transition: all 0.2s ease;
}
#main_sub nav a:hover::after{
	width: 100%;
}
/* ----- PC共通メニュー ----- */
nav.pc {
	font-family: 'Oswald', serif;
	width: 80%;
	margin: auto;

	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	padding: 0.5em 0;
	max-width: 1920px;
}
nav.pc a {
	position: relative;
	color: #fff;
	text-decoration: none;
	padding: 0.5em;
	filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.4));
}
nav.pc a::after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	border: solid 1px transparent;
	transition: all 0.5s ease;
}
nav.pc a:hover::after{
	border-color: #fff;
	transform: scale(0.9);
}

#s_text {
	display: none;
}
article {
	clear: both;
}
section {
	width: 80%;
	padding-left: 10%;
	padding-right: 10%;
}
section h3 {
	width: 100%;
}

.box2 {
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 1920px;
	margin: auto;
	padding-left: 5%;
}

#top #news {
    width: 90%;
    margin: 0;
	padding-left: 6%;
	padding-right: 6%;
}
#movie {
	display: none;
}
#character ,
#twitter {
	padding-left: 10%;
	padding-right: 10%;
}

#cast::before {
	left: 10vw;
}
#staff::before {
	right: 10vw;
}
#cast dt {
	width: 25%;
}
#cast dd {
	width: 25%;
}
#staff dt {
	width: 20%;
}
#staff dd {
	width: 30%;
	padding-right: 1em;
}

/* ---------- 別ページ ---------- */
#special ul {
	grid-template-columns: 1fr 1fr 1fr;
}
#calender ul {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
#icon h4 {
	text-align: left;
}

#icon ul {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* ========== on off ========== */
.sp {
    display: none;
}
.pc {
    display: block;
}
br.sp {
    display: none;
}

}
/* ================================================== */
/* ==================== 1920px以上 ==================== */
/* ================================================== */
@media (min-width: 1920px) {

}

/* ========== safari用 ========== */
@supports (-webkit-touch-callout: none) {

}
@media (min-width: 1080px) {
_::-webkit-full-page-media, _:future, :root
 #main_sub nav a {
	margin-right: 1em;
}
 #main_sub nav a:last-of-type {
	margin-right: 0em;
}
}

/* ========== firefox用 ========== */
@-moz-document url-prefix(){
#about rt {
	margin-bottom: -1em;
}
}
