@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Playfair+Display:400,700");

/* body
-------------------------- */
html {
	width: 100%;
	height: 100%;
	margin: 0 auto;
	overflow-x: auto;
}
body {
	width: 100%;
	height: auto;
	position: relative;
	color: #000;
	font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ",
		sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.6;
	letter-spacing: 0.025em;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	background: #fff;
}
* {
	box-sizing: border-box;
}
/* responsive
-------------------------- */
.spSet {
	display: none !important;
}
.pcSet {
	display: block !important;
}
/* base
-------------------------- */
a {
	color: #000;
	text-decoration: none;
}
a:hover {
	color: #999;
}
a,
a img,
.easing {
	transition: .3s ease-in-out;
	border: none;
	outline: none;
}
a img:hover {
	opacity: .5 !important;
}
::selection {
	background: #2d459b;
	color: #fff;
}
::-moz-selection {
	background: #2d459b;
	color: #fff;
}
/* clearfix
-------------------------- */
.cf {
	zoom: 1;
}
.cf:before,
.cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
.clear {
	clear: both;
	display: block;
	height: 1px;
	width: 1px;
	margin: 0;
	padding: 0;
	overflow: hidden;
}
/* layaout
-------------------------- */
#wrapper {
	width: 100%;
	/*max-width: 1400px;*/
	background: #fff;
	margin: 0 auto;
}
#index #wrapper {
	background: #fff;
}
.inner {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 0 2.5em 2.5em;
	text-align: center;
	position: relative;
}
#index .inner {
	padding: 2.5em;
}
#index section:last-of-type .inner {
	padding: 3em 2.5em 6em;
}
.box_full {
	width: 100%;
	position: relative;
	text-align: left;
}
.box_half {
	width: 50%;
	position: relative;
	float: left;
	text-align: left;
}
.box_one3rd {
	width: 30%;
	position: relative;
	float: left;
	text-align: left;
	border: 1px solid #ccc;
}
.box_one3rd:nth-of-type(3n + 1) {
	/*clear: both;*/
	margin-right: 3%;
}
.box_one3rd:nth-of-type(3n + 2) {
	margin-right: 1.5%;
	margin-left: 1.5%;
}
.box_one3rd:nth-of-type(3n) {
	margin-left: 3%;
}
h1 {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 54px;
	line-height: 1em;
	text-align: left;
}
h2 {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 36px;
	margin: 0 0 1em;
	text-align: center;
	line-height: 1.4;
}
h2 span {
	font-size: 30px;
	display: block;
}
h3 {
	font-weight: normal;
	margin: 0.5em 0 1em;
	font-size: 20px;
}
h4 {
	font-weight: normal;
	width: 100%;
	margin: 0;
	font-size: 20px;
}
h5 {
	font-weight: normal;
	width: 100%;
	margin: 0;
	font-size: 18px;
}
p {
	margin: 0.5em 0 0;
}
hr {
	border-top: 1px solid #444;
	margin: 1.5em 0;
}
hr.dot {
	border-top: 1px dotted #444;
	margin: 1.5em 0;
}
a.btn_wht {
	display: inline-block;
	min-width: 140px;
	max-width: 100%;
	height: 45px;
	padding: 0 20px;
	margin: 2.5em auto 0;
	border: 1px solid #fff;
	line-height: 45px;
	font-size: 14px;
	color: #fff;
	text-align: center;
}
a.btn_wht:hover {
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
}
.red {
	font-size: 10px;
	font-weight: bold;
	color: #fff;
	background: #ff0000;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 0.25em 0.5em;
	margin-left: 0.5em;
}
.blue {
	font-size: 10px;
	font-weight: bold;
	background: #2d459b;
	letter-spacing: 0.1em;
	line-height: 1;
	padding: 0.25em 0.5em;
	margin-left: 0.5em;
}
.bred_nav {
	width: 100%;
	text-align: left;
	font-size: 0;
	/*padding: 70px 0 50px;*/
	padding: 6.86% 0 4.9%;
}
.bred_nav li {
	display: inline-block;
	font-size: 14px;
}
.bred_nav li:after {
	content: " >";
	color: #000;
	padding: 0 0.25em;
}
.bred_nav li:last-of-type {
	color: #fff;
	text-shadow: 1px 0 0 gray, -1px 0 1px gray, 0 1px 0 gray,
		0 -1px 1px gray;
}
.bred_nav li:last-of-type:after {
	content: "";
}
/* header -------------------------- */
header {
	font-family: "Playfair Display", serif;
	font-weight: 400;
	width: 100%;
	z-index: 10;
	text-align: center;
}
header .inner {
	max-width: 1400px;
	height: 200px;
	padding: 0;
}
#index header .inner {
	height: 90px;
}
header h1 {
	position: absolute;
	top: 50px;
	left: 30px;
	width: 300px;
}
header h1 img {
	width: 100%;
	filter: brightness(0);
}
.sns {
	position: absolute;
	bottom: 140px;
	right: 130px;
	font-size: 0;
}
#index .sns {
	bottom: 30px;
}
.sns li {
	display: inline-block;
}
.sns li a {
	display: block;
	width: 20px;
	height: 20px;
	margin: 0 18px;
}
.sns li:nth-of-type(1) a {
	background: url("../_img/sns_facebook.png");
	background-size: contain;
	filter: brightness(0);
}
.sns li:nth-of-type(2) a {
	background: url("../_img/icon_x.png");
	background-size: contain;
	filter: brightness(0);
}
.sns li:nth-of-type(3) a {
	background: url("../_img/sns_instagram.png");
	background-size: contain;
	filter: brightness(0);
}
.sns li:nth-of-type(4) a {
	background: url("../_img/sns_youtube.png");
	background-size: contain;
	filter: brightness(0);
}
.sns li:nth-of-type(5) a {
	background: url("../_img/sns_note.png");
	background-size: contain;
	filter: brightness(0);
}
.sns li:hover {
	opacity: 0.5;
}
#nav_trigger,
#nav_trigger span {
	display: inline-block;
	transition: all 0.4s;
}
#nav_trigger {
	position: absolute;
	top: 0;
	right: 0;
	width: 90px;
	height: 90px;
	cursor: pointer;
	color: #fff;
	background: #2d459b;
	padding: 20px 25px;
	font-size: 12px;
}
#nav_trigger span {
	position: absolute;
	right: 25px;
	height: 2px;
	background: #fff;
}
#nav_trigger span:nth-of-type(1) {
	top: 40px;
	width: 40px;
}
#nav_trigger span:nth-of-type(2) {
	top: 50px;
	width: 30px;
}
#nav_trigger span:nth-of-type(3) {
	top: 60px;
	width: 20px;
}
nav {
	display: none;
	width: 100vw;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	background: rgba(0, 0, 0, 0.9);
	z-index: 1000;
}
nav ul {
	width: 58%;
	height: auto;
	margin: auto;
	padding: 10vw 0 0;
	margin-left: 42%;
}
nav ul li {
	display: block;
	margin: 0;
	padding: 0;
	text-align: left;
	font-size: 48px;
	line-height: 1.4;
}
nav ul li a {
	display: block;
	color: #fff;
}
nav ul.sns {
	position: static;
	padding: 50px 0 0;
	text-align: left;
}
nav ul.sns li a {
	display: block;
	width: 24px;
	height: 24px;
	margin: 0 48px 0 0;
}
nav .btn_close {
	width: 22%;
	display: block;
	line-height: 1;
	font-size: 14px;
	margin: 80px auto 0;
	padding: 60px 0 0;
	position: relative;
}
nav .btn_close:before,
nav .btn_close:after {
	content: "";
	width: 50px;
	height: 1px;
	background: #fff;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	margin: 0 auto;
}
nav .btn_close:before {
	transform: translateY(30px) rotate(-315deg);
}
nav .btn_close:after {
	transform: translateY(30px) rotate(315deg);
}
/* footer -------------------------- */
#to_top {
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 80px;
	display: none;
	background: #000;
	z-index: 999;
	opacity: 1;
	cursor: pointer;
}
#to_top:after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	top: 5px;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: rotate(-45deg);
}
#to_top:hover {
	opacity: 0.7;
}
footer {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 30px;
	text-align: center;
	font-size: 12px;
	color: #999;
}
footer ul li {
	display: inline-block;
	font-size: 14px;
	padding: 0 0.5em;
	margin: 0 0.5em;
}
footer ul.sns {
	position: static;
	padding: 45px 0;
	text-align: center;
}
footer ul.sns li {
	font-size: 0;
}
/* index_00 -------------------------- */
#anchor00 .inner {
	max-width: 1100px;
	padding: 0 2.5em;
}
#index #anchor00 .inner {
	max-width: 1400px;
	padding: 0;
}
#anchor00 #visualPC {
	float: right;
	width: 64%;
}
#anchor00 #visualPC img.tbSet {
	width: 100%;
}
#anchor00 #visualPC .movie_wrap {
	width: 100%;
	max-width: 896px;
	height: 0;
	position: relative;
	padding-bottom: 56.25%;
	margin: 0;
	overflow: hidden;
}
#anchor00 #visualPC .movie_wrap #mainV {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #444;
}
@media screen and (min-width: 1025px) {
	#anchor00 #visualPC img.tbSet {
		display: none;
	}
}
@media screen and (max-width: 1024px) {
	#anchor00 #visualPC .movie_wrap {
		display: none;
	}
}
#anchor00 h1 {
	position: absolute;
	top: 70%;
	left: 60px;
	width: 42%;
}
#anchor00 h1 img {
	width: 100%;
	filter: brightness(0);
}
/* index_01 -------------------------- */
#index #anchor01 .inner {
	padding: 10% 2.5em 2.5em;
}
#anchor01 .box_jkt {
	width: 56%;
	margin: 0 0.75em 0 0;
	padding: 10px;
	float: left;
	position: relative;
	z-index: 100;
}
#anchor01 .box_jkt:before {
	content: "";
	bottom: 0;
	right: 0;
	border-top: 5em solid transparent;
	border-right: 5em solid #2d459b;
	position: absolute;
	z-index: -10;
}
#anchor01 .box_jkt img {
	width: 100%;
	border: 1px solid #444;
	vertical-align: middle;
}
#anchor01 h3 {
	font-size: calc(1.108vw + 8.493px);
	/*17-24px*/
	line-height: 1.4;
	margin: 0.5em 0;
}
@media screen and (min-width: 1400px) {
	#anchor01 h3 {
		font-size: 24px;
		color: #000;
	}
}
#anchor01 h3 span {
	font-size: 58%;
	margin: 0 0 0.75em;
	display: block;
}
#anchor01 p {
	line-height: 1.4;
	margin: 1em 0 0 0;
}
#anchor01 .box_info {
	width: 100%;
	background: #2d459b;
	margin: 1em auto;
}
#anchor01 .box_inside {
	padding: 2em;
	display: flex;
	align-items: center;
	justify-content: center;
}
#anchor01 .box_inside h3 {
	display: inline-block;
	margin: 0;
	color: #fff;
}
#anchor01 .btn_wht {
	display: inline-block;
	flex-basis: auto;
	margin: 0 0 0 3em;
}
a.bnrBtn {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: baseline;
	width: 96%;
	max-width: 900px;
	margin: 30px auto;
	padding: 15px 30px;
	border: thick double rgba(45, 69, 155, .5);
	color: #eee;
	font-size: 24px;
	position: relative;
	z-index: 1;
}
a.bnrBtn:before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(135deg, #eee 0%, #2d459b 30%, #1f3480 70%, #eee 100%);
	z-index: -1;
}
a.bnrBtn:hover {
	filter: brightness(1.25);
}
a.bnrBtn span {
	font-family: "Playfair Display", serif;
	font-size: 34px;
	padding-right: .5rem;
	letter-spacing: .025em;
}
/* index_02 -------------------------- */
#anchor02 dl {
	text-align: left;
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
}
#anchor02 dl dt {
	float: left;
	width: 11em;
	font-size: 14px;
	padding: 0.25em 0 1.5em;
	position: relative;
}
#anchor02 dl dt:after {
	content: "";
	width: 3em;
	height: 1px;
	background: #666;
	position: absolute;
	top: 0.75em;
	right: 1em;
}
#anchor02 dl dd {
	float: left;
	width: calc(100% - 10em);
	padding: 0 0 1.5em;
}
/* index_03 -------------------------- */
.movie_wrap {
	width: 100%;
	max-width: 854px;
	height: 0;
	position: relative;
	padding-bottom: 56.25%;
	margin: 2.5em auto 5em;
	overflow: hidden;
}
.movie_wrap:last-of-type {
	margin: 2.5em auto;
}
.movie_wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border: 1px solid #444;
}
/* index_04 -------------------------- */
#anchor04 h2 {
	color: #fff;
}
#anchor04 {
	background: url("../_img/bg_other.jpg");
}
#anchor04 ul.flexBnr {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
}
#anchor04 ul li {
	width: 30%;
	margin: 0 1.5% 30px;
	/*float: left;*/
}
#anchor04 ul li img {
	width: 100%;
	max-width: 260px;
	display: block;
	margin: 0 auto;
}
#anchor04 ul li a {
	display: block;
}
/* topics -------------------------- */
#side_nav {
	width: 30%;
	float: left;
	padding: 16px 0;
}
#side_nav li {
	width: 100%;
	text-align: left;
	font-family: "Playfair Display", serif;
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
}
#side_nav li a {
	color: #999;
}
#side_nav li a:hover,
#side_nav li.current a {
	color: #000;
}
.sticky {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
}
main {
	width: 70%;
	float: left;
	text-align: left;
}
article {
	background: url("../_img/bg_line_wh.png") repeat-x left bottom;
	padding: 1em 0 3em;
	margin: 0 0 1.5em;
}
article:last-of-type {
	background: none;
	margin: 0 0 80px;
}
article:before,
article:after {
	content: "";
	display: table;
}
article:after {
	clear: both;
}
article h3 {
	margin: 0 0 1.5em;
	font-size: calc(0.632vw + 11.139px);
	/*15-20px*/
}
article p {
	font-size: calc(0.316vw + 9.569px);
	/*12-14px*/
	margin: 1em 0;
	line-height: 1.8;
}
@media screen and (min-width: 1400px) {
	article h3 {
		font-size: 20px;
	}
	article p {
		font-size: 14px;
	}
}
article p:last-of-type {
	margin-bottom: 0 !important;
}
article p a {
	font-size: 112%;
	background: linear-gradient(transparent 65%, #ddd 0%);
	padding: 0 0.5em 0 0.25em;
	letter-spacing: 0;
}
article .list_bg {
	background: rgba(0, 0, 0, .075);
	padding: 0.25em 0.5em;
}
article .list_bg li {
	display: inline-block;
}
article .list_bg li:after {
	content: " / ";
}
article .list_bg li:last-of-type:after {
	content: "";
}
p.note {
	margin: 2.5em 0 1em;
	color: #999;
}
article p.link_mv {
	margin: 2em 0 0;
}
article p.past {
	background: rgba(0, 0, 0, .1);
	padding: 0.25em 0.5em;
	margin: 0 0 0.5em;
	text-align: center;
}
article ul {
	font-size: calc(0.316vw + 9.569px);
	/*12-14px*/
	margin: 1em 0;
	/*background: rgba(255,255,255,.2);*/
}
@media screen and (min-width: 1400px) {
	article ul {
		font-size: 14px;
	}
}
article ul li {
	padding: 0.25em 0 0;
}
article ul li span {
	font-size: 78.5%;
	/*11px*/
	margin: 0 0 0 0.5em;
}
article a {
	color: #999;
}
article a:hover {
	color: #000;
}
article .movie_wrap {
	margin: 1.5em auto 0 !important;
}
article img {
	width: 45%;
	max-width: 300px;
	border: 1px solid #444;
}
article img.w_full {
	width: 100%;
	max-width: 1020px;
}
article img.f_right {
	float: right;
	margin: 0 0 0.5em 1em;
}
article img.f_left {
	float: left;
	margin: 0 1em 0.5em 0;
}
/* live -------------------------- */
#live main {
	width: 100%;
	float: none;
}
article table {
	width: 100%;
	font-size: calc(0.316vw + 9.569px);
	/*12-14px*/
	margin: 1em 0 0;
}
@media screen and (min-width: 1400px) {
	article table {
		font-size: 14px;
	}
}
article table th {
	background: rgba(255, 255, 255, 0.35);
	border: 1px solid #444;
	padding: 0.25em 0.5em;
	text-align: center;
}
article table td {
	background: rgba(255, 255, 255, 0.2);
	border: 1px solid #444;
	padding: 1em;
	vertical-align: middle;
}
article table td:nth-of-type(1),
article table td:nth-of-type(3),
article table td:nth-of-type(4) {
	text-align: center;
}
/* profile -------------------------- */
#profile main {
	width: 100%;
	float: none;
}
#profile article img {
	width: 100%;
	max-width: 800px;
	display: block;
	margin: 0 auto 20px;
}
/* discography -------------------------- */
#discography main {
	width: 100%;
	float: none;
}
#discography dl {
	width: 100%;
	margin: 15px 0;
}
#discography dl:before,
#discography dl:after {
	content: "";
	display: table;
}
#discography dl:after {
	clear: both;
}
#discography dt {
	width: 45%;
	float: left;
}
#discography dt img {
	width: 100%;
	display: block;
	margin: 0 0 30px;
}
#discography dd {
	width: 55%;
	float: right;
}
#discography dd ul {
	width: 100%;
	letter-spacing: 0;
	padding: 0 0 0 1em;
	margin: 0;
}
#discography dd ul.half {
	width: 50%;
	float: left;
}
/* 20th -------------------------- */
#_20th main {
	width: 100%;
	float: none;
}
#_20th_20260101 {
	text-align: center;
}
#_20th_20260101 img {
	width: 100%;
	max-width: 600px;
}

/* style
-------------------------- */
.f_ss {
	font-size: 85%;
}
.f_s {
	font-size: 92.5%;
}
.f_left {
	float: left !important;
}
.f_right {
	float: right !important;
}
.t_left {
	text-align: left !important;
}
.t_right {
	text-align: right !important;
}
.t_center {
	text-align: center !important;
}
.mt_em10 {
	margin-top: 1em !important;
}
.mt_em15 {
	margin-top: 1.5em !important;
}
.mt_em20 {
	margin-top: 2em !important;
}
.mb_em10 {
	margin-bottom: 1em !important;
}
.mb_em15 {
	margin-bottom: 1.5em !important;
}
.mb_em20 {
	margin-bottom: 2em !important;
}
.ml_em10 {
	margin-left: 1em !important;
}
.bdr_none {
	border: none;
}
.dsp_none {
	display: none;
}
.dsp_blk {
	display: block;
}
.idt_em1 {
	padding-left: 1em;
	text-indent: -1em;
}