@charset "utf-8";

/*
/*    CSS MENU
*/


/*
*********************************************************************************
/*
/* COMMENT-TYPE
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
COMMENT-M */


/*------------------------------------------------------------------------------
COMMENT-S */


/* COMMENT */


/*
*********************************************************************************
/*
/* outline
/*
/*******************************************************************************/

body {
	font-size: 2rem;
	position: relative;
}

body#frontpage:before {
	position: fixed;
	content: "";
	background: #fff url(../images/bg03.jpg) no-repeat center center / cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*
*********************************************************************************
/*
/* loading
/*
/*******************************************************************************/

.loading {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100svh;
	z-index: 500;
	background: var(--red);
	display: flex;
	align-items: center;
	justify-content: center;
	animation: fadeOut 1.5s 4s forwards;
}

@keyframes fadeOut {
	0% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

.loading_logo {
	opacity: 0;
	animation: logo_fade 2s 0.5s forwards;
	width: 40vw;
}

@keyframes logo_fade {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	60% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 1;
	}
}


/*
*********************************************************************************
/*
/* fuwa
/*
/*******************************************************************************/

.sa {
	opacity: 0;
	transition: all 0.9s ease;
}

.loaded .sa.show {
	opacity: 1;
	transform: none;
}

.loaded .sa--lr {
	transform: translate(-25px, 0);
}

.loaded .sa--rl {
	transform: translate(25px, 0);
}

.loaded .sa--up {
	transform: translate(0, 25px);
}

.loaded .sa--down {
	transform: translate(0, -25px);
}

.loaded .sa--scaleUp {
	transform: scale(0.5);
}

.loaded .sa--scaleDown {
	transform: scale(1.5);
}

.loaded .sa--rotateL {
	transform: rotate(180deg);
}

.loaded .sa--rotateR {
	transform: rotate(-180deg);
}

.loaded .sa--rotateL90 {
	transform: rotate(90deg);
}

.loaded .sa--rotateR90 {
	transform: rotate(-90deg);
}

.img_bg_block .inner {
	overflow: visible;
}


/*
*********************************************************************************
/*
/* header
/*
/*******************************************************************************/

header {
	background: var(--yellow);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
h_nav */

.h_nav {
	height: 50px;
	position: fixed;
	z-index: 50;
	width: 100%;
	top: 0;
	left: 0;
}

.hamburger {
	position: fixed;
	z-index: 56;
	width: 9vw;
	height: 9vw;
	right: 1.5vw;
	top: 1.5vw;
	border: 0.5vw solid var(--red);
	background: #fff;
}

.hamburger:before,
.hamburger:after,
.hamburger p:before {
	width: 4vw;
	height: 4px;
	background: var(--red);
	position: absolute;
	content: "";
	left: 50%;
	transition: 0.5s;
	translate: -50% -50%;
}

.hamburger:before {
	top: calc( 50% - 7px);
}

.hamburger:after {
	top: calc( 50% + 7px);
}

.hamburger > p {
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
}

.hamburger p:before {
	top: calc(50% - 0px);
	background: var(--red);
}

.hamburger.active:before,
.hamburger.active:after {
	rotate: 45deg;
	top: 50%;
}

.hamburger.active:after {
	rotate: -45deg;
}

.hamburger.active p:before {
	display: none
}


.h_nav_wrap {
	width: 100vw;
	height: 100svh;
	background: var(--yellow);
	margin: 0;
	padding: 0;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 55;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	display: none;
}

.h_nav .sns {
	position: absolute;
	width: 44px;
	height: 50px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	top: 0;
	left: 0;
}

.h_nav_container h1 {
	width: 111px;
	margin: 10px auto;
}

.h_nav_container h1 a {
	display: block;
}

.h_nav_wrap nav {
	text-align: center;
	padding: 30vw 10vw;
}

.h_nav_wrap a {
	text-decoration: none;
	display: block;
}

.h_nav_wrap .nav_li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
	font-size: 3rem;
}

.h_nav_wrap .nav_li a {
	font-family: var(--font-point);
	color: var(--red);
	font-size: 3rem;
	text-decoration: none;
	display: block;
	line-height: 1;
	padding: 3.5vw 0 3vw;
}

.h_nav_wrap .nav_logo a {
	width: 90%;
	display: block;
	margin: 0 auto 8vw;
	opacity: 1 !important;
}

.h_nav_wrap .sns_li {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 9vw;
	width: 22vw;
	margin: 5vw auto 0;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
mv_area */

.mv_side {
	padding: 0 5.5vw;
}

.mv_side .top_lead {
	text-align: center;
	line-height: 1.3;
	padding: 0 3vw;
	margin-top: -12vw;
	margin-bottom: 6vw;
}

.mv_side .top_lead .txt {
	font-size: 4.6rem;
	padding: 4vw 0 6vw;
	font-family: var(--font-point);
	font-weight: 700;
}

.mv_side .top_side_nav {
	display: none;
}

.mv_side .tp-movie {
	width: 100%;
	height: auto;
	display: block;
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1vw solid var(--red);
	border-radius: 4vw;
	margin-bottom: 6vw;
}

.mv_side .tp-movie a {
	display: block;
}

.mv_side .tp-movie div {
	width: 100%;
	height: auto;
	margin: 0;
	position: relative;
	background: #000;
	display: flex;
	justify-content: center;
	align-items: center;
}

.mv_side .tp-movie div::before {
	content: "";
	display: block;
	padding-top: 55%;
	position: relative;
	width: 100%;
}

.mv_side .tp-movie span {
	width: 16vw;
	height: 16vw;
	position: absolute;
	background: url(../images/side_play.png) no-repeat center center;
	background-size: contain;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.mv_side .tp-movie p {
	width: 100%;
	height: 100%;
	display: block;
	margin: 0;
	/* background: rgb(0 0 0 / 10%); */
	/* opacity: 0; */
	position: absolute;
	top: 0;
	left: 0;
}

.mv_side .tp-movie p {
	transition: all 0.2s linear;
	-webkit-transition: all 0.2s linear;
}

.mv_side .tp-movie div,
.mv_side .tp-movie div:after,
.mv_side .tp-movie span {
	-webkit-transition: all 0.4s cubic-bezier(0.37, 0.58, 0, 1);
	transition: all 0.4s cubic-bezier(0.37, 0.58, 0, 1);
}

.mv_side .top_side_sns_li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.mv_side .top_side_sns_li > li {
	width: 47.5%;
	background: #fff;
	border-radius: calc(1px / 0);
	overflow: hidden;
}

.mv_side #mv_movie {
	display: none;
}

.mv_movie_box {
	display: none;
}

.mv_movie_box.act {
	display: block;
}

.mv_area .bnr_area {
	margin-top: 9vw;
}


/*
*********************************************************************************
/*
/* footer + pagetop
/*
/*******************************************************************************/

.pagetop {
	position: fixed;
	bottom: 2vw;
	left: 2vw;
	z-index: 40;
	width: 10vw;
	height: 10vw;
	opacity: 0;
	pointer-events: none;
	transition: 0.5s;
}

.u_page .pagetop,
.js_overmv .pagetop {
	opacity: 1;
	pointer-events: auto;
}

footer {
	position: relative;
	padding: 8vw 5vw;
	background: var(--red);
	text-align: center;
}

body:not(#frontpage) footer {
	margin-top: 30vw;
}

footer .fbnr {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2vw;
	margin-top: 5vw;
}

footer small {
	position: relative;
	display: block;
	font-size: 1.2rem;
	text-align: center;
	color: #fff;
	margin-top: 7vw;
}


/*
*********************************************************************************
/*
/* module
/*
/*******************************************************************************/


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
text */

.long-hyphen {
	position: relative;
}

.long-hyphen:after {
	content: "";
	width: 3em;
	height: 1px;
	background: var(--color-main);
	display: inline-block;
	vertical-align: middle;
	margin-left: 0.3em;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
title */

.site_tl {
	font-weight: 700;
	font-size: 5rem;
	text-align: center;
	padding-bottom: 5vw;
	line-height: 1;
	font-family: var(--font-point);
}

.site_stl {
	font-weight: 700;
	font-family: var(--font-point);
	line-height: 1;
	text-align: center;
	font-size: 2.4rem;
	border-radius: 2vw;
	margin-top: 12vw;
	margin-bottom: 4vw;
	background: var(--yellow);
	color: var(--color-main);
	padding: 2.7vw 2vw 2vw;
}

.site_sstl {
	font-family: var(--font-point);
	color: var(--yellow);
	font-size: 1.8rem;
	margin-top: 7vw;
	line-height: 1.2;
	margin-bottom: 1.2vw;
	font-weight: 700;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
movie */

.movie_wrap {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.movie_wrap iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
}

.modaal-video-container {
	padding-bottom: calc(56.25% + 20vw + 6px) !important;
	box-shadow: none !important;
	background: none !important;
}

.moviepage {
	background: none !important;
	min-width: 100%;
}

.modaal-inner-wrapper {
	padding: 22vw 5vw 5vw;
	background: var(--yellow);
}

.modaal-close:after,
.modaal-close:before {
	height: 10vw;
	width: 2px;
	top: 50%;
	left: 50%;
	background: #fff !important;
}

button#modaal-close {
	width: 11vw;
	height: 11vw;
	right: 5vw;
	top: 5vw;
	background: none !important;
}

.modaal-close:before {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.modaal-close:after {
	transform: translate(-50%, -50%) rotate(45deg);
}

.modaal-overlay {
	background: var(--color01) !important;
	opacity: 0.95 !important;
}

.modaal-video-wrap {
	margin: auto auto;
	max-width: 1300px;
}

.moviepage_wrap {
	width: 100%;
	height: auto;
	display: block;
	margin: 0;
}

.moviepage_wrap .movie {
	width: 100%;
	display: block;
	margin: 0;
}

.moviepage_wrap #bt-wrap {
	width: 100%;
	height: auto;
	margin: 0;
	margin-top: 2vw;
}

.moviepage_wrap #bt-wrap > div {
	text-align: center;
	width: 100%;
}

.moviepage_wrap #bt-wrap a {
	text-decoration: none;
	display: block;
	padding: 0.9vw 0.6vw 0.3vw 0.6vw;
	border: 2px solid #000;
	font-size: 5vw;
	width: 100%;
	font-family: var(--font-point);
	font-weight: 700;
	background: #fff;
}

.moviepage_wrap #bt-wrap > div + div {
	margin-top: -2px;
}

.moviepage_wrap #bt-wrap .act a {
	background: var(--yellow);
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
block */


/*------------------------------------------------------------------------------
bnr_myanimelist */

.bnr_myanimelist {
	position: fixed;
	top: 50%;
	right: 0;
	transform: translate(0%, -50%);
	width: 12vw;
	height: 33vw;
	background: url(../images/mal_off.png) no-repeat right center /contain;
	z-index: 100;
	cursor: pointer;
	transition: 0.5s ease;
}

.bnr_myanimelist a {
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	height: 100%;
}


/*------------------------------------------------------------------------------
streaming */

#streaming {
	padding: 15vw 0;
	background: var(--yellow);
}

#streaming .streaming_li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

#streaming .streaming_li > li {
	width: 100%;
	text-align: center;
}

#streaming .streaming_li > li > a {
	text-decoration: none;
	display: block;
	padding-bottom: 0.5em;
	font-size: 2.9rem;
}

#streaming .btn_block {
	width: 40vw;
	margin: 7vw auto 0;
	display: block;
	background: #fff;
	overflow: hidden;
	border-radius: calc(1px / 0);
}


/*------------------------------------------------------------------------------
news */

#news {
	background: var(--red) url(../images/bg02.jpg) no-repeat center center /cover;
	padding: 15vw 0;
}

#news .site_tl {
	color: var(--yellow);
}

#news .news_li {
	display: grid;
	gap: 2vw;
	grid-template-columns: 1fr 1fr;
}

#news .news_li a {
	border: 0.5vw solid #fff;
	border-radius: 2vw;
	display: grid;
	text-decoration: none;
	grid-template-rows: auto auto auto 1fr;
}

#news .news_li li {
	display: grid;
}

#news .news_li .cat {
	color: var(--yellow);
	padding: 2vw 2.2vw 0.6vw;
	line-height: 1;
	font-size: 2.7rem;
	font-family: var(--font-point);
}

#news .news_li figure img {
	object-fit: cover;
	aspect-ratio: 3 / 1.7;
}

#news .news_li .tl {
	color: #fff;
	font-weight: 400;
	padding: 2.2vw;
	font-size: 1.4rem;
	line-height: 1.2;
}

#news .news_li .time {
	color: var(--yellow);
	text-align: right;
	font-size: 1.2rem;
	align-self: end;
	justify-self: end;
	padding: 0 2.2vw 1.2vw 0;
}

#news .btn_block {
	margin: 7vw auto 0;
	display: block;
	background: #fff;
	overflow: hidden;
	border-radius: calc(1px / 0);
	width: 40vw;
}

#news .btn_block a {
	width: 100%;
	display: block;
}


/*------------------------------------------------------------------------------
introduction */

#introduction {
	padding: 15vw 0;
}

#introduction .site_tl {
	color: var(--red);
}

#introduction .txt {
	font-weight: 700;
	font-family: var(--font-point);
	font-size: 2.3rem;
}


/*------------------------------------------------------------------------------
character */

#character {
	position: relative;
	padding: 15vw 0;
	overflow: hidden;
	background: var(--red);
}

#character:before {
	position: absolute;
	background: var(--yellow);
	width: 100%;
	top: -1px;
	left: 0;
	position: absolute;
	content: "";
	z-index: 0;
	height: 110vw;
	clip-path: polygon(0 0, 100% 0, 100% 50%, 0 100%);
}

#character:after {
	background: var(--color02);
	height: calc(100% - 20vw);
	width: 100%;
	bottom: 0;
	left: 0;
	position: absolute;
	content: "";
	z-index: -1;
}

#character > * {
	position: relative;
	z-index: 2;
}

#character .site_tl {
	color: var(--red);
}

#character .tl {
	color: #fff;
}

#character .thumbnail .slick-track {
	transform: unset !important;
	display: grid;
	gap: 1vw;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
	width: 100% !important;
}

#character .thumbnail .slick-track:before,
#character .thumbnail .slick-track:after {
	display: none;
}

#character .thumbnail-img {
	border-radius: 2vw;
	overflow: hidden;
	background: #fff;
	position: relative;
}

#character .thumbnail-img.slick-current {
	background: var(--yellow);
	transition: opacity .3s linear;
}

#character .slick-prev,
#character .slick-next {
	background: url(../images/arron_prev.png) no-repeat center center /contain !important;
	width: 10vw !important;
	height: 10vw !important;
	transform: inherit !important;
	top: 49vw !important;
	z-index: 10;
}

#character .slick-prev {
	left: -1vw !important;
}

#character .slick-next {
	right: -1vw !important;
	background-image: url(../images/arrow_next.png) !important;
}

#character .slick-prev:before,
#character .slick-next:before {
	display: none !important;
}

#character .prof_block {
	text-align: center;
}

#character .prof_block dt .name {
	font-family: var(--font-point);
	line-height: 1;
	font-size: 5rem;
	font-weight: 700;
	color: var(--yellow);
	padding-top: 5vw;
}

#character .prof_block .cv {
	color: var(--yellow);
	display: inline-block;
	line-height: 1;
	margin-bottom: 5vw;
	font-family: var(--font-point);
	font-weight: 700;
}

#character .prof_block .cv_tl {
	font-size: 2rem;
	vertical-align: middle;
	padding-right: 1vw;
	color: #fff;
}

#character .prof_block .txt {
	color: #fff;
}

#character .slick-slider.thumbnail {
	margin: 4vw auto 0;
	width: 100%;
}

#character .thumbnail-img {
	width: 100% !important;
}


/*------------------------------------------------------------------------------
staffcast */

#staffcast {
	background: var(--color-main);
	color: #fff;
	padding: 15vw 0;
	text-align: center;
}

#staffcast .site_tl {
	color: var(--yellow)
}

.staff_col a {
	text-decoration: none;
	position: relative;
	font-family: var(--font-point);
	color: #fff;
	line-height: 1.2;
	font-weight: 700;
	display: block;
}

.staff_col a.no-modal {
	pointer-events: none;
}

.staff_col .name {
	font-size: 2.8rem;
	font-weight: 700;
}

.staff_col .staff_hosoku {
	font-size: 1.8rem;
	padding-bottom: 1vw;
}

#staffcast .btn_com {
	margin: 1vw auto 0;
	width: 31vw;
	border-radius: calc(1px / 0);
	overflow: hidden;
}

.staff_col04 {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.mfp-content {
	padding: 10vw 0;
}

.mfp-container {
	padding-left: 5vw;
	padding-right: 5vw;
}

.mfp-close-btn-in .mfp-close {
	opacity: 1;
	width: 12vw;
	height: 12vw;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	padding: 0;
	margin: 0;
	position: absolute;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	display: inline-block;
	top: 0;
	right: 0;
}

.mfp-close-btn-in .mfp-close:before,
.mfp-close-btn-in .mfp-close:after {
	background: var(--red);
	position: absolute;
	content: "";
	width: 8vw;
	height: 0.5vw;
	top: 5.5vw;
	left: 2vw;
}

.mfp-close-btn-in .mfp-close:before {
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
}

.mfp-close-btn-in .mfp-close:after {
	transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
}

.comment_block .com_tl {
	font-family: var(--font-point);
	text-align: center;
	font-size: 2.4rem;
	padding-bottom: 2vw;
	line-height: 1.2;
}

.comment_block .txt {
	background: var(--red);
	border-radius: 2vw;
	color: var(--yellow);
	font-size: 1.4rem;
	padding: 5vw;
}

.comment_block .com_name02 {
	font-size: 4.7rem;
	color: var(--red);
}

.comment_block .com_name03 {
	font-size: 1.8rem;
	padding-bottom: 2vw;
}


/*------------------------------------------------------------------------------
videos */

#videos {
	padding: 15vw 0;
}

#videos .site_tl {
	color: var(--red)
}

#videos .videos_li li .img {
	width: 100%;
	height: auto;
	display: block;
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1vw solid var(--red);
	border-radius: 4vw;
	margin-bottom: 3vw;
	position: relative;
}

#videos .videos_li li a:hover {
	opacity: 1 !important;
}

#videos .videos_li a {
	display: block;
	text-decoration: none;
	text-align: center;
	font-family: var(--font-point);
	color: var(--red);
	font-size: 3.3rem;
}

#videos .videos_li .img:before {
	position: absolute;
	content: "";
	width: 16vw;
	height: 16vw;
	background: url(../images/video_play.png) no-repeat center center;
	background-size: contain;
	z-index: 1;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

#videos .videos_li li + li {
	margin-top: 5vw;
}


/*
*********************************************************************************
/*
/* UNDER-PAGE
/*
/*******************************************************************************/

body.u_page {
	position: relative;
}

body.u_page:before {
	background: var(--yellow) url(../images/bg04.jpg) no-repeat center top /cover;
	top: 0;
	left: 0;
	width: 100%;
	height: 100svh;
	position: fixed;
	content: "";
}

.u_tl {
	color: var(--red);
	font-family: var(--font-point);
	font-weight: 700;
	font-size: 5rem;
	text-align: center;
	line-height: 1;
	letter-spacing: 0.05em;
	margin-top: 10vw;
	border-top: 2px solid var(--color01);
	border-bottom: 2px solid var(--color01);
	padding: 2vw 0;
	margin-bottom: 6vw;
}

.u_stl {
	display: block;
	font-weight: 700;
	font-family: var(--font-point);
	color: var(--yellow);
	font-size: 2.8rem;
	text-align: center;
	line-height: 1;
	padding: 2.3vw 4vw 1vw;
	width: 100%;
	letter-spacing: 0.04em;
	background: var(--red);
	margin-bottom: 5vw;
	border-radius: 2vw;
	margin-top: 12vw;
}

.u_stl02 {
	display: block;
	font-weight: 700;
	font-family: var(--font-point);
	color: var(--yellow);
	font-size: 2.2rem;
	line-height: 1;
	padding: 2.3vw 4vw 1vw;
	width: 100%;
	letter-spacing: 0.04em;
	background: var(--red);
	margin-bottom: 5vw;
	border-radius: 2vw;
	margin-top: 8vw;
}

.u_sstl {
	font-weight: 700;
	font-family: var(--font-point);
	color: var(--red);
	font-size: 2.5rem;
	line-height: 1;
	width: 100%;
	margin-bottom: 2vw;
	margin-top: 5vw;
}

.u_lead {
	font-size: 2.6rem;
	font-weight: 700;
	font-family: var(--font-point);
	line-height: 1.1;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
NEWS */

.newspage_cat_li {
	margin-bottom: 7vw;
}

.newspage_cat_li a {
	display: block;
	font-weight: 700;
	font-family: var(--font-point);
	text-decoration: none;
	color: var(--red);
	font-size: 2.8rem;
	text-align: center;
	border: 1vw solid var(--red);
	border-radius: calc(1px / 0);
	line-height: 1;
	padding: 2vw 1vw 1vw;
	width: 100%;
	letter-spacing: 0.04em;
}

.newspage_cat_li .cr a {
	background: var(--red);
	color: var(--yellow);
}

.newspage_cat_li li + li {
	margin-top: 2vw;
}

.newspage_blockcon {
	background: #fff;
	border-radius: 3vw;
	padding: 5vw;
}

.newspage_blockcon + .newspage_blockcon {
	margin-top: 5vw;
}

.newspage_blockcon .time_box {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
}

.newspage_blockcon .cat {
	background: var(--red);
	color: var(--yellow);
	font-weight: 700;
	font-family: var(--font-point);
	line-height: 1;
	width: 23vw;
	text-align: center;
	padding: 1.4vw 1vw 0.2vw;
	border-radius: calc(1px / 0);
	letter-spacing: 0.04em;
}

.newspage_blockcon .time {
	padding-left: 1em;
	font-size: 1.9rem;
}

.newspage_blockcon .news_tl {
	color: var(--red);
	font-weight: 700;
	font-family: var(--font-point);
	font-size: 3.9rem;
	margin-top: 3vw;
	line-height: 1.1;
	padding-bottom: 2vw;
	border-bottom: 2px solid var(--red);
	margin-bottom: 5vw;
}

.newspage_blockcon figure + .txt {
	margin-top: 3vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
MUSIC */

.music_block .music_name_box {
	font-weight: 700;
	font-family: var(--font-point);
	color: var(--red);
	font-size: 2.8rem;
	text-align: center;
	border-radius: 2vw;
	line-height: 1;
	width: 100%;
	margin-bottom: 4vw;
}

.music_block .artist {
	font-size: 1.8rem;
	padding-top: 1vw;
}

.music_block .music_img li {
	overflow: hidden;
	border-radius: 3vw;
}

.music_block .music_img li + li {
	margin-top: 3vw;
}

.music_block .music_txt {
	margin-top: 6vw;
}

.music_block .music_kakomi {
	margin-top: 8vw;
	border: 1px solid #000;
	border-radius: 2vw;
	padding: 5vw;
}

.music_block .music_kakomi dl {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: flex-start;
}

.music_block .music_kakomi dt {
	color: var(--red);
	padding-right: 0.3em;
}

.music_block .btn_block {
	margin-top: 5vw;
}

.music_block .btn_block a {
	display: block;
	font-weight: 700;
	font-family: var(--font-point);
	color: var(--yellow);
	font-size: 2.2rem;
	text-align: center;
	line-height: 1;
	padding: 3.7vw 1vw 2.4vw;
	letter-spacing: 0.04em;
	background: var(--red);
	text-decoration: none;
	width: 40vw;
	margin: 0 auto;
	border-radius: 5vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
STREAMING */

.u_streaming_li {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	justify-content: space-between;
	margin-top: -4%;
}

.u_streaming_li > li {
	width: 48%;
	margin-top: 4%
}

.u_streaming_li > li > a {
	border: 2px solid #000;
	display: block;
	text-decoration: none;
	text-align: center;
	line-height: 1.2;
	font-family: var(--font-point);
	font-size: 2.9rem;
	padding: 3vw 2vw 1.2vw;
	border-radius: 2vw;
}


/*------------------------------------------------------------------------------
--------------------------------------------------------------------------------
GALLERY */

.gallery_li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin-top: -3%;
	text-align: center;
}

.gallery_li_con {
	width: 47%;
	margin-top: 3%;
}

.gallery_li a {
	display: block;
	text-decoration: none;
}

.gallery_li a .img img {
	width: 100%;
	aspect-ratio: 2 / 2.8;
	object-fit: cover;
}

.gallery_li .stl,
figcaption {
	padding-top: 2vw;
	font-weight: 700;
	font-family: var(--font-point);
	color: var(--red);
	font-size: 2.9rem;
	text-align: center;
}

figcaption {
	color: #000
}


/*
*********************************************************************************
/*
/* add css
/*
/*******************************************************************************/

.videos_gallery {
	display: none;
}

.js_modal_inner {
	width: 100%;
	height: 100vh;
	height: 100dvh;
	margin: 0 auto;
	pointer-events: none;
	display: flex;
	align-items: center;
}

.js_modal_content {
	pointer-events: auto;
	width: 90%;
	max-width: 900px;
	margin: 0 auto;
}

.js_modal_content .youtube {
	box-shadow: 0px 0px 14px -4px rgba(0, 0, 0, 1);
}

.js_modal_close {
	position: absolute;
	width: 10vw;
	aspect-ratio: 1/1;
	border-radius: 50%;
	top: 3vw;
	right: 3vw;
	z-index: 1000;
	cursor: pointer;
	pointer-events: auto;
}

.js_modal_close:before,
.js_modal_close:after {
	--deg: 45deg;
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50%;
	height: 2px;
	z-index: 1;
	transform: translate(-50%, -50%) rotate(var(--deg));
	background: var(--yellow);
}

.js_modal_close:after {
	--deg: -45deg;
}

:root .iziModal {
	box-shadow: none !important;
	pointer-events: none;
}

:root .iziModal-content {
	pointer-events: none;
}

:root .iziModal-wrap {
	pointer-events: none;
}

:root .iziModal-navigate {
	pointer-events: none !important;
	z-index: 1000 !important;
}

:root .iziModal-navigate-caption {
	display: none !important;
}

:root .iziModal-navigate > button {
	margin: 0 !important;
	width: 10vw;
	height: 10vw;
	pointer-events: auto;
	opacity: 1;
	top: 50%;
	transform: translateY(-50%);
}

:root .iziModal-navigate .iziModal-navigate-prev {
	left: 3vw;
}

:root .iziModal-navigate .iziModal-navigate-next {
	left: auto;
	right: 3vw;
}

.js_modal_inner .modal_img {
	border-radius: 2.6vw;
	overflow: hidden;
}

.js_modal_bg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 997;
	background-color: var(--red) !important;
}

.modal_image img {
	max-height: 90vh;
	max-width: 100%;
	width: auto;
	height: auto;
	display: block;
	margin: 0 auto;
}