/* ----------------------------------------------------------------
 01. Utility
----------------------------------------------------------------- */

/**
 * Reset
 */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
	border: 0;
	box-sizing: border-box;
	font-size: 100%;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
h1, h2, h3, h4, h5, h6, p ,li {
	font-feature-settings: 'palt';
	font-weight: 300;
	margin: 0;
	padding: 0;
}

blockquote:before, blockquote:after, q:before, q:after { content: none }
nav, ul, ol, dl { list-style: none }
blockquote, q { quotes: none }
a {
	background: transparent;
	box-sizing: border-box;
	color: inherit;
	display: block;
	font-size: 100%;
	margin: 0;
	padding: 0;
	text-decoration: none;
	vertical-align: baseline;
	outline: none;
}
input[type="text"]:focus {
  outline: none;
}

.mg0{margin:0px!important;}
.mgb0{margin-bottom:0px!important;}
.mgb1em { margin-bottom: 1em !important; }
.mgb2em { margin-bottom: 2em !important; }
.mgt0{margin-top:0!important;}
.mgr0{margin-right:0!important;}
.pd0{padding:0px!important;}
.pdb0{padding-bottom:0px!important;}
.pdr0{padding-right:0px!important;}
.pdt0{padding-top:0px!important;}

.tac{text-align:center!important;}
.tal{text-align:left!important;}
.tar{text-align:right!important;}
.taj { text-align: justify!important; }
.fwb{font-weight: 700 important;}
.fwn{font-weight:normal!important;}
.wsn{white-space:nowrap!important;}
.vam{vertical-align:middle!important;}
.vat{vertical-align:top!important;}
.vab{vertical-align:bottom!important;}
.dpb{display:block!important;}
.dpi{display:inline!important;}
.dpn{display:none!important;}
.dpib{display:inline-block!important;}
.psr{position:relative!important;}
.fll{float:left!important;}
.flr{float:right!important;}
.clb{clear:both;}
.tdu{text-decoration:underline;}
.bdn{border:none!important;}
.lh0 { line-height: 0;}
.lh1_6{line-height:1.6;}
.lh1_8{line-height:1.8;}
.ovfh{overflow:hidden;}
.ovfx{overflow-x: hidden;}
input[type="text"], 
input[type="password"], 
textarea, 
select {
    outline: none;
}
*:focus {
  outline: none;
}

.ul_disc {
	margin: auto;
}
.ul_disc li {
	list-style: disc;
	list-style-position: outside;
	margin: 0 0 .5em 20px;
}
.ul_disc li:last-child {
	margin: 0 0 0 20px;
}




/* font setting */

.fwb {font-weight: 700;}
.lsn {letter-spacing: normal !important;}

.lato {
	font-family: 'Lato', ryo-gothic-plusn , sans-serif;
	font-weight: 900;
	letter-spacing: 0.13em;
}

small { font-size: 80%; }

section:after ,
.clearfix:after	{
	content: ".";
	display: block;
	visibility: hidden;
	height: 0.1px;
	font-size: 0.09em;
	line-height: 0;
	clear: both;
}
.fc_red {
	color: #af0402;
}




/* button */

.btn_01 {
	background: url(../img/bg_blue.png) repeat;
	background-size: 6px;
	border: none;
	border-radius: 40px;
	color: #fff;
	display: block;
	font-size: 3.3vw;
	font-weight: 700;
	line-height: 40px;
	margin: auto;
	position: relative;
	text-align: center;
	width: 94%;
}
.btn_grayout {
	background: #ccc;
	background-size: 6px;
	border: none;
	border-radius: 40px;
	color: #fff;
	display: block;
	font-size: 3.3vw;
	font-weight: 700;
	line-height: 40px;
	margin: auto;
	position: relative;
	text-align: center;
	width: 94%;
}
.btn_01.btm {
	margin-bottom: 30px;
}
.btn_01:after {
	height: 8px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	content: "";
	position: absolute; top: calc(50% - 5px); right: 7%;
	transform:rotate(-45deg);
	width: 8px;
}
.btn_01.login_top {
	background: #fff;
	border: solid 4px #0d348b;
	box-sizing: border-box;
	line-height: 34px;
	color: #252525;
}
.btn_01.color2 {
	background: none;
	border: solid 2px #0d348b;
	color: #252525;
}
.btn_01.login_top:after,
.btn_01.color2:after{
	height: 8px;
	border-bottom: solid 2px #252525;
	border-right: solid 2px #252525;
	content: "";
	position: absolute; top: calc(50% - 5px); right: 7%;
	transform:rotate(-45deg);
	width: 8px;
}
.btn_01.size2 {
	line-height: 25px;
}
.btn_01.size3 {
	width: 50%;
}
.btn_01.size4 {
	width: 80%;
}

@media only screen and (min-width: 768px) {
		.btn_01 {
			transition:all .3s ease-in-out;
		}
		.btn_grayout {
			font-size: 20px;
			width: 580px;
		}
		.btn_01:hover {
			box-shadow: 0 4px 1px rgba(0,0,0,.2);
			color: #fff !important;
			transform: translate(0px,-4px);
			transition:all .3s ease-in-out;
		}
		.btn_01.color2:hover {
			color: #252525 !important;
			opacity: 0.6;
		}
		.btn_01.login_top {
			line-height: 40px;
		}
		.btn_01.login_top:hover {
			color: #252525 !important;
		}
		.btn_01.size2 {
			border-radius: 30px;
			font-size: 14px;
			line-height: 30px;
			width: 140px
		}
		.btn_01.size3,
		.btn_01.size4 {
			border-radius: 20px;
			font-size: 14px;
			line-height: 40px;
			width: 300px
		}
}



.img100 {
	width: 100%;
}


.move,
.move:hover {
	transition:all .3s ease-in-out;
}
.move2,
.move2:hover {
	transition:all 0.6s ease-in-out;
}
.move3,
.move3:hover {
	transition:all 1.1s ease-in-out;
}

.link_line {
	text-decoration: underline;
}
.link_line:hover {
	opacity: 0.6;
}

.list_disc li {
	list-style: disc outside;
	margin: 0 0 5px 25px;
}
.list_disc li:last-child {
	margin-bottom: 0;
}
.list_caution {
	margin: 0 0 2em;
}
.list_caution li {
	margin: 0 0 5px;
	padding: 0 0 0 1em;
	position: relative;
}
.list_caution li:before {
	content: "※";
	position: absolute; top: 0; left: 0;
}
.list_caution li:last-child {
	margin-bottom: 0;
}
.list_num li {
	list-style: decimal outside;
	margin: 0 0 5px 25px;
}
.list_num li:last-child {
	margin-bottom: 0;
}

.hidden_box {
	-webkit-transform: translateY(20px);
	-moz-transform: translateY(20px);
	transform: translateY(20px);
	opacity: 0;
}


/* ==== General settings ====*/


.only_pc {
	display: none;
}
.only_sp {
	display: inherit;
}
@media only screen and (min-width: 768px) {
  .only_pc {
    display: inherit;
  }
  .only_sp {
    display: none;
  }
	.op_01 {
		transition:all .15s ease-in-out;
	}
	.op_01:hover {
		opacity: 0.6;
		transition:all .3s ease-in-out;
	}
}


li.air{
	height: 0;
	list-style: none !important;
	margin-top: 0;
	margin-bottom: 0 !important;
	padding-bottom: 0;
	padding-top: 0;
}


/* ========== 共通設定 */

.all_wrap {
	position: relative;
}

.container {
	overflow: visible;
	padding: 30px 0 0;
	position: relative;
}
@media only screen and (min-width: 768px) {
		.container {
			padding: 30px 0 0;
		}
}

.pagettl_wrap {
	margin: 0 auto 25px;
	padding: 0 0 15px;
	position: relative;
	text-align: center;
	width: 94%;
}
.pagettl_wrap:after {
	background: #252525;
	content: "";
	height: 1px;
	position: absolute; left: calc(50% - 10px); bottom: 0;
	width: 20px;
}
.pagettl_wrap .pagettl {
	font-size: 6.6vw;
	line-height: 1.2;
}
.pagettl_wrap .secondttl {
	font-size: 6.6vw;
	line-height: 1.2;
}
.pagettl_wrap .pagettl.magazine span,
.pagettl_wrap .pagettl.fukusta span,
.pagettl_wrap .pagettl.newspaper span,
.pagettl_wrap .pagettl.douga span,
.pagettl_wrap .pagettl.machiuke span {
	padding: 0 0 0 1.3em;
	position: relative;
}
.pagettl_wrap .pagettl.magazine span:after,
.pagettl_wrap .pagettl.fukusta span:after,
.pagettl_wrap .pagettl.newspaper span:after,
.pagettl_wrap .pagettl.douga span:after,
.pagettl_wrap .pagettl.machiuke span:after {
	background: url("../img/icn_magazine.png") no-repeat;
	background-size: contain;
	content: "";
	height: 1em;
	opacity: .92;
	position: absolute; left: 0; top: 5%;
	width: 1em;
}
.pagettl_wrap .pagettl.fukusta span:after {
	background: url("../img/icn_fukusta.png") no-repeat;
	background-size: contain;
	top: 14%;
}
.pagettl_wrap .pagettl.newspaper span:after {
	background: url("../img/icn_newspaper.png") no-repeat;
	background-size: contain;
	top: 3%;
}
.pagettl_wrap .pagettl.douga span:after {
	background: url("../img/icn_douga.png") no-repeat;
	background-size: contain;
	top: 14%;
}
.pagettl_wrap .pagettl.machiuke span:after {
	background: url("../img/icn_matiuke.png") no-repeat;
	background-size: contain;
	top: 14%;
}
@media only screen and (min-width: 768px) {
		.pagettl_wrap {
			margin: 0 auto 60px;
			max-width: 1000px;
			padding: 0 0 30px;
			position: relative;
			width: 94%;
		}
		.pagettl_wrap:after {
			background: #252525;
			content: "";
			height: 1px;
			position: absolute; left: calc(50% - 20px); bottom: 0;
			width: 40px;
		}
		.pagettl_wrap .pagettl {
			font-size: 30px;
			line-height: 1.2;
		}
		.pagettl_wrap .secondttl {
			font-size: 30px;
			line-height: 1.2;
		}
}

.pager {
	margin: 0 auto 30px;
	text-align: center;
	width: 94%;
}
.pager span,
.pager a {
	background: #252525;
	border-radius: 30px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-size: 3.3vw;
	font-family: lato , sans-serif;
	height: 30px;
	line-height: 30px;
	margin: 0 5px;
	text-align: center;
	width: 30px;
}
.pager a {
	background: #fff;
	border: solid 1px #ccc;
	color: #252525;
}
@media only screen and (min-width: 768px) {
		.pager {
			margin: 0 auto 60px;
			max-width: 1000px;
		}
		.pager span,
		.pager a {
			border-radius: 40px;
			font-size: 14px;
			height: 40px;
			line-height: 40px;
			margin: 0 10px;
			transition:all .3s ease-in-out;
			width: 40px;
		}
		.pager a:hover {
			background: #ccc;
			color: #fff;
			transition:all .3s ease-in-out;
		}
}


/* ========== 画像を読み込んでから表示 */
#loader{
    width: 16px;
    height: 16px;
    display: none;
    position: fixed; top: calc(50% - 8px); left: calc(50% - 8px);
    z-index: 10000 !important;
}
#loader img {
	height: auto;
	width: 100%;
}
#fade{
    width: 100%;
    height: 100%;
    display: none;
    background-color: #fff;
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 9999 !important;
}
@media only screen and (min-width: 768px) {
		#loader{
				width: 20px;
				height: 20px;
				display: none;
				position: fixed; top: calc(50% - 10px); left: calc(50% - 10px);
				z-index: 10000 !important;
		}
		#loader img {
			height: auto;
			width: 100%;
		}
}




/* ========== アプリをダウンロード */

.app_wrap {
	align-content: center;
	background: #dfdfdf;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 5% 2.5% 2.5%;
	position: fixed; left: 0; bottom: 0;
	width: 100%;
}
.app_wrap .txt {
	flex-basis: auto;
	font-size: 3.4vw;
	font-weight: 700;
	width: 57%;
}
.app_wrap .bnr {
	flex-basis: auto;
	line-height: 0;
	width: 32%;
}
.app_wrap .bnr img {
	height: auto;
	width: 100%;
}
.app_wrap .closebtn {
	background: none;
	border: none;
	height: 20px;
	position: absolute; top: 5%; right: 2%;
	width: 20px;
}
.app_wrap .closebtn:before,
.app_wrap .closebtn:after {
	background: #252525;
  height: 1px;
  content: "";
  position: absolute; top: calc(50% - 1px); right: 0%;
  transform:rotate(-45deg);
  width: 20px;
}
.app_wrap .closebtn:after {
  transform:rotate(-135deg);
}
@media only screen and (min-width: 768px) {
		.app_wrap {
			display: none;
		}
}



html {
  visibility: hidden;
}
html.wf-active {
  visibility: visible;
}



/* ==== Structure ====*/
body {
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	color: #303030;
	font-family: ryo-gothic-plusn, sans-serif;
	font-size: 4.25vw;
	font-feature-settings : "palt";
	font-weight: 300;
	hyphens: auto;
	line-height: 1.6;
	min-height: 100%;
	overflow-x: hidden;
	overflow-wrap: break-word;
	position: relative;
}
body.login {
	background:#eaedef;
}
body.drawer-open .content_wrap {
	pointer-events: none;
}
body.drawer-open {
	overflow: hidden !important;
}
@media only screen and (min-width: 768px) {
		body {
			font-size: 16px;
			width: 100%;
		}
}
		@media screen and (-webkit-min-device-pixel-ratio: 0) and (min-resolution: .001dpcm) {
		body {
			font-size: 18px;
		}
		}




/* ==== Header ====*/

.header {
	background: #fff;
	height: 70px;
	position: fixed; left: 0; top: 0;
	z-index: 1001;
	width: 100%;
}
.header .inner {
	background: #fff;
	box-sizing: border-box;
	padding: 14px 3% 14px;
	position: relative;
	width: 100%;
}
.logo {
	width: 61%;
}
.logo img {
	max-height: 42px;
	max-width: 100%;
	width: auto
}
.header .line {
	background: #fff;
  bottom: 0;
	height: 10px;
	position: absolute;
	width: 100%;
}
.header .line:before,
.header .line:after {
	background: #af0402;
	content: "";
	height: 2px;
	position: absolute; top: 2px; left: 0;
	width: 100%;
	z-index: 1;
}
.header .line:after {
	background: #0d348b;
	position: absolute; top: 6px; left: 0;
}
.login_head {
	background: url("../img/icn_login.png") no-repeat;
	background-position: center 0;
	background-size: 16px;
	font-size: 3.3332vw;
	height: auto;
	padding: 24px 0 0;
	position: absolute; right: 60px; top: 12px;
	text-align: center;
}

/* ログイン */
.header.login {
	background: #252525;
	color: #fff;
}
.header.login .inner {
	background: #252525;
	height: 70px;
}
.header.login .login_head {
	background: url("../img/icn_login_whi.png") no-repeat;
	background-position: center 0;
	background-size: 16px;
	position: absolute; right: inherit; left: 3%; top: 12px;
}
.header.login .logo {
	padding: 1px 0 0;
	position: absolute; top: 1px; left: 19.5%;
	text-align: center;
}
.header.login .logo img {
	max-height: 54px;
}
.header .memberlink_wrap {
	display: none;
}
.header .memberinfo {
	display: none;
}
@media only screen and (min-width: 861px) {
		.header {
			background: #fff;
			display: block;
			height: 112px;
		}
		.header .inner {
			box-sizing: border-box;
			margin: auto;
			max-width: 1300px;
			min-height: 110px;
			padding: 18px 0 22px;
			width: 90%;
		}
		.logo {
			max-width: 350px;
			padding: 10px 0 0;
			width: 36%;
		}
		.logo img {
			max-height: inherit;
		}
		.header .line {
			background: #fff;
			height: 10px;
			position: relative;
			width: 100%;
			z-index: -1;
		}
		.header .line:before,
		.header .line:after {
			background: #af0402;
			content: "";
			height: 2px;
			position: absolute; top: 2px; left: 0;
			width: 100%;
			z-index: -1;
		}
		.header .line:after {
			background: #0d348b;
			position: absolute; top: 6px; left: 0;
		}
		
		/* ログイン */
		.header.login {
			height: 160px;
		}
		.header.login .inner {
			height: 150px;
			min-width: 1010px;
		}
		.header.login .login_head {
			background: url("../img/icn_login_whi.png") no-repeat;
			background-position: center 0;
			background-size: 16px;
			position: absolute; right: inherit; left: 3%; top: 12px;
		}
		.header.login .logo {
			position: absolute; top: 15px; left: 0%;
			text-align: left;
			z-index: 1000;
		}
		.header .memberlink_wrap {
			color: #ccc;
			display: block;
			font-size: 12px;
			letter-spacing: 0.06em;
			line-height: 17px;
			position: relative; right: 465px; top: 54px;
			text-align: right;
			z-index: 100;
		}
		_:-ms-fullscreen, :root .header .memberlink_wrap {
			line-height: 26px;
		}
		.header .memberlink_wrap a:hover {
			opacity: 0.6;
		}
		.header .memberlink_wrap .mypage {
			background: url("../img/icn_mypage.png") no-repeat;
			background-size: 16px;
			display: inline-block;
			padding: 0 0 0 25px;
		}
		.header .memberlink_wrap .faq {
			background: url("../img/icn_faq.png") no-repeat;
			background-size: 17px;
			border-right: solid 1px #ccc;
			display: inline-block;
			margin: 0 15px 0 0;
			padding: 0 15px 0 25px;
		}
		.header .memberinfo {
			background: rgba(255,255,255,.05);
			border-radius: 15px;
			color: #ccc;
			font-size: 12px;
			height: 30px;
			line-height: 30px;
			display: block;
			padding: 0 20px;
			position: absolute; top: 15px; right: 0px;
			text-align: center;
			z-index: 100;
		}
		_:-ms-fullscreen, :root .header .memberinfo {
			line-height: 38px;
		}
		.header .memberinfo span {
			background: #fff;
			color: #252525;
			display: inline-block;
			font-size: 10px;
			font-weight: 700;
			line-height: 14px; 
			margin: 0 10px 0 0;
			padding: 0 4px;
		}
		_:-ms-fullscreen, :root .header .memberinfo span {
			height: 16px;
			line-height: 24px; 
		}
		.header .memberinfo small {
			color: #ffff00;
			font-size: 75%;
			padding: 0 10px 0 0;
		}
}
@media only screen and (min-width: 862px) {
		.header.login .logo img {
			max-height: 90px;
			width: auto;
		}
}
@media only screen and (min-width: 1100px) {
		.header.login .logo img {
			max-height: 120px;
			width: auto;
		}
}




@media only screen and (min-width: 700px) {
		.login_head {
			font-size: 14px;
		}
}
@media only screen and (min-width: 861px) {
		.login_head,
		.header.login .login_head{
			background: url("../img/bg_blue.png") repeat;
			background-position: 100%;
			background-size: 6px;
			border-radius: 22px;
			color: #fff;
			font-size: 14px;
			height: 44px;
			line-height: 44px;
			padding: 0 0 0 10px;
			position: absolute; right: 0px; top: 19px;
			text-align: center;
			width: 144px;
			z-index: 10001;
		}
		.header.login .login_head{
			top: 59px;
		}
		.header.login .login_head {
			left: inherit;
		}
    _:-ms-input-placeholder, :root .login_head,
    _:-ms-input-placeholder, :root .header.login .login_head{
      height: 44px;
      line-height: 60px;
    }


		.login_head:after {
			background: url("../img/icn_login_whi.png") no-repeat;
			background-size: contain;
			content: "";
			height: 26px;
			position: absolute; top: 7.5px; left: 14px;
			width: 17px;
		}
		a.login_head:hover {
			box-shadow: 0 4px 1px rgba(0,0,0,.2);
			transform: translate(0px,-4px);
			transition:all .3s ease-in-out;
		}
		.header.login a.login_head:hover {
			box-shadow: 0 4px 1px rgba(255,255,255,.2);
			transform: translate(0px,-4px);
			transition:all .3s ease-in-out;
		}

}




/* ==== Footer ====*/

.footer {
	padding-top: 30px;
	position: relative;
	z-index: 101;
}
.sns_wrap_foot {
	align-items: center;
	background: #f4f4f4;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	padding: 20px 20% 5px;
	width: 100%;
}
.sns_wrap_foot a {
	display: block;
	flex-basis: 20%;
	margin: 0 20% 15px 0;
	text-align: center;
}
.sns_wrap_foot a img {
	display: inline-block;
	max-height: 25px;
	width: auto;
}
.sns_wrap_foot a:first-child img {
	max-height: 22px;
}
.sns_wrap_foot a:nth-child(3n) {
	margin: 0 0 15px;
}
.footer_wrap {
	background: #252525;
	color: #fff;
	padding: 45px 3%;
}
.ul_footer {
	margin: 0 0 45px;
}
.ul_footer li {
	margin: 0 0 1rem;
}
.ul_footer li a {
	display: inline-block;
	padding: 0 16px 0 0;
	position: relative;
}
.ul_footer li a:after {
  height: 6px;
  border-bottom: solid 1px #fff;
  border-right: solid 1px #fff;
  content: "";
  position: absolute; top: calc(50% - 3px); right: 0%;
  transform:rotate(-45deg);
  width: 6px;
}
_:-ms-fullscreen, :root .ul_footer li a:after {
  position: absolute; top: 1px;
}

.logo_foot {
	margin: 0 auto 45px;
	width: 30%;
}
.logo_foot.logo_foot_30 {
	margin: 0 auto 15px;
	width: 64% !important;
}
.copyright {
	font-size: 3.3vw;
	text-align: center;
}
@media only screen and (min-width: 768px) {
		.sns_wrap_foot {
			display: none;
		}
		.footer_wrap {
			padding: 45px 0 90px;
			text-align: center;
		}
		.ul_footer {
			display: inline-block;
			margin: 0 0 45px;
		}
		.ul_footer li {
			font-size: 14px;
			text-align: left;
		}
		.ul_footer li a {
			display: inline-block;
			padding: 0 16px 0 0;
			position: relative;
		}
		.logo_foot {
			width: 155px;
		}
		.logo_foot.logo_foot_30 {
			margin: 0 auto 45px;
			width: 286px !important;
		}
		.copyright {
			font-size: 10px;
		}
}




@media only screen and (min-width: 768px) {
		.footer {
			position: relative;
		}
}




/* ================ TOP PAGE ================*/

/*  オープニング　*/
.bg {
	height: calc(var(--vh, 1vh) * 100 );
	animation-name: rotate2;
	animation-iteration-count: 1;
	overflow: hidden;
	position: fixed; top: 0%; left: 0%;
	pointer-events: none;
	width: 100%;
	z-index: 1002;
}
.bg {
	animation-duration: 7s;
	animation-fill-mode: forwards;
	background: #fff;
}
@keyframes rotate2 {
0% {-webkit-transform: rotateX(0deg); opacity: 100; top: 0%; left: 0; transform: scale(1.0,1.0);}
80% {-webkit-transform: rotateX(0deg); opacity: 100; top:0%; left: 0; transform: scale(1.05,1.05);} 
100% {-webkit-transform: rotateX(0deg); opacity: 0; top: 0%; left: 0; transform: scale(1.1,1.1);}
}
.bg img {
	animation-name: img001;
	animation-duration: 5s;
	animation-iteration-count: 1;
	height: calc(var(--vh, 1vh) * 100 );
	object-fit: cover;
	min-width: 100%;
}
@keyframes img001 {
0% {opacity: 0;}
15% {opacity: 0;}
100% {opacity: 100} 
}

.open {
	animation-name: rotate3;
	animation-iteration-count: 1;
	height: auto;
	overflow: hidden;
	position: fixed; top: 70%; left: 10%;
	pointer-events: none;
	width: 80%;
	z-index: 1003 !important;
	animation-duration: 7.0s;
	animation-fill-mode: forwards;
}
@media only screen and (min-width: 768px) {
		.open {
			position: fixed; top: 60%; left: calc(50% - 300px);
			width: 600px;
		}
}

.open img {
	height: auto;
	width: 100%;
}
@keyframes rotate3 {
0% {-webkit-transform: rotateX(0deg); opacity: 0;} 
30% {-webkit-transform: rotateX(0deg); opacity: 0;} 
65% {-webkit-transform: rotateX(0deg); opacity: 100;} 
85% {-webkit-transform: rotateX(0deg); opacity: 100;}
100% {-webkit-transform: rotateX(0deg); opacity: 0;}
}


.content_wrap {
	padding: 70px 0 0;
}
@media only screen and (min-width: 861px) {
		.content_wrap {
			min-height: calc(100vh - 569px) ; 
			overflow-x: visible;
			padding: 150px 0 0;
			z-index: 1001;
		}
		body.login .content_wrap {
			min-height: calc(100vh - 555px) ; 
			padding: 180px 0 0;
		}
}


.top_wrap_01 {
	margin: 0;
}

/* スライドショー */
.slide_wrap {
	background: #f4f4f4;
	margin: 0 0 20px;
	padding: 3% 3% 1.5%;
}
body.login .slide_wrap {
	background: none;
}
.slide_wrap.full {
	background: none;
	margin: 0;
	padding: 3% 0 0;
}
.ul_slider {
	margin: auto;
	width: 100%;
}
.ul_slider li {
	width: 100%;
}
.ul_slider li img {
	height: auto;
	width: 100%;
}
.slick-dots {
	bottom: -10px;
	height: 10px;
}
.slick-dots li {
	height: 7.5px;
	margin: 0 20px 0 0 !important;
	width: 7.5px;
}
.slick-dots li:last-child {
	margin: 0;
}
.slick-dots li button {
	background: #cbcbcb;
	border-radius: 7px;
	height: 100%;
	width: 100%;
}
.slick-dots li.slick-active button {
	background: #252525;
}
.slick-dots li button:hover {
	background: #af0402;
}
.slick-dots li button:before {
	display: none;
}
.slick-next {
	right: 0;
}
.slick-prev {
	left: 0;
}
.slick-next ,
.slick-prev {
	background: none;
	height: 100%;
	position: absolute; top: 0;
	transition:all 0.3s ease-in-out;
	width: 8%;
	z-index: 101;
}
.slick-next:after,
.slick-prev:after{
	background: url("../img/arrow_next.png") no-repeat;
	background-size: contain;
	content: "";
	height: 30px;
	position: absolute; top: calc(50% - 15px);
	transition:all 0.3s ease-in-out;
	width: 30px;
}
.slider_02 .slick-next:after,
.slider_02 .slick-prev:after,
.slider_04 .slick-next:after,
.slider_04 .slick-prev:after{
	top: calc(50% - 1.6rem);
}
.slider_04 .slick-next:after,
.slider_04 .slick-prev:after{
	top: calc(50% - 2.2rem);
}
.slick-next:after {
	right: 5px;
}
.slick-prev:after {
	left: 5px;
}
.slick-prev:after {
	background: url("../img/arrow_prev.png") no-repeat;
	background-size: contain;
}
.slick-next:hover,
.slick-prev:hover {
	opacity: 0.6;
	transition:all 0.3s ease-in-out;
}
.slick-next:hover:after {
	right: 10px;
}
.slick-prev:hover:after {
	left: 10px;
}
@media only screen and (min-width: 768px) {
		.slick-next ,
		.slick-prev {
			width: 40px;
		}
		.slick-next:after,
		.slick-prev:after{
			height: 30px;
			width: 30px;
		}
		.slider_04 .slick-next:after,
		.slider_04 .slick-prev:after{
			top: calc(50% - 1.6rem);
		}
}

.fanclub_wrap_top {
	border-bottom: solid 1px #cbcbcb;
	margin: 0 0 0px;
	padding: 0 0 20px;
}
.fanclub_wrap_top .ttl {
	font-size: 6.6vw;
	line-height: 1;
	margin: 0 0 15px;
	text-align: center;
}
.fanclub_wrap_top .btn_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	width: 94%;
}
.fanclub_wrap_top .btn_wrap a {
	flex-basis: auto;
	width: 48%;
}

.ul_slider.slider_02 li,
.ul_slider.slider_03 li,
.ul_slider.slider_04 li {
	margin: 0 0.2%;
}
.ul_slider.slider_02 li .img_wrap,
.ul_slider.slider_03 li .img_wrap,
.ul_slider.slider_04 li .img_wrap {
	background: #000;
	padding: 100% 0 0;
	position: relative;
	width: 100%;
}
.ul_slider.slider_03 li .img_wrap {
	background: none;
	padding: 91.743119% 0 0;
}
.ul_slider.slider_04 li .img_wrap {
	padding: 55.952381% 0 0;
}
.ul_slider.slider_02 li .img_wrap img,
.ul_slider.slider_03 li .img_wrap img,
.ul_slider.slider_04 li .img_wrap img {
	height: auto;
	line-height: 0;
	max-height: 100%;
	max-width: 100%;
	margin: auto;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: auto;
}
.ul_slider.slider_03 li .img_wrap img {
	width: 100%;
}
.ul_slider.slider_02 li p,
.ul_slider.slider_03 li p,
.ul_slider.slider_04 li p {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 4vw;
	overflow: hidden;
	padding: 5px 0 0;
	text-align: center;
	word-break: break-all;
}
.ul_slider.slider_02 li p span {
	background: #252525;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	font-weight: 700;
	margin: 0 5px 0 0;
	padding: 0 4px;
}
_:-ms-fullscreen, :root .ul_slider.slider_02 li p span {
  height: 18px;
	line-height: 28px;
}
 



/* news */

.list_wrap_01 {
	border-bottom: solid 1.5px #cbcbcb;
	margin: 0 0 0px;
	overflow-x: hidden;
	padding: 30px 0;
}
.list_wrap_01.bgnone {
	background: none;
	margin: 0 0 30px;
}
.list_wrap_01.gray {
	background: #f4f4f4;
	padding: 30px 0 30px;
}
.list_wrap_01 .ttl_wrap {
	align-items: flex-end;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 25px;
	padding: 0 0 15px;
	position: relative;
	width: 94%;
}
.list_wrap_01 .ttl_wrap:after {
	background: #252525;
	content: "";
	height: 1px;
	position: absolute; left: 0%; bottom: 0;
	width: 20px;
}
.list_wrap_01 .ttl_wrap h2 {
	flex-basis: auto;
	font-size: 6.6vw;
	line-height: 1.2;
	min-height: 28px;
	width: 55%;
}
.list_wrap_01 .ttl_wrap h2.long {
	width: 100%;
}
.list_wrap_01 .btn_01 {
	flex-basis: auto;
	height: 25px;
	position:absolute; right:0; bottom:18px;
	width: 44%;
}
.list_wrap_01 .btn_01:after {
	display: none;
}

.ul_news {
	margin: auto;
	width: 94%;
}
.ul_news.scroll {
	height: 300px;
	overflow-y: scroll;
	padding: 0 10px 0 0;
	scroll-behavior: smooth;
}
.scroll::-webkit-scrollbar {
    -webkit-appearance: none;
    width: 7px;
}
.scroll::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background-color: rgba(0,0,0,.5);
    box-shadow: 0 0 1px rgba(255,255,255,.5);
}		
.ul_news.size2 {
	margin: 0 auto 30px;
}
.ul_news li {
	border-bottom: solid 1px #dfdfdf;
	margin: 0 0 15px;
	padding: 0 3% 15px;
}
.ul_news li:last-child {
	border-bottom: none;
	margin: 0;
	padding: 0 3%;
}
.ul_news.size2 li:last-child {
	border-bottom: solid 1px #dfdfdf;
	margin: 0 auto 15px;
	padding: 0 3% 15px;
}
.ul_news li .day_wrap {
	margin: 0 0 10px;
	overflow: hidden;
}
.ul_news li .day_wrap .day {
	float: left;
	width: 60%
}
.ul_news li .day_wrap .day span {
	background: url("../img/icn_new.png") no-repeat right;
	background-size: contain;
	display: inline-block;
	height: .8em;
	padding: 0 0 0 2px;
	width: 3.5em;
}
.ul_news li .day_wrap .tag {
	color: #fff;
	float: right;
	font-size: 3.3vw;
	min-width: 80px;
	padding: 2px 10px;
	text-align: center;
}
.ul_news li .day_wrap .tag.live { background: #a6ad29;}
.ul_news li .day_wrap .tag.media { background: #deaeda;}
.ul_news li .day_wrap .tag.release { background: #62ad9c;}
.ul_news li .day_wrap .tag.fanclub { background: #af0402;}
.ul_news li .day_wrap .tag.cm { background: #5c09aa;}
.ul_news li .day_wrap .tag.others { background: #80ad29;}

.top_wrap_02 {
	margin: 0;
}

.bnr_wrap_top {
	margin: 0 0 30px;
}
.bnr_wrap_top_02 {
	display: none;
}



@media only screen and (min-width: 861px) {
		.top_wrap_01 {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto 30px;
			max-width: 1300px;
			width: 94%;
		}
		
		/* スライドショー */
		.slide_wrap {
			background: none;
			flex-basis: auto;
			margin: 0;
			order: 1;
			padding: 0;
			width: 785px;
		}
		.slide_wrap.full {
			padding: 0;
			width: 100%;
		}
		.ul_slider {
			margin: auto;
			width: 100%;
		}
		.ul_slider li {
			border: solid 1px #cbcbcb;
			width: 100%;
		}
		.ul_slider li img {
			height: auto;
			width: 100%;
		}
		.slick-dots {
			bottom: -15px;
			height: 8px;
		}
		.slick-dots li {
			border: none;
			height: 8px;
			margin: 0 20px 0 0;
			width: 8px;
		}
		.slick-dots li:last-child {
			margin: 0;
		}
		.slick-dots li button {
			background: #cbcbcb;
			border-radius: 6px;
			height: 100%;
			padding: 0;
			width: 100%;
		}
		.slick-dots li.slick-active button {
			background: #252525;
		}
		.slick-dots li button:hover {
			background: #af0402;
		}
		.slick-dots li button:before {
			display: none;
		}

		.fanclub_wrap_top {
			display: none;
		}
		
		.ul_slider.slider_03 {
			margin: auto;
			width: 720px;
		}
    .ul_slider.slider_03 .slick-prev {
        left: -40px;
    }
    .ul_slider.slider_03 .slick-next {
        right: -40px;
    }
		.ul_slider.slider_02 li,
		.ul_slider.slider_03 li,
		.ul_slider.slider_04 li {
			border: none;
			margin: 0 10px;
		}
		.ul_slider.slider_01 li .img_wrap {
			background: #000;
			overflow: hidden ;
			padding: 54.545455% 0 0;
			position: relative;
			width: 100%;
		}
		.ul_slider.slider_02 li .img_wrap,
		.ul_slider.slider_03 li .img_wrap,
		.ul_slider.slider_04 li .img_wrap {
			background: #000;
			overflow: hidden ;
			padding: 100% 0 0;
			position: relative;
			width: 100%;
		}
		.ul_slider.slider_04 li .img_wrap {
			background: none;
		}
		.ul_slider.slider_03 li .img_wrap {
			background: none;
			overflow: visible !important;
			padding: 91.743119% 0 0;
		}
		.ul_slider.slider_04 li .img_wrap {
			padding: 55.952381% 0 0;
		}
		.ul_slider.slider_01 li .img_wrap img,
		.ul_slider.slider_02 li .img_wrap img,
		.ul_slider.slider_03 li .img_wrap img,
		.ul_slider.slider_04 li .img_wrap img {
			height: auto;
			line-height: 0;
			max-height: 100%;
			max-width: 100%;
			margin: auto;
			position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
			width: auto;
		}
		.ul_slider.slider_01 li:hover .img_wrap img {
			transform: scale(1.07,1.07);
			transition:all .3s ease-in-out;
		}
		.ul_slider.slider_02 li:hover .img_wrap img,
		.ul_slider.slider_04 li:hover .img_wrap img {
			transform: scale(1.1,1.1);
			transition:all .3s ease-in-out;
		}
		.ul_slider.slider_01 li .img_wrap img,
		.ul_slider.slider_02 li .img_wrap img,
		.ul_slider.slider_04 li .img_wrap img,
		.ul_slider.slider_03 li .img_wrap img {
			transition:all .3s ease-in-out;
		}
		.ul_slider.slider_03 li:hover .img_wrap img {
			opacity: .5;
			transition:all .15s ease-in-out;
		}

		.ul_slider.slider_02 li p,
		.ul_slider.slider_03 li p,
		.ul_slider.slider_04 li p {
			font-size: 14px;
			padding: 5px 0 0;
			text-align: center;
		}




		/* news */

		.list_wrap_01.pc_top_01 {
			background: #f4f4f4;
			border-bottom: none;
			box-sizing: border-box ;
			flex-basis: auto;
			height: 457px;
			margin: 0px;
			overflow: hidden;
			order: 2;
			padding: 20px 10px 72px 20px;
			width: calc(100% - 815px);
		}
		body.login .list_wrap_01.pc_top_01 {
			background: #fff;
		}
		.list_wrap_01 {
			border-bottom: solid 1.5px #cbcbcb;
			margin: 0 0 80px;
			padding: 0 0 80px;
		}
		.top_wrap_02 .list_wrap_01 {
			background: #f4f4f4;
			border-bottom: none;
			height: 477px;
			flex-basis: auto;
			margin: 0;
			padding: 40px 20px 20px 20px;
			width: 48.2%;
		}
		body.login .top_wrap_02 .list_wrap_01 {
			background: #fff;
		}
		.top_wrap_02 .list_wrap_01.one {
			width: 100%;
		}
		.list_wrap_01.gray {
			background: #f4f4f4;
			border-top: solid 1px #cbcbcb;
			padding: 80px 0 80px;
		}
		body.login .list_wrap_01.gray {
			background: #fff;
		}
		.list_wrap_01 .ttl_wrap {
			width: 100%;
		}
		.list_wrap_01 .ttl_wrap:after {
			width: 39px;
		}
		.list_wrap_01 .ttl_wrap h2 {
			flex-basis: auto;
			font-size: 20px;
			line-height: 1;
			width: 100%;
		}
		.list_wrap_01 .ttl_wrap.pc {
			margin: 0 0 40px;
			padding: 0 0 30px;
		}
		.list_wrap_01 .ttl_wrap.pc {
			text-align: center;
		}
		.list_wrap_01 .ttl_wrap.pc:after {
			left: calc(50% - 20px);
		}

		.list_wrap_01 .ttl_wrap a {
			height: 30px;
			position:absolute; right:calc(50% - 70px); bottom:-381px;
			width: 140px;
		}
		.top_wrap_02 .list_wrap_01 .ttl_wrap a {
			bottom:-361px;
		}
		.ul_news {
			height: 300px;
			margin: auto;
			overflow-y: scroll;
			padding: 0 10px 0 0;
			width: 100%;
		}
		.ul_news.size2 {
			height: auto;
			margin: 0 auto 30px;
			max-width: 1000px;
			overflow-y: hidden;
			padding: 0;
			width: 94%;
		}
		.top_wrap_01 .ul_news {
			border-bottom: solid 1px rgba(0,0,0,.1);
		}
		.ul_news li {
			border-bottom: solid 1px #dfdfdf;
			margin: 0 0 15px;
			padding: 0 10px 15px;
		}
		.ul_news.size2 li {
			border-bottom: solid 1px #dfdfdf;
			margin: 0 0 30px;
			padding: 0 10px 30px;
		}
		.ul_news li p {
			transition:all .3s ease-in-out;
		}
		.ul_news li:hover p {
			transform: translate(0px,-6px);
			transition:all .3s ease-in-out;
		}
		.ul_news li:hover p.day {
			transform: translate(0px,0px);
		}
		.ul_news li:last-child {
			border-bottom: none;
			margin: 0;
			padding: 0 10px;
		}
		.ul_news.size2 li:last-child {
			padding: 0 10px 30px;
		}
		.ul_news li .day_wrap {
			margin: 0 0 10px;
			overflow: hidden;
		}
		.ul_news li .day_wrap .day {
			float: left;
		}
		.ul_news li .day_wrap .day span {
			color: #af0402;
			display: inline-block;
			letter-spacing: 0.05em;
			padding: 0 0 0 5px;
		}
		.ul_news li .day_wrap .tag {
			font-size: 12px;
		}
		.ul_news.size2 li .day_wrap .tag {
			min-width: 160px;
		}
		_:-ms-fullscreen, :root .ul_news.size2 li .day_wrap .tag {
		 	height: 26px;
			line-height: 33px;
		}
		
		.top_wrap_02 {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto 60px;
			max-width: 1000px;
			width: 94%;
		}

		.bnr_wrap_top {
			margin: 0 0 50px;
		}
		.bnr_wrap_top_02 {
			display: block;
			margin: 0 0 30px;
		}

		.ul_news::-webkit-scrollbar {
				-webkit-appearance: none;
				width: 7px;
		}
		.ul_news::-webkit-scrollbar-thumb {
				border-radius: 4px;
				background-color: rgba(0,0,0,.5);
				box-shadow: 0 0 1px rgba(255,255,255,.5);
		}		
}
@media only screen and (max-width: 1100px) {
		.slide_wrap {
			margin: 0 0 30px;
			width: 100%;
		}
		.list_wrap_01.pc_top_01 {
			width: 100%;
		}
}


/* 会員情報欄 */

.information_wrap_top {
	font-size: 1rem;
	margin: 0 auto 0px;
	order: 3;
	width: 100%;
}

.information_wrap_top .btn_01 {
	font-size: 1rem;
	margin-bottom: 15px;
}
.information_wrap_top .btn_01:after {
	height: 16px;
	background: url("../img/icn_music.png") no-repeat;
	background-size: contain;
	border: none;
	content: "";
	position: absolute; top: calc(50% - 8px); right: 7%;
	transform:rotate(0deg);
	width: 16px;
}
.information_wrap_top .box {
	background: #fff;
	border: solid 1px #cbcbcb;
	padding: 15px;
}
.information_wrap_top .caution_wrap {
	margin: 0 auto 15px;
	padding: 0;
}
.information_wrap_top .caution_wrap .birthday {
	background: #f9f9f9;
	font-feature-settings: "palt";
	font-weight: 900;
	margin: 0 auto 10px;
	padding: 5px 10px;
	position: relative;
	text-align: center;
}
.information_wrap_top .caution_wrap .birthday span {
	padding: 0 20px;
	position: relative;
}
.information_wrap_top .caution_wrap .birthday span:before,
.information_wrap_top .caution_wrap .birthday span:after {
	background: url("../img/icn_birthday.png") no-repeat;
	background-size: 16px;
	content: "";
	height: 16px;
	position: absolute; left: 0; top: calc(50% - 8px);
	width: 16px;
}
.information_wrap_top .caution_wrap .birthday span:after {
	left: inherit;
	right: 0;
}
.information_wrap_top .caution_wrap .attention {
	background: #f9f9f9;
	font-feature-settings: "palt";
	margin: 0 auto 10px;
	padding: 5px 10px;
	text-align: center;
}
.information_wrap_top .caution_wrap .attention span {
	display: inline-block;
	font-weight: 900;
	margin: 0 0 10px;
	padding: 0 20px;
	position: relative;
}
.information_wrap_top .caution_wrap .attention span:before {
	background: url("../img/icn_attention.png") no-repeat;
	background-size: 16px;
	content: "";
	height: 16px;
	position: absolute; left: 0; top: calc(50% - 8px);
	width: 16px;
}
.information_wrap_top .caution_wrap .attention a {
	color: #af0402;
	display: block;
	font-size: 4vw;
	line-height: 1.2;
	margin: 0 0 10px;
	padding: 0 15px 0 0;
	position: relative;
	text-align: left;
}
.information_wrap_top .caution_wrap .attention a:last-child {
	margin: 0;
}
.information_wrap_top .caution_wrap .attention a:after {
	height: 8px;
	border-bottom: solid 2px #cbcbcb;
	border-right: solid 2px #cbcbcb;
	content: "";
	position: absolute; top: calc(50% - 5px); right: 0%;
	transform:rotate(-45deg);
	width: 8px;
}
.information_wrap_top .set {
	margin: 0 0 10px;
}
.information_wrap_top .txt_01 {
	margin: 0 0 5px;
}
.information_wrap_top .txt_01 span {
	border: solid 2px #252525;
	box-sizing: border-box;
	color: #252525;
	display: inline-block;
	font-weight: 700;
	margin: 0 10px 0 0;
	padding: 0 5px;
}
.information_wrap_top .txt_02 {
	margin: 0 0 5px;
}
.information_wrap_top .txt_02 span {
	color: #0d348b;
	display: inline-block ;
	font-size: 80%;
	font-weight: 700;
	margin: 0 0 0 10px;
}
.information_wrap_top .txt_03 {
	margin: 0 0 5px;
}
.information_wrap_top .txt_03 span {
	color: #af0402;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
}
@media only screen and (min-width: 861px) {
		.information_wrap_top {
			flex-basis: auto;
			order: 3;
			padding: 30px 0 0;
			margin: 0 auto 0px;
			max-width: 1000px;
			width: 100%;
		}
		.information_wrap_top .btn_01 {
			line-height: 50px;
			margin-bottom: 15px;
			width: 100%;
		}
		.information_wrap_top .btn_01:after {
			height: 24px;
			background: url("../img/icn_music.png") no-repeat;
			background-size: contain;
			position: absolute; top: calc(50% - 12px); right: 7%;
			width: 24px;
		}
		.information_wrap_top .box {
			border: none;
			padding: 20px;
		}
		.information_wrap_top .caution_wrap {
			border: none;
			margin: 0 auto;
			padding: 0;
		}
		.information_wrap_top .caution_wrap .birthday {
			flex-basis: auto;
			margin: 0 auto 20px;
			padding: 10px;
			position: relative;
			text-align: center;
			width: 100%;
		}
		_:-ms-input-placeholder, :root .information_wrap_top .caution_wrap .birthday {
			padding: 20px;
		}
		.information_wrap_top .caution_wrap .birthday span {
			font-size: 20px;
			padding: 0 23px;
		}
		.information_wrap_top .caution_wrap .birthday span:before,
		.information_wrap_top .caution_wrap .birthday span:after {
			background: url("../img/icn_birthday.png") no-repeat;
			background-size: contain;
			content: "";
			height: 18px;
			position: absolute; left: 0; top: calc(50% - 9px);
			width: 18px;
		}
		_:-ms-input-placeholder, :root .information_wrap_top .caution_wrap .birthday span:before,
		_:-ms-input-placeholder, :root .information_wrap_top .caution_wrap .birthday span:after {
		 top: 0;
		}
		.information_wrap_top .caution_wrap .birthday span:after {
			left: inherit; right: 0;
		}
		.information_wrap_top .caution_wrap p {
			line-height: 2.5rem;
		}
		.information_wrap_top .caution_wrap .attention {
			flex-basis: auto;
			margin: 0 auto;
			padding: 10px;
			width: 100%;
		}
		_:-ms-input-placeholder, :root .information_wrap_top .caution_wrap .attention {
		 padding: 20px;
		}
		.information_wrap_top .caution_wrap .attention span {
			font-size: 20px;
			margin: 0 0 10px;
			padding: 0 0 0 23px;
		}
		.information_wrap_top .caution_wrap .attention span:before {
			background: url("../img/icn_attention.png") no-repeat;
			background-size: contain;
			height: 18px;
			position: absolute; left: 0; top: calc(50% - 9px);
			width: 18px;
		}
		_:-ms-input-placeholder, :root .information_wrap_top .caution_wrap .attention span:before {
		 top: 0;
		}
		
		.information_wrap_top .caution_wrap .attention .inner {
			margin: auto;
			overflow: hidden;
			width: 94%;
		}
		.information_wrap_top .caution_wrap .attention a {
			float: left;
			font-size: 16px;
			line-height: 2.5rem;
			margin: 0 0 5px;
			overflow: hidden;
			padding: 0 20px 0 0;
			position: relative;
			text-decoration: underline;
			text-overflow: ellipsis;
			white-space: nowrap;
			width: 48%;
		}
		.information_wrap_top .caution_wrap .attention a:nth-child(2n) {
			float: right;
		}
		.information_wrap_top .caution_wrap .attention a:last-child {
			margin: 0;
		}
		.information_wrap_top .caution_wrap .attention a:after {
			height: 8px;
			border-bottom: solid 2px #cbcbcb;
			border-right: solid 2px #cbcbcb;
			content: "";
			position: absolute; top: calc(50% - 5px); right: 1%;
			transform:rotate(-45deg);
			width: 8px;
		}
		.information_wrap_top .set {
			margin: 0 auto;
			width: 90%;
		}
		.information_wrap_top .txt_01 {
			display: inline-block;
			line-height: 24px;
			margin: 0 10px 5px 0;
		}
		.information_wrap_top .txt_01 span {
			border: solid 2px #252525;
			box-sizing: border-box;
			display: inline-block;
			margin: 0 10px 0 0;
			padding: 0 5px;
		}
		_:-ms-input-placeholder, :root .information_wrap_top .txt_01 span {
			line-height: 18px;
			padding: 10px 5px 0;
		}
		.information_wrap_top .txt_02 {
			display: inline-block;
			margin: 0 10px 5px 0;
		}
		.information_wrap_top .txt_02 span {
			margin: 0 0 0 10px;
		}
		.information_wrap_top .txt_03 {
			display: inline-block;
			margin: 0 0 5px;
		}
		.information_wrap_top .txt_03 span {
			color: #af0402;
		}
		

		.information_wrap_top .txt_01,
		.information_wrap_top .txt_02,
		.information_wrap_top .txt_03 {
			display: none;
		}
}




/* ================ DISCOGRAPHY ================*/
.tab_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 15px;
	width: 94%;
}
.tab_wrap li {
	background: #fff;
	flex-basis: auto;
	font-size: 3.0vw;
	border: solid 1px #cbcbcb;
	margin-bottom: 5px;
	padding: 6px 0 4px;
	text-align: center;
	width: 32%;
}
.tab_wrap li.current {
	background: url("../img/bg_blue.png") repeat;
	background-size: 6px;
	border: none;
	color: #fff;
}

.ul_disco {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto;
	width: 94%;
}
.ul_disco.detail {
	margin: 0 auto 30px;
}
.ul_disco li {
	border-bottom: solid 1px #cdcdcd;
	flex-basis: auto;
	margin: 0 0 30px;
	width: 48%;
}
.ul_disco.detail li {
	margin: 0 0 0px;
}
.ul_disco li .img_wrap {
	margin: 0 0 10px;
	overflow: hidden;
	padding: 100% 0 0;
	position: relative;
	width: 100%;
}
.ul_disco li .img_wrap img {
	height: auto;
	line-height: 0;
	max-height: 100%;
	max-width: 100%;
	margin: auto;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: auto;
}
.ul_disco li p {
	margin: 0 0 5px;
}
.ul_disco li p span {
	background: url("../img/icn_new.png") no-repeat right center;
	background-size: contain;
	display: inline-block;
	height: .6em;
	padding: 0 0 0 5px;
	width: 3em;
}
.ul_disco li p:last-child {
	margin: 0 0 15px;
}
.lightbox .lb-image {
	height: auto !important;
	max-width: 600px !important;
}
@media only screen and (min-width: 768px) {
		.tab_wrap {
			margin: 0 auto 30px;
			max-width: 1000px;
			width: 94%;
		}
		.tab_wrap li {
			font-size: 1rem;
			margin-bottom: 0px;
			padding: 2px 0;
			width: 16%;
		}
		.tab_wrap li {
			font-size: 1rem;
			margin-bottom: 0px;
			padding: 2px 0;
			width: 16%;
		}
		.tab_wrap li:hover {
			box-shadow: 0 4px 1px rgba(0,0,0,.2);
			transform: translate(0px,-4px);
			transition:all .3s ease-in-out;
		}
		.tab_wrap li:hover.current {
			box-shadow: none;
			transform: none;
		}
		_:-ms-fullscreen, :root .tab_wrap li {
			height: 40px;
			line-height: 36px;
		}

		.ul_disco {
			max-width: 1000px;
		}
		.ul_disco li {
			margin: 0 0 60px;
			position: relative;
			width: 29%;
		}
		.ul_disco.detail {
			margin: 0 auto 60px;
			width: 600px;
		}
		.ul_disco.detail li {
			margin: 0 0 0px;
			position: relative;
			width: 42%;
		}
		.ul_disco li:after {
			background: #af0402;
			content: "";
			height: 1px;
			position: absolute; bottom: 0px; left: 0px;
			transition:all .1.5s ease-in-out;
			width: 0;
		}
		.ul_disco li:hover:after {
			background: #af0402;
			content: "";
			height: 1px;
			position: absolute; bottom: 0px; left: 0px;
			transition:all .3s ease-in-out;
			width: 100%;
		}
		.ul_disco li .img_wrap img {
			transition:all .3s ease-in-out;
		}
		.ul_disco li:hover .img_wrap img {
			transform: scale(1.07,1.07);
			transition:all .3s ease-in-out;
		}
}
@media only screen and (max-width: 1000px) {
		.tab_wrap li {
			font-size: 1.6vw;
		}
}
@media only screen and (max-width: 768px) {
		.tab_wrap li {
			font-size: 3vw;
		}
}


/* 詳細ページ */

.disc_ttl_wrap {
	border-bottom: solid 1px #cdcdcd;
	margin: 0 auto 15px;
	max-width: 1000px;
	padding: 0 0 15px;
	width: 94%;
}
.disc_ttl_wrap .ttl {
	font-size: 6.6vw;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 10px;
}
.disc_ttl_wrap .sub {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	line-height: 1;
}
.disc_ttl_wrap .sub .day {
	color: #acacac;
}
.disc_ttl_wrap .sub .tag {
	color: #252525;
}
.disc_all {
	padding: 0 0 30px;
}
.disc_wrap {
	border-bottom: solid 1px #cbcbcb;
	margin: 0 auto 15px;
	max-width: 1000px;
	padding: 0 0 15px;
	width: 94%;
}
.disc_wrap.last {
	border-bottom: none;
	margin: 0 auto 15px;
	padding: 0;
}
.disc_wrap h3 {
	font-weight: 700;
	line-height: normal;
	margin: 0 0 10px;
}
.disc_wrap .pic_wrap {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin:  0 0 15px;
}
.disc_wrap .pic_wrap .img_wrap {
	flex-basis: auto;
	width: 48%;
}
.disc_wrap .pic_wrap .txt_wrap {
	flex-basis: auto;
	height: auto;
	width: 48%;
}
.disc_wrap .pic_wrap .txt_wrap .num {
	margin: 0 0 10px;
}
.disc_wrap .pic_wrap .txt_wrap .price {
	font-weight: 700;
}
.special_disco {
	margin: 0 auto 15px;
	width: 94%;
}
.special_disco p {
	margin: 0 0 5px;
}
.special_disco p:last-child {
	margin: 0;
}
.switch_disco {
	background: #fff;
	border: solid 1px #cbcbcb;
	border-radius: 30px;
	display: block;
	font-size: 3.3vw;
	line-height: 30px;
	margin: auto;
	position: relative;
	text-align: center;
	width: 94%;
}
.switch_disco:after {
	background: url("../img/icn_down.png") no-repeat;
	background-size: contain;
	height: 16px;
	content: "";
	cursor: pointer;
	position: absolute; top: calc(50% - 8px); right: 7%;
	transform:rotate(0deg);
	transition:all .3s ease-in-out;
	width: 16px;
}
.switch_disco.nowOpen:after {
	transform:rotate(-180deg);
}
.detail_disco {
	background: #f4f4f4;
	margin: 10px auto 0;
	padding: 10px;
	width: 94%;
}
.detail_disco .ttl {
	font-weight: 700;
	margin: 0 0 15px;
}
.detail_disco ul {
	margin: 0 0 23px;
}
.detail_disco li {
	margin: 0 0 5px 25px;
}
.detail_disco li:last-child {
	margin: 0 0 0 25px;
}
.closeBtnHat {
	display: none;
}
.btn_01.listen {
	position: sticky;
	bottom: 20px;
	left: 3%;
	z-index: 100;
}
.btn_01.listen:after {
	height: 16px;
	background: url("../img/icn_listen.png") no-repeat;
	background-size: 16px;
	border: none;
	position: absolute; top: calc(50% - 8px); right: 7%;
	transform:rotate(0deg);
	width: 16px;
}

.btn_01.btn_disco_01 {
	background: #252525;
	color: #fff;
}
.btn_01.btn_disco_01:after {
	height: 16px;
	background: url("../img/icn_blank.png") no-repeat;
	background-size: 16px;
	border: none;
	position: absolute; top: calc(50% - 8px); right: 7%;
	transform:rotate(0deg);
	width: 16px;
}
.btn_01.btn_back {
	border: solid 1px #cbcbcb;
	background: #fff;
	color: #252525;
	font-family: lato;
	font-weight: 900;
	line-height: 30px;
}
.btn_01.btn_back:after {
	border-bottom: solid 2px #cbcbcb;
	border-right: solid 2px #cbcbcb;
	height: 8px;
	position: absolute; top: calc(50% - 4px); left: 7%;
	transform:rotate(135deg);
	width: 8px;
}

.btn_wrap_disco {
	background: #f4f4f4;
	margin: 0 0 30px;
	padding: 30px 0;
}
body.login .btn_wrap_disco {
	background: none;
	border-bottom: solid 1px #cbcbcb;
	border-top: solid 1px #cbcbcb;
}
.btn_wrap_disco a {
	margin-bottom: 15px;
}
.btn_wrap_disco a:last-child {
	margin-bottom: 0;
}
@media only screen and (min-width: 768px) {
		.disc_ttl_wrap {
			margin: 0 auto 30px;
			padding: 0 0 5px;
		}
		.disc_ttl_wrap .ttl {
			font-size: 30px;
			font-weight: normal;
			margin: 0 0 20px;
		}
		.disc_wrap {
			align-items: inherit;
			border-bottom: solid 1px #cbcbcb;
			margin: 0 auto 60px;
			overflow: hidden;
			padding: 0 0 60px;
		}
		.disc_wrap.last {
			border-bottom: none;
			margin: 0 auto 60px;
			padding: 0;
		}
		.disc_wrap h3 {
			font-size: 20px;
			margin: 0 0 20px;
		}
		.disc_wrap .pic_wrap {
			display: block;
			float: left;
			margin:  0 0 0px;
		}
		.disc_wrap .pic_wrap .img_wrap {
			width: 300px;
		}
		.disc_wrap .pic_wrap .txt_wrap {
			width: 300px;
		}
		.disc_wrap .pic_wrap .txt_wrap .num {
			margin: 0 0 5px;
		}
		.disc_wrap .pic_wrap .txt_wrap .price {
			font-weight: 700;
		}
		.special_disco {
			float: right;
			margin: 0 0 30px;
			width: calc(100% - 360px);
		}
		.special_disco p {
			margin: 0 0 5px;
		}
		.special_disco p:last-child {
			margin: 0;
		}
		.switch_disco {
			background: none;
			border: none;
			border-radius: 0px;
			cursor: inherit;
			font-size: 16px;
			font-weight: 700;
			float: right;
			line-height: inherit;
			margin: 0 0 20px;
			pointer-events: none;
			text-align: left;
			width: calc(100% - 360px);
		}
		.switch_disco:after {
			display: none;
		}
		.detail_disco {
			background: none;
			display: block !important;
			float: right;
			margin: 0;
			padding: 0px;
			width: calc(100% - 360px);
		}
		.detail_disco .ttl {
			font-weight: 700;
			margin: 0 0 15px;
		}
		.detail_disco ul {
			margin: 0 0 23px;
		}
		.detail_disco li {
			margin: 0 0 5px 25px;
		}
		.detail_disco li:last-child {
			margin: 0 0 0 25px;
		}
		.closeBtnHat {
			display: none;
		}
		.btn_01.listen {
			font-size: 20px;
			line-height: 60px;
			position: sticky; left: calc(50% - 300px);
			transition:all 0.3s ease-in-out;
			width: 600px;
		}
		.btn_01.listen:after {
			height: 20px;
			background: url("../img/icn_listen.png") no-repeat;
			background-size: contain;
			border: none;
			position: absolute; top: calc(50% - 8px); right: 7%;
			transform:rotate(0deg);
			width: 20px;
		}
		.btn_01.btn_disco_01 {
			font-size: 20px;
			height: 44px;
			line-height: 44px;
			max-width: 580px;
		}
		.btn_01.btn_back {
			font-size: 20px;
			height: 44px;
			line-height: 44px;
			max-width: 580px;
		}
		.btn_01.btn_back:hover {
			color: #252525 !important;
		}
		.btn_wrap_disco,
		 body.login .btn_wrap_disco {
			background: none;
			margin: 0 auto 30px;
			max-width: 1000px;
			padding: 60px 0;
		}
		.btn_wrap_disco a {
			margin-bottom: 20px;
		}
}




/* ================ BIOGRAPHY ================*/

.biography_wrap_01 {
	background: #f4f4f4;
	margin: 0 auto 15px;
	padding: 0 0 30px;
	width: 94%;
}
.biography_wrap_01 .img_wrap {
	margin: 0 auto 15px;
	position: relative;
	width: 94%;
}
.biography_wrap_01 .img_wrap img {
	z-index: 2;
	position: relative
}
.biography_wrap_01 .img_wrap:before {
	background: #fff;
	content: "";
	height: 50%;
	line-height: 1.6;
	position: absolute; top: 0; left: -10%;
	width: 120%;
	z-index: 1;
}
.biography_wrap_01 .txt_wrap {
	margin: 0 auto;
	width: 86%;
}
.biography_wrap_01 .txt_wrap .ttl {
	font-weight: 700;
	margin: 0 0 5px;
}
.biography_wrap_01 .txt_wrap .txt {
	font-size: 4vw;
}

.tab_wrap.biography li:first-child {
	width: 100%;
}

.form_select {
	overflow: hidden;
	width: 94%;
	margin: 0 auto 30px;
	text-align: center;
}
.form_select select {
	-webkit-appearance: none;
	appearance: none;
	background: url("../img/bg_blue.png");
	background-size: 6px;
	box-shadow: none;
	border: none;
	border-radius: 0;
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	outline: none;
}
.form_select select::-ms-expand {
    display: none;
}
.form_select.cp_sl04 {
	background: none;
	position: relative;
	text-align: center;
}
.form_select.cp_sl04::before {
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	content: '';
	height: 8px;
	position: absolute; right: 7%; top: calc(50% - 8px);
	padding: 0;
	pointer-events: none;
	transform:rotate(45deg);
	width: 8px;
}
.form_select.cp_sl04 select {
	color: #fff;
	display: inline-block;
	font-size: 5vw;
	padding: 8px;
	text-align: center;
}
.form_select option {
	text-align: center;
	width: 100%;
}

.ul_biography {
	margin: auto;
	width: 94%;
}
.ul_biography li {
	border-bottom: solid 1px #dfdfdf;
	margin: 0 0 15px;
	padding: 0 3% 15px;
}
.ul_biography li .day_wrap {
	margin: 0 0 10px;
	overflow: hidden;
}
.ul_biography li .day_wrap .day {
	float: left;
}
.ul_biography li .day_wrap .day span {
	color: #af0402;
	display: inline-block;
	letter-spacing: 0.05em;
	padding: 0 0 0 5px;
}
.ul_biography li .day_wrap .tag {
	color: #fff;
	float: right;
	font-size: 3.3vw;
	min-width: 80px;
	padding: 2px 10px;
	text-align: center;
}
.ul_biography li .day_wrap .tag.liveevent { background: #a6ad29;}
.ul_biography li .day_wrap .tag.others { background: #80ad29;}
.ul_biography li .day_wrap .tag.release { background: #62ad9c;}
.ul_biography li .day_wrap .tag.cm { background: #5c09aa;}
.ul_biography li .day_wrap .tag.tvradio { background: #95098c;}
.ul_biography li .day_wrap .tag.dramamovie { background: #b54849;}

.txt_biography {
	line-height: normal;
  max-height: 3.6em;
  overflow: hidden;
}
a.opnbtn {
	background: #f4f4f4;
	border-radius: 20px;
  clear: both;
	color: #252525;
  display: inline-block;
	font-size: 3.3vw;
	margin: 15px auto 0;
  padding: 2px 5px ;
  text-align: center;
  width: 100px !important;
  z-index: 15000;
}
a.clsbtn {
	background: #f4f4f4;
	border-radius: 20px;
	color: #252525;
  clear: both;
  display: block;
	font-size: 3.3vw;
	margin: 15px auto 0;
  padding: 2px 5px ;
	text-align: center;
  width: 100px !important;
  z-index: 15000;
}

.link_wrap_biography {
	margin: auto;
	overflow: hidden;
	width: 94%;
}
.link_wrap_biography .prev {
	float: left;
	padding: 0 0 0 20px;
	position: relative;
}
.link_wrap_biography .next {
	float: right;
	padding: 0 20px 0 0;
	position: relative;
}
.link_wrap_biography .prev:after,
.link_wrap_biography .next:after {
	background: url("../img/icn_arrow.png") no-repeat;
	background-size: contain;
	content: "";
	height: 12px;
	position: absolute; left: 0; top: calc(50% - 6px);
	width: 12px;
}

.link_wrap_biography .next:after {
	background: url("../img/icn_arrow.png") no-repeat;
	background-size: contain;
	position: absolute; left: inherit;right: 0; top: calc(50% - 6px);
	transform:rotate(180deg);
}
@media only screen and (min-width: 768px) {
		.biography_wrap_01 {
			align-items: center;
			background: none;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto 60px;
			max-width: 1000px;
			padding: 0;
		}
		.biography_wrap_01 .img_wrap {
			margin: 0;
			width: 48%;
		}
		.biography_wrap_01 .img_wrap:before {
			display: none;
		}
		.biography_wrap_01 .txt_wrap {
			margin: 0;
			width: 48%;
		}
		.biography_wrap_01 .txt_wrap .ttl {
			font-size: 20px;
			margin: 0 0 5px;
			width: 100%;
		}
		.biography_wrap_01 .txt_wrap .txt {
			font-size: 15px;
			width: 100%;
		}
		.tab_wrap.biography {
			margin: 0 auto 20px;
		}
		.tab_wrap.news {
			margin: 0 auto 30px;
		}
		.tab_wrap.biography li:first-child {
			margin: 0 0 10px;
			width: 100%;
		}
		
		.form_wrap_biography {
			margin: 0 auto 40px;
			max-width: 1000px;
			width: 94%;
		}
		.form_select {
			border: solid 1px #cbcbcb;
			margin: 0;
			max-width: 300px;
		}
		.form_select select {
			background: #252525;
		}
		.form_select.cp_sl04::before {
			border-bottom: solid 2px #cbcbcb;
			border-right: solid 2px #cbcbcb;
		}
		.form_select.cp_sl04 select {
			background: #fff;
			color: #252525;
			font-size: 16px;
			padding: 13px
		}
		.form_select option {
			width: 100%;
		}
		.form_wrap_biography.magazine {
			max-width: 800px;
		}
		.form_select.magazine {
			border: none;
			margin: auto ;
			max-width: 100%;
			width: 100%;
		}
		.form_select.magazine select {
			background: url("../img/bg_blue.png");
			background-size: 6px;
			color: #fff;
		}
		.form_select.magazine select option {
			background: #252525;
		}
		.ul_biography {
			margin: auto;
			max-width: 1000px;
		}
		.ul_biography li {
			border-bottom: solid 1px #dfdfdf;
			margin: 0 0 30px;
			padding: 0 10px 30px;
		}
		.ul_biography li .day_wrap .day span {
			color: #af0402;
			display: inline-block;
			letter-spacing: 0.05em;
			padding: 0 0 0 5px;
		}
		.ul_biography li .day_wrap .tag {
			font-size: 12px;
			min-width: 160px;
		}

		a.opnbtn {
			font-size: 12px;
		}
		a.clsbtn {
			font-size: 12px;
		}
		a.opnbtn:hover,
		a.clsbtn:hover {
			opacity: 0.6;
		}

		.link_wrap_biography {
			margin: 0 auto 60px;
			max-width: 1000px;
		}
}




/* ================ FANCLUB ================*/

.txt_fanclub_01,
.txt_page_01 {
	margin: 0 auto 15px;
	max-width: 1000px;
	width: 94%;
}
.fanclub_wrap_01 {
	border-bottom: solid 2px #ccc;
	margin: 0 0 5px;
	padding: 30px 0;
}
.fanclub_wrap_01 .inner {
	margin: auto;
	max-width: 1000px;
	width: 94%;
}
.fanclub_wrap_01 .inner .logo_wrap {
	align-items: center;
	border-bottom: solid 1px #ccc;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 15px;
	padding: 0 0 15px;
}
.fanclub_wrap_01 .inner .logo_wrap .img_wrap {
	flex-basis: auto;
	margin: auto;
	width: 80%;
}
.fanclub_wrap_01 .inner .logo_wrap .img_wrap.fmobile {
	width: 65%;
}
.fanclub_wrap_01 .inner .logo_wrap .txt_wrap {
	flex-basis: auto;
	text-align: center;
	width: 100%;
}
.fanclub_wrap_01.color3 .inner .logo_wrap .img_wrap {
	flex-basis: auto;
	width: 48%;
}
.fanclub_wrap_01.color3 .inner .logo_wrap .txt_wrap {
	flex-basis: auto;
	text-align: center;
	width: 48%;
}
.fanclub_wrap_01 .inner .price {
	margin: 0 0 14px;
	text-align: center;
}
.fanclub_wrap_01 .inner .price span {
	font-weight: 700;
	margin: 0 10px 0 0;
}

.fanclub_wrap_01.color2 {
	color: #252525;
}

.fanclub_wrap_01.color3 {
	color: #252525;
	margin: 0 0 30px;
	padding: 20px 0;
}
.fanclub_wrap_01.color3 .inner .logo_wrap {
	border-bottom: none;
	margin-bottom: 0;
}
.fanclub_wrap_01.color3 .inner .price {
	margin: 0 0 10px;
	text-align: left;
}

.fanclub_wrap_01 .btn_01 {
	font-size: 4.25vw;
	width: 100%;
}
.fanclub_wrap_01 .btn_01 {
	border: 2px solid #0d348b;
	margin-bottom: 15px;
}
_:-ms-fullscreen, :root .fanclub_wrap_01 .btn_01 {
	height: 40px;
	line-height: 50px;
}

.table_fanclub {
	border: solid 1px #ccc;
	border-collapse: collapse;
	margin: 0 auto 30px;
	max-width: 1000px;
	width: 94%;
}
.table_fanclub tr:nth-child(2n) td {
	background: #f4f4f4;
}
.table_fanclub td,
.table_fanclub th {
	font-size: 3.3vw;
	font-feature-settings: "palt";
	padding: 10px 5px;
	text-align: center;
	vertical-align: middle;
}
.table_fanclub tr td.ttl2 {
	font-weight: 700;
	text-align: left;
	width: 35%;
}
.table_fanclub tr td.ttl2 .new {
	background: url("../img/icn_new.png") no-repeat left;
	background-size: contain;
	display: inline-block;
	height: .9em;
	padding: 0 5px 0 0;
	width: calc(3.5em + 0px);
}
.table_fanclub th {
	background: #fff;
	border-bottom: solid 1px #f4f4f4;
	position: sticky;
	top: 69px;
}
.table_fanclub th:after {
	background: #ccc;
	content: "";
	height: 1px;
	position: absolute ; bottom: 0; left: 0;
	width: 100%;
}
.table_fanclub td.ttl {
	background: #555 !important;
	border-bottom: solid 1px #fff;
	color: #fff;
	padding: 5px;
	text-align: center;
	vertical-align: middle;
	width: 30px !important;
}
.table_fanclub td.ttl.bdn {
	border-bottom: none;
}
.table_fanclub td.ttl p {
	column-count: 1;
	display: inline-block;
	font-size: 2.8vw;
	letter-spacing: normal;
	white-space: nowrap;
	writing-mode: vertical-rl;
}
@media only screen and (min-width: 768px) {
		.fanclub_box {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
		.fanclub_box .fanclub_wrap_01 {
			flex-basis: auto;
			width: 50%;
		}
		.txt_fanclub_01,
		.txt_page_01 {
			margin: 0 auto 20px;
			text-align: center;
		}
		.fanclub_wrap_01 {
			border-bottom: solid 1px #ccc;
			border-top: solid 1px #ccc;
			padding: 60px 0 80px;
		}
		.fanclub_wrap_01 .inner .logo_wrap {
			display: block;
			margin: 0 auto 30px;
			max-width: 94%;
			padding: 0 0 30px;
			width: 580px;
		}
		.fanclub_wrap_01 .inner .logo_wrap .img_wrap {
			margin: 0 auto 20px;
			min-height: 270px;
			overflow: hidden;
			position: relative;
			max-width: 400px;
		}
		.fanclub_wrap_01 .inner .logo_wrap .img_wrap.mh_0 {
			min-height: 0;
			}
		.fanclub_wrap_01 .inner .logo_wrap .img_wrap::before {
			position: absolute;
			top: 0;
			left: -75%;
			z-index: 2;
			display: block;
			content: '';
			width: 50%;
			height: 100%;
			background: -webkit-linear-gradient(left, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 100%);
			background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.8) 100%);
			-webkit-transform: skewX(-25deg);
			transform: skewX(-25deg);
		}
		.fanclub_wrap_01 .inner .logo_wrap .img_wrap:hover::before {
			animation: shine .9s;
		}


		.fanclub_wrap_01.color2 {
			border-left: solid 1px #ccc;
		}
		.fanclub_wrap_01.color2 .inner .logo_wrap .img_wrap {
			margin: 0 auto 20px;
			max-width: 300px;
		}
		.fanclub_wrap_01 .inner .logo_wrap .txt_wrap {
			text-align: center;
			width: 100%;
		}
		.fanclub_wrap_01 .inner .price {
			margin: 0 0 10px;
		}
		.fanclub_wrap_01 .inner .price.last {
			margin: 0 0 20px;
		}
		.fanclub_wrap_01 .inner .price span {
			margin: 0 20px 0 0;
		}


		.fanclub_wrap_01.color3 {
			border-top: none;
			margin: 0 0 60px;
			padding: 40px 0;
		}
		.fanclub_wrap_01.color3 .inner .logo_wrap {
			align-items: center;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: auto;
			min-width: 800px;
		}
		.fanclub_wrap_01.color3 .inner .logo_wrap .img_wrap {
			flex-basis: auto;
			margin: 0;
			width: 234px;
		}
		.fanclub_wrap_01.color3 .inner .logo_wrap .txt_wrap {
			flex-basis: auto;
			text-align: left;
			width: calc(100% - 284px);
		}
		.fanclub_wrap_01 .btn_01 {
			font-size: 16px;
			max-width: 70%;
			width: 580px;
		}
		.btn_01.btn_fanclub:hover {
			box-shadow: 0 4px 1px rgba(255,255,255,.2);
			transform: translate(0px,-4px);
			transition:all .3s ease-in-out;
		}

		.table_fanclub td,
		.table_fanclub th {
			font-size: 16px;
			padding: 20px;
		}
		.table_fanclub tr td.ttl2 {
			font-weight: 700;
			min-width: 250px;
			text-align: left;
		}
		.table_fanclub th {
			top: 110px;
		}
		body.login .table_fanclub th {
			top: 159px;
		}
		.table_fanclub th img {
			height: auto;
			width: 60%;
		}
		.btn_plus_wrap {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 100%;
		}
		.btn_plus_wrap .btn_01 {
			margin-bottom: 0 !important;
			flex-basis: auto;
			width: 48%;
		}
		.table_fanclub td.ttl {
			padding: 9px;
			width: 24px !important;
		}
		.table_fanclub td.ttl p {
			font-size: 16px;
		}
}
@-webkit-keyframes shine {
  100% {
    left: 125%;
  }
}
@keyframes shine {
  100% {
    left: 125%;
  }
}




/* ================ NEWS ================*/

.ttl_wrap_detail {
	margin: 0 auto 20px;
	max-width: 1000px;
	width: 94%;
}
.ttl_wrap_detail .ttl_detail {
	font-size: 5.5vw;
	margin: 0 0 20px;
}

.ttl_wrap_detail .ttl_detail span {
	padding: 0 0 0 0;
	position: relative;
}

.ttl_wrap_detail .ttl_detail.newspaper span:after,
.ttl_wrap_detail .ttl_detail.douga span:after {
	background: url("../img/icn_newspaper.png") no-repeat;
	background-size: contain;
	content: "";
	height: 1em;
	opacity: .92;
	position: absolute; left: 0; top: 5%;
	width: 1em;
}
.ttl_wrap_detail .ttl_detail.douga span:after {
	background: url("../img/icn_douga.png") no-repeat;
	background-size: contain;
	top: 14%;
}

.ttl_wrap_detail .sub_wrap {
	border-bottom: solid 1px #ccc;
	overflow: hidden;
	padding: 0 0 5px;
}
.ttl_wrap_detail .sub_wrap .tag {
	color: #fff;
	float: right;
	font-size: 3.3vw;
	min-width: 80px;
	padding: 2px 10px;
	text-align: center;
}
.ttl_wrap_detail .sub_wrap .tag.live { background: #a6ad29;}
.ttl_wrap_detail .sub_wrap .tag.media { background: #deaeda;}
.ttl_wrap_detail .sub_wrap .tag.others { background: #80ad29;}
.ttl_wrap_detail .sub_wrap .tag.release { background: #62ad9c;}
.ttl_wrap_detail .sub_wrap .tag.fanclub { background: #af0402;}
.ttl_wrap_detail .sub_wrap .tag.cm { background: #5c09aa;}

.ttl_wrap_detail .sub_wrap .day {
	color: #acacac;
	float: left;
}

.article_wrap {
	margin: 0 auto 30px;
	max-width: 940px;
	width: 90%;
}
.article_wrap b {
	font-weight: 700;
}
.ult-btn {
	background: url(../img/bg_blue.png) repeat;
	background-size: 6px;
	border-radius: 40px;
	color: #fff;
	display: inline-block !important;
	font-size: 3.3vw;
	font-weight: 700;
	height: 40px;
	line-height: 40px;
	position: relative;
	text-align: center;
	text-decoration: none !important;
	width: 94%;
}
.ult-btn:after {
	height: 8px;
	border-bottom: solid 2px #fff;
	border-right: solid 2px #fff;
	content: "";
	position: absolute; top: calc(50% - 5px); right: 7%;
	transform:rotate(-45deg);
	width: 8px;
}
.article_wrap img {
	height: auto;
	margin: 0 0 0 0;
}
.article_wrap p {
	margin-bottom: 30px;
}
.article_wrap a {
	display: inline;
	text-decoration: underline;
}
@media only screen and (min-width: 768px) {
		.ttl_wrap_detail {
			margin: 0 auto 60px;
		}
		.ttl_wrap_detail .ttl_detail {
			font-size: 30px;
			margin: 0 0 30px;
			text-align: center;
		}
		.ttl_wrap_detail .sub_wrap {
			padding: 0 0 10px;
		}
		.ttl_wrap_detail .sub_wrap .day {
			display: inline-block;
			margin: 0 30px 0 0;
		}
		.ttl_wrap_detail .sub_wrap .tag {
			display: inline-block;
			font-size: 12px;
			min-width: 160px;
		}
		_:-ms-fullscreen, :root .ttl_wrap_detail .sub_wrap .tag {
		 	height: 26px;
			line-height: 33px;
		}
		
		.article_wrap {
			margin: 0 auto 60px;
		}
		.ult-btn {
			font-size: 16px;
			transition:all .3s ease-in-out;
			width: 460px;
		}
		.ult-btn:hover {
			box-shadow: 0 4px 1px rgba(0,0,0,.2);
			color: #fff !important;
			transform: translate(0px,-4px);
			transition:all .3s ease-in-out;
		}
		.article_wrap div {
			margin: auto;
			max-width: 87%;
		}
		.article_wrap img {
			height: auto;
			margin: 0;
			max-width: 100%;
		}
		.article_wrap p {
			margin-bottom: 2em;
		}
		.article_wrap a:hover {
			opacity: 0.6;
		}
}




/* ================ MOVIE ================*/

.ul_movie {
	margin: auto;
	max-width: 1000px;
	width: 100%;
}
.ul_movie li {
	margin: 0 0 40px;
}
.ul_movie li .img_wrap {
	margin: 0 0 10px;
}
.ul_movie li .img_wrap img {
	height: auto;
	width: 100%;
}
.ul_movie li p {
	font-weight: 700;
	padding: 0 5%;
	text-align: center;
}

.ul_movie.size2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 30px;
	max-width: 700px;
	width: 90%;
}
.ul_movie.size2 li {
	margin: 0;
	width: 48%;
}
@media only screen and (min-width: 768px) {
		.ul_movie {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 90%;
		}
		.ul_movie li {
			flex-basis: auto;
			margin: 0 0 40px;
			width: 48%;
		}
		.ul_movie li .img_wrap {
			background: #252525;
			margin: 0 0 10px;
			overflow: hidden;
			position: relative;
			padding: 28%;
		}
		.ul_movie li .img_wrap img {
			height: auto;
			margin: auto;
			position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
			transition:all .3s ease-in-out;
			width: 100%;
		}
		.ul_movie li a:hover img {
				transform: scale(1.1,1.1);
				transition:all .3s ease-in-out;
		}
		.ul_movie li p {
			font-weight: 700;
			padding: 0 5%;
			text-align: center;
		}
		.ul_movie.size2 {
			margin: 0 auto 60px;
		}
}

/* detail */

.movie_wrap {
	margin: 0 auto 15px;
	max-width: 1000px;
	width: 100%;
}
.movie_wrap .inner {
	height: 0;
	padding-top: 56.25%;
	position: relative;
	width: 100%;
}
.movie_wrap .inner iframe {
	height: 100% !important;
	position: absolute; top: 0; left: 0;
	width: 100% !important;
}
.movie_wrap .inner img {
	height: auto;
	margin: auto;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: 100% !important;
}
.movie_wrap .inner video {
	height: auto!important;
	position: absolute; top: 0; left: 0;
	width: 100% !important;
}
.movie_detail {
	margin: 0 auto 30px;
	max-width: 700px;
	width: 90%;
}
.movie_detail p {
	margin: 0 0 2em;
}
.movie_detail p:last-child {
	margin: 0;
}
@media only screen and (min-width: 768px) {
		.movie_wrap {
			margin: 0 auto 60px;
			width: 90%;
		}
		.movie_detail {
			margin: 0 auto 80px;
		}
		.btn_01.listen.movie {
			bottom: inherit;
			left: inherit;
			line-height: 44px;
			transition:all 0.3s ease-in-out;
			width: 580px;
		}
}




/* ================ 福山動画 ================*/

.tab_wrap.f_douga {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 15px;
	max-width: 1000px;
	width: 94%;
}
.tab_wrap.f_douga li {
	width: 49%;
}
@media only screen and (min-width: 768px) {	
		.tab_wrap.f_douga {
			margin: 0 auto 40px;
		}
  .ul_movie.f_douga li {
			flex-basis: auto;
			width: 49%;
		}
		.ul_movie.f_douga li .img_wrap {
			padding: 49%;
		}
}




/* ================ BROSTAGRAM ================*/

.ul_fukusta {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}
.ul_fukusta li {
	margin: 0 auto 30px;
}
.ul_fukusta.size2 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	max-width: 700px;
	width: 94%;
}
.ul_fukusta.size2 li {
	flex-basis: auto;
	margin: 0;
	width: 48%;
}
.ul_fukusta li .img_wrap {
	margin: 0 auto 10px;
	overflow: hidden;
	padding: 100% 0 0;
	position: relative;
	width: 100%;
}
.ul_fukusta li .img_wrap img {
	height: 100%;
	margin: auto;
	object-fit: cover;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: 100%;
}
.ul_fukusta li p {
	font-weight: 700;
	margin: auto;
	text-align: center;
	width: 94%;
}
@media only screen and (min-width: 768px) {
		.ul_fukusta {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 94%;
		}
		.ul_fukusta li {
			flex-basis: auto;
			margin: 0 auto 60px;
			width: 30%;
		}
		.ul_fukusta.size2 li {
			width: 45%;
		}
		.ul_fukusta li .img_wrap {
			margin: 0 auto 10px;
			overflow: hidden;
			padding: 100% 0 0;
			position: relative;
			width: 100%;
		}
		.ul_fukusta li .img_wrap img {
			transition:all .3s ease-in-out;
		}
		.ul_fukusta li a:hover img {
				transform: scale(1.1,1.1);
				transition:all .3s ease-in-out;
		}
		.ul_fukusta li p {
			text-align: justify;
			width: 100%;
		}
}

.detail_fukusta {
	margin: auto;
	max-width: 1000px;
	width: 100%;
}
.ul_fukusta_img {
	margin: 0 auto 12% !important;
	max-width: 700px;
	width: 100%;
}
.ul_fukusta_img li {
	margin: 0;
}
.ul_fukusta_img li .img_wrap {
	background: #252525;
	overflow: hidden;
	padding: 100% 0 0;
	position: relative;
	width: 100%;
}
.ul_fukusta_img li .img_wrap img {
	height: auto;
	max-height: 100%;
	max-width: 100%;
	margin: auto;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: auto;
}
.txt_wrap_fukusta {
	margin: 0 auto 30px;
	max-width: 700px;
	width: 94%;
}
.ttl_fukusta {
	font-weight: 700;
	margin: 0 0 15px;
}
.txt_fukusta {
	margin: 0 0 15px;
}
.day_fukusta {
	color: #acacac;
	text-align: right;
}
@media only screen and (min-width: 768px) {
		.ul_fukusta_img {
			margin: 0 auto 84px !important;
			width: 94%;
		}
		.detail_fukusta .slick-next {
			right: -50px;
		}
		.detail_fukusta .slick-prev {
			left: -50px;
		}
}




/* ================ 待ち受け画像 ================*/

.ul_machiuke {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 15px;
	max-width: 1000px;
	width: 94%;
}
.ul_machiuke li {
	flex-basis: auto;
	margin: 0 0 4%;
	width: 48%;
}
.ul_machiuke li .img_wrap {
	line-height: 0;
	margin: 0 auto 0px;
	overflow: hidden;
	padding: 100% 0 0;
	position: relative;
	width: 100%;
}
.ul_machiuke li .img_wrap img {
	height: 100%;
	margin: auto;
	object-fit: cover;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: 100%;
}
@media only screen and (min-width: 768px) {
		.ul_machiuke {
			display: none;
		}
}



/* ================ ご入会申し込み ================*/

.attention_wrap {
	background: #f4f4f4;
	margin: 0 auto 30px;
	padding: 3%;
	width: 94%;
}
.ttl_attention {
	font-size: 5.5vw;
	font-weight: 700;
	margin: 0 0 10px;
	padding: 0 20px;
	text-align: center;
	position: relative;
}
.ttl_attention span {
	display: inline-block;
	padding: 0 20px;
	position: relative;
}
.ttl_attention span:before {
	background: url("../img/icn_attention.png") no-repeat;
	background-size: 16px;
	content: "";
	height: 16px;
	position: absolute; left: 0; top: calc(50% - 8px);
	width: 16px;
}
.attention_wrap p {
	margin: 0 0 1em;
}
.attention_wrap p:last-child {
	margin: 0;
}
.join_wrap {
	border-top: #cbcbcb solid 2px;
	margin: auto;
	max-width: 800px;
	padding: 30px 3%;
	width: 100%;
}
.join_wrap.noline {
	border-top: none;
	padding: 0px 3% 30px;
}
.join_wrap p {
	margin: 0 0 1em;
}
.join_wrap p:last-child {
	margin: 0;
}
.rule_wrap_join {
	background: #f4f4f4;
	height: 300px;
	margin: 0 auto 30px;
	overflow-y: scroll;
	padding: 3%;
	width: 100%;
}
.rule_wrap_join a {
	display: inline-block;
	text-decoration: underline;
}
.check_wrap {
	margin: 0 auto 30px;
	width: 100%;
}


/*Checkboxes styles*/
.check_wrap input[type="checkbox"],
.check_wrap input[type="radio"]{ display: none; }

.check_wrap input[type="checkbox"] + label,
.check_wrap input[type="radio"] + label{
  display: block;
	font-weight: 700;
  position: relative;
  padding-left: 25px;
  margin-bottom: 20px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.radio_sex {
	margin-bottom: 15px;
	overflow: hidden;
}
.radio_sex input[type="radio"] + label{
	display: block;
	float: left;
	margin-bottom: 0;
  width: 50%;
}

.check_wrap input[type="checkbox"] + label:last-child,
.check_wrap input[type="radio"] + label:last-child { margin-bottom: 0; }

.check_wrap input[type="checkbox"] + label:before,
.check_wrap input[type="radio"] + label:before {
  content: '';
  display: block;
  width: 16px;
  height: 16px;
  border: 1px solid #252525;
  position: absolute;
  left: 0;
  top: 4px;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}

.check_wrap input[type="checkbox"]:checked + label:before,
.check_wrap input[type="radio"]:checked + label:before {
  width: 10px;
  top: -1px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
	border: solid 1px #0d348b;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
@media only screen and (min-width: 768px) {
		.attention_wrap {
			margin: 0 auto 60px;
			max-width: 1000px;
			padding: 30px;
		}
		.ttl_attention {
			font-size: 20px;
			margin: 0 0 30px;
			padding: 0 25px;
		}
		.ttl_attention span {
			padding: 0 25px;
		}
		.ttl_attention span:before {
			background-size: 20px;
			background-position: center;
			height: 20px;
			position: absolute; left: 0; top: calc(50% - 10px);
			width: 20px;
		}
		.join_wrap {
			border-top: #cbcbcb solid 1px;
			padding: 60px 50px;
			width: 100%;
		}
		.join_wrap.noline {
			padding: 30px 3% 60px;
		}
		.rule_wrap_join {
			height: 400px;
			margin: 0 auto 60px;
			padding: 50px;
		}
		.rule_wrap_join a {
			display: inline-block;
			text-decoration: underline;
		}
		.check_wrap {
			margin: 0 auto 30px;
			width: 700px;
		}
		.btn_01.join {
			font-size: 20px;
			width: 580px;
		}
		_:-ms-fullscreen, :root .btn_01.join {
			height: 40px;
			line-height: 58px;
		}
		_:-ms-fullscreen, :root button.btn_01.join {
			height: 40px;
			line-height: 40px;
		}
		.btn_01.btm {
			margin-bottom: 60px;
		}
		.join_wrap.tokuten {
			text-align: center;
		}
		.join_wrap.tokuten li {
			font-size: 18px;
			text-align: left;
		}
		.join_wrap .ttl_join_02 {
			font-size: 20px;
			text-align: center;
		}
}

.flow_wrap {
	background: #f4f4f4;
	margin: 0 0 25px;
	padding: 15px 3%;
}
.flow_wrap ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: auto;
	position: relative;
}
.flow_wrap ul:before {
	background: #ccc;
	content: "";
	height: 1px;
	position: absolute; top: 23.5px; left: 10%;
	width: 80%;
}
.flow_wrap ul li {
	flex-basis: auto;
	text-align: center;
	width: 23%;
}
.flow_wrap ul li .number {
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 23px;
	height: 45px;
	line-height: 45px;
	margin: 0 auto 5px;
	position: relative;
	width: 45px;
	z-index: 2;
}
.flow_wrap ul li.current .number {
	background: #0d348b;
	border: solid 1px #0d348b;
	color: #fff;
}
.flow_wrap ul li p {
	font-size: 3vw;
	font-weight: 700;
}
.txt_wrap_join {
	margin: 0 auto 30px;
	width: 94%;
}
.txt_wrap_join .ttl_join {
	font-weight: 700;
	font-size: 5.5vw;
}
.txt_wrap_join p {
	margin: 0 auto 15px;
}
.txt_wrap_join p:last-child {
	margin: 0 auto;
}

.form_wrap_01 {
	background: #f4f4f4;
	margin: 0 auto 30px;
	padding: 25px 3%;
}
.form_wrap_01.whi {
	background: #fff;
	padding: 0 3%;
}
.form_wrap_01.bg-none {
	background: none;
}
.form_txt_01 {
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 0;
	box-sizing: border-box;
	font-size: 1rem;
	height: 40px;
	line-height: 2.4em;
	margin: 0 auto 15px;
	padding: 0 10px;
	width: 100%;
}
.form_txt_01.gray {
	background: #f4f4f4;
}
.form_txt_01.size2 {
	margin: 0 0 15px;
	width: 50%;
}
.form_txtarea {
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 0;
	box-sizing: border-box;
	font-size: 1rem;
	height: 150px;
	margin: 0 auto 15px;
	padding: 0 10px;
	width: 100%;
}
.form_select_01 {
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 0;
	box-sizing: border-box;
	font-size: 16px;
	height: 3em;
	line-height: 2.4em;
	margin: 0 auto 15px;
	padding: 0 10px;
	position: relative;
	width: 100%;
}
.form_select_01:after {
	border-bottom: solid 2px #ccc;
	border-right: solid 2px #ccc;
	content: '';
	height: 8px;
	position: absolute; right: 7%; top: calc(50% - 8px);
	padding: 0;
	pointer-events: none;
	transform:rotate(45deg);
	width: 8px;
}

.btn_01.btn_mgb {
	margin-bottom: 30px;
}
.btn_01.btn_mgb2 {
	margin-bottom: 15px;
}

.form_select_02 {
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	max-width: 700px;
	text-align: center;
}
.form_select_02.mgb {
	margin: 0 auto 15px;
}
.form_select_02 select {
	-webkit-appearance: none;
	appearance: none;
	background: #fff;
	background-size: 6px;
	box-shadow: none;
	border: solid 1px #ccc;
	border-radius: 0;
	line-height: 2.0;
	width: 100%;
	padding-right: 1em;
	cursor: pointer;
	outline: none;
}
.form_select_02 select::-ms-expand {
    display: none;
}
.form_select_02.cp_sl04 {
	background: none;
	position: relative;
	text-align: center;
}
.form_select_02.cp_sl04::before {
	border-bottom: solid 2px #ccc;
	border-right: solid 2px #ccc;
	content: '';
	height: 8px;
	position: absolute; right: 7%; top: calc(50% - 8px);
	padding: 0;
	pointer-events: none;
	transform:rotate(45deg);
	width: 8px;
}
.form_select_02.cp_sl04 select {
	color: #252525;
	display: inline-block;
	font-size: 1rem;
	padding: 4px 8px;
	text-align: center;
}
.form_select_02 option {
	text-align: center;
	width: 100%;
}
@media only screen and (min-width: 768px) {
		.flow_wrap {
			margin: 0 0 50px;
			padding: 30px 0;
		}
		.flow_wrap ul {
			width: 700px;
		}
		.flow_wrap ul li .number {
			font-size: 20px;
		}
		.flow_wrap ul li p {
			font-size: 16px;
		}
		.txt_wrap_join {
			margin: 0 auto 60px;
			width: 700px;
		}
		.txt_wrap_join .ttl_join {
			font-size: 20px;
			margin: 0 0 20px;
			text-align: center;
		}

		.form_wrap_01 {
			margin: 0 auto 30px;
			padding: 30px 0;
		}
		.form_wrap_01.fanclub {
			margin: 0 auto 60px;
			padding: 60px 0;
		}
		.form_txt_01 {
			display: block;
			font-size: 1rem;
			margin: 0 auto 30px;
			padding: 0 10px;
			width: 700px;
		}
		.form_txt_01.size2 {
			margin: 0 0 30px;
		}
		.form_select_01 {
			display: block;
			margin: 0 auto 30px;
			max-width: 700px;
		}
		.btn_01.btn_mgb {
			margin-bottom: 60px;
		}
		.btn_01.btn_mgb2 {
			margin-bottom: 30px;
		}
		.form_select_02.mgb {
			margin-bottom: 30px;
		}
		.form_select_02 select {
			line-height: 1.6;
		}
		.form_select_02.cp_sl04::before {
			position: absolute; right: 20px;
		}
		.form_select_02.cp_sl04 select {
			font-size: 16px;
		}
}

.ttl_form_01 {
	font-weight: 700;
	margin: 0 0 15px;
}
.ttl_form_01 span {
	color: #af0402;
	font-size: .85rem;
	margin: 0 0 0 10px;
}
.txt_form_01 {
	font-size: .85rem;
}
.txt_form_02 {
	font-size: .85rem;
	margin: 0 0 15px;
}
.form_wrap_02,
.form_wrap_03 {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 15px;
}
.form_wrap_02 .form_txt_01,
.form_wrap_02 .form_txt_02 {
	flex-basis: auto;
	margin: 0;
	width: 49%;
}

.form_wrap_02 .form_select_01,
.form_wrap_02 .form_select_02 {
	flex-basis: auto;
	width: 50%;
}
.form_wrap_03 .form_select_01,
.form_wrap_03 .form_select_02 {
	flex-basis: auto;
	margin: 0;
	width: 49%;
}
.form_wrap_02 .form_select_01.size2,
.form_wrap_02 .form_select_02.size2 {
	flex-basis: auto;
	width: 24%;
}
.address_wrap {
	margin: 0 3%;
}
.address_wrap .parts {
	margin: 0 0 15px;
}
.address_wrap.mail {
	border-bottom: solid 1px #ccc;
	margin: 0 3% 15px;
	padding: 0 0 15px;
}
.txt_confirm_01 {
	margin: 0 auto;
	width: 94%;
}
.txt_confirm_02 {
	font-size: 3.3vw;
	margin: 0 auto;
	width: 94%;
}
.error_form {
	color: #af0402;
	font-size: .85rem;
	margin: -10px auto 15px !important;
}
.error_confirm {
	color: #af0402;
	width: 94%;
	margin: 0px auto 15px !important;
}
.btn_wrap_double {
	margin: 0 auto 15px;
}
.btn_wrap_double button {
	margin-bottom: 15px;
}
.caution_join {
	font-size: .85rem;
	width: 94%;
	margin: 0px auto 15px !important;
}
.caution_join a {
	display: inline-block;
	text-decoration: underline;
}
.pay_wrap {
	border-bottom: solid 1px #ccc;
	border-top: solid 1px #ccc;
	margin: 0 auto 15px;
	padding: 15px 0;
	width: 94%;
}
.dl_pay {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 10px;
}
.dl_pay dt {
	flex-basis: auto;
	font-size: 3.3vw;
	line-height: 1rem;
	text-align: right;
	width: 41%;
}
.dl_pay dd {
	flex-basis: auto;
	font-weight: 700;
	line-height: 1rem;
	width: 58%;
}
.detail_pay {
	background: #f4f4f4;
	font-size: 3.5vw;
	padding: 10px;
}
.detail_pay.whi {
	background: #fff;
}
#credit,
#convenience,
#payeasy {
	display: none;
}
@media only screen and (min-width: 768px) {
		.ttl_form_01 {
			font-size: 20px;
			margin: 0 auto 20px;
			width: 700px;
		}
		.txt_form_01 {
			font-size: .85rem;
			margin: auto;
			width: 700px;
		}
		.txt_form_02 {
			margin: 0 auto 15px;
			width: 700px;
		}
		.form_wrap_02,
		.form_wrap_03 {
			margin: 0 auto 30px !important;
			width: 700px;
		}
		.form_wrap_02 .form_txt_01 {
			flex-basis: auto;
			margin: 0;
			width: 49%;
		}

		.form_wrap_02 .form_select_01 {
			flex-basis: auto;
			margin-bottom: 0;
			width: 50%;
		}
		.form_wrap_03 .form_select_01 {
			flex-basis: auto;
			margin: 0;
			width: 49%;
		}
		.form_wrap_02 .form_select_01.size2 {
			flex-basis: auto;
			width: 24%;
		}
		.address_wrap {
			margin: 0 auto 60px;
			width: 660px;
		}
		.address_wrap .parts {
			margin: 0 auto 15px;
			width: 700px;
		}
		.address_wrap.size2 .parts {
			margin: 0 auto 30px;
		}
		.address_wrap.mail {
			border-bottom: solid 1px #ccc;
			margin: 0 auto 15px;
			padding: 0 0 15px;
		}
		.address_wrap .ttl_form_01 {
			font-size: 16px;
		}
		.txt_confirm_01 {
			margin: 0 auto;
			width: 680px;
		}
		.txt_confirm_02 {
			font-size: 13px;
			margin: 5px auto;
			width: 680px;
		}
		.error_form {
			margin: -25px auto 30px !important;
			width: 700px;
		}
		.error_confirm {
			width: 680px;
		}
		.btn_wrap_double {
			margin: 0 auto 30px;
		}
		.btn_wrap_double button {
			margin-bottom: 15px;
		}
		.caution_join {
			width: 700px;
			margin: 0px auto 30px !important;
		}
		.caution_join a {
			display: inline-block;
			text-decoration: underline;
		}
		.pay_wrap {
			border-bottom: solid 1px #ccc;
			border-top: solid 1px #ccc;
			margin: 0 auto 30px;
			padding: 30px 0;
			width: 94%;
		}
		.dl_pay {
			margin: 0 auto 20px;
			width: 700px;
		}
		.dl_pay dt {
			flex-basis: auto;
			font-size: 16px;
			text-align: left;
			width: 28%;
		}
		.dl_pay dd {
			flex-basis: auto;
			line-height: 1rem;
			width: 72%;
		}
		.detail_pay {
			font-size: 13px;
			margin: auto;
			padding: 10px;
			width: 700px;
		}
		.detail_pay p {
			line-height: 2;
		}
}




/* ================ BROS.会報誌 ================*/

.ul_magazine {
	margin: 0 auto 30px;
	max-width: 800px;
	width: 94%;
}
.ul_magazine li {
	margin: 0 0 30px;
}
.ul_magazine li:last-child {
	margin: 0;
}
.ul_magazine li .img_wrap {
	line-height: 0;
	margin: 0 auto 5px;
	width: 70%;
}
.ul_magazine li .img_wrap img {
	height: auto;
	width: 100%;
}
.ul_magazine li p {
	text-align: center; 
	width: 100%;
}

@media only screen and (min-width: 768px) {
		.ul_magazine {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto 0px;
		}
		.ul_magazine li { 
			flex-basis: auto;
			margin: 0 0 60px;
			width: 45%;
		}
		.ul_magazine li:last-child {
			margin: 0 0 60px;
		}
		.ul_magazine li .img_wrap {
			border: solid 1px #ccc;
			line-height: 0;
			margin: 0 auto 5px;
			overflow: hidden;
			width: 100%;
		}
		.ul_magazine li .img_wrap img {
			height: auto;
			transition:all .3s ease-in-out;
			width: 100%;
		}
		.ul_magazine li a:hover .img_wrap img {
			transform: scale(1.05,1.05);
			transition:all .3s ease-in-out;
		 }
		.ul_magazine li p {
			text-align: center;
			width: 100%;
		}
}




/* ================ Message Form ================*/

.ul_news.message {
	border-top: solid 1px #ccc;
	padding: 15px 0 0;
}
.ul_news.message li,
.ul_news.message li:last-child {
	border-bottom: solid 1px #ccc;
}
.ul_news li .day_wrap .tag.now { background: #0d348b;}
.ul_news li .day_wrap .tag.end { background: #af0402;}
.ttl_wrap_detail .sub_wrap .now { background: #0d348b;}
.ttl_wrap_detail .sub_wrap .end { background: #af0402;}

.message_detail_wrap {
	margin: 0 auto 30px;
	width: 94%;
}
.message_form_wrap {
	margin: 0 0 30px;
	padding: 30px 0 0;
}
.txt_message_01 {
	margin: 0 0 15px;
	overflow: hidden;
}
.txt_message_01 .right {
	font-size: .85rem;
	float: right;
}
.message_form_wrap .form_box {
	border-top: solid 1px #ccc;
	margin: 0 0 15px;
	padding: 15px 3%;
}
.message_form_wrap .form_box .ttl {
	font-weight: 700;
	margin: 0 0 15px;
}
.message_form_wrap .form_box .ttl span {
	color: #af0402;
	font-size: .85rem;
}
.form_txtarea_01 {
	background: #fff;
	border: solid 1px #ccc;
	border-radius: 0;
	box-sizing: border-box;
	font-size: 1rem;
	height: 150px;
	margin: 0 auto;
	padding: 5px 10px;
	width: 100%;
}
.txt_confirm_01 {
	margin: auto;
	width: 94%;
}
.txt_confirm_01.mgb {
	margin-bottom: 1rem;
}
.message_form_wrap .form_box .form_txt_01,
.message_form_wrap .form_box .form_select_01{
	margin-bottom: 0;
}
.message_form_wrap .form_box .error_form {
	color: #af0402;
	margin: 5px 0 0 !important;
}
@media only screen and (min-width: 768px) {
		.ul_news.message {
			padding: 30px 0 0;
		}
		.message_detail_wrap {
			margin: 0 auto 60px;
			max-width: 800px;
		}
		.message_form_wrap {
			margin: 0 0 30px;
			padding: 60px 0 0;
		}
		.txt_message_01 {
			margin: 0 0 30px;
		}
		.message_form_wrap .form_box {
			margin: 0 0 30px;
			padding: 30px 10px;
		}
		.message_form_wrap .form_box .ttl {
			margin: 0 0 30px;
		}
		.form_txtarea_01 {
			background: #fff;
			border: solid 1px #ccc;
			border-radius: 0;
			box-sizing: border-box;
			display: block;
			font-size: 1rem;
			height: 150px;
			margin: 0 auto;
			padding: 5px 10px;
			width: 700px;
		}
		.txt_confirm_01 {
			margin: auto;
			width: 680px;
		}
		.message_form_wrap .form_box .form_txt_01,
		.message_form_wrap .form_box .form_select_01{
			margin-bottom: 0;
		}
		.message_form_wrap .form_box .error_form {
			color: #af0402;
			margin: 10px auto 0 auto !important;
		}
}




/* ================ RADIO ================*/

.ul_radio {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
}
.ul_radio li {
	margin: 0 auto 60px;
}
.ul_radio li:last-child {
	margin: 0 auto 30px;
}

.ul_radio li .img_wrap {
	margin: 0 auto 10px;
	overflow: hidden;
	padding: 100% 0 0;
	position: relative;
	width: 100%;
}
.ul_radio li .img_wrap img {
	height: 100%;
	margin: auto;
	object-fit: cover;
	position: absolute; top: -100%; bottom: -100%; left: -100%; right: -100%;
	width: 100%;
}
.ul_radio li .ttl_radio {
	font-weight: 700;
	margin: auto;
	text-align: center;
	width: 94%;
}
.ul_radio li p {
	padding: 0 3%;
}
@media only screen and (min-width: 768px) {
		.ul_radio {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			width: 94%;
		}
		.ul_radio li {
			flex-basis: auto;
			margin: 0 auto 60px;
			width: 29%;
		}
		.ul_radio li .img_wrap {
			margin: 0 auto 10px;
			overflow: hidden;
			padding: 100% 0 0;
			position: relative;
			width: 100%;
		}
		.ul_radio li .img_wrap img {
			transition:all .3s ease-in-out;
		}
		.ul_radio li a:hover img {
				transform: scale(1.1,1.1);
				transition:all .3s ease-in-out;
		}
		.ul_radio li p.ttl_radio {
			font-size: 1rem;
			margin: 0 0 5px;
		}
		.ul_radio li p {
			font-size: .85rem;
			padding: 0;
			text-align: justify;
			width: 100%;
		}
}




/* ================ MYPAGE ================*/

/* login */
.white_wrap_01 {
	border-top: solid 2px #ccc;
	padding: 25px 0;
}
body.login .white_wrap_01 {
	background: #fff;
	padding: 25px 0;
}

.ul_loginmenu {
	border-top: solid 1px #ccc;
}
.ul_loginmenu li {
	border-bottom: solid 1px #ccc;
	padding: 15px 3%;
	position: relative;
}
.ul_loginmenu li:after {
	height: 8px;
	border-bottom: solid 2px #ccc;
	border-right: solid 2px #ccc;
	content: "";
	position: absolute; top: calc(50% - 5px); right: 3%;
	transform:rotate(-45deg);
	width: 8px;
}
@media only screen and (min-width: 768px) {
		/* login */
		.white_wrap_01 {
			background: #f4f4f4;
			border: none;
			margin-bottom: -30px;
			padding: 50px 0;
		}
		body.login .white_wrap_01 {
			padding: 50px 0;
		}

		.ul_loginmenu {
			border-top: solid 1px #ccc;
			margin: auto;
			max-width: 800px;
		}
		.ul_loginmenu li {
			border-bottom: solid 1px #ccc;
			padding: 15px 10px;
		}
		.ul_loginmenu li:after {
			position: absolute; top: calc(50% - 5px); right: 10px;
			transition:all .3s ease-in-out;
		}
		.ul_loginmenu li:hover:after {
			right: 0px;
			transition:all .3s ease-in-out;
		}
		.ul_loginmenu li a {
			transition:all .3s ease-in-out;
		}
		.ul_loginmenu li:hover a {
			opacity: .6;
			transition:all .3s ease-in-out;
		}
}

/* パスワード再発行 */
.ttl_page_01 {
	font-weight: 700;
	margin: 0 auto 15px;
	text-align: center;
	width: 94%;
}
.address_wrap.size2 {
	margin: 0;
}
@media only screen and (min-width: 768px) {
		.ttl_page_01 {
			margin: 0 auto 30px;
			width: 700px;
		}
		.txt_page_01.size2 {
			max-width: 700px;
			text-align: left;
		}
		.address_wrap.size2 {
			margin: 0 auto 50px;
			width: 800px;
		}
}

.name_wrap_mypage {
	background: rgba(255,255,255,.5);
	font-size: 6.6vw;
	margin: 0 auto 15px;
	padding: 15px 0;
	text-align: center;
}
.num_wrap_mypage {
	margin: 0 auto 10px;
	padding: 15px 0;
	text-align: center;
}
.num_wrap_mypage .inner {
	display: inline-block;
}
.num_wrap_mypage .inner span {
	margin: 0 0 0 1em;
}
.num_wrap_mypage .inner p {
	margin:  0 0 1em;
}
.num_wrap_mypage .inner p:last-child {
	margin: 0;
}
.whi_wrap_mypage {
	background: rgba(255,255,255,.5);
	margin: 0 auto 15px;
	padding: 30px 0;
}

.ul_news.mypage {
	margin-bottom: 30px;
}
.ul_news.mypage li:last-child {
	border-bottom: solid 1px #ccc;
	padding-bottom: 15px;
}
.ul_news.mypage li .day_wrap .day span {
	background: none;
	height: 1.2em;
	padding: 0 0 0 .5em;
	position: relative;
	width: 3em;
}
.ul_news.mypage li .day_wrap .day span:after {
	content: "重要";
	color: #af0402;
	font-weight: 700;
	position: absolute; top: 0; right: 0;
}

.menu_mypage {
	background: rgba(255,255,255,.5);
	border-top: solid 1px #ccc;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.menu_mypage li {
	border-bottom: solid 1px #ccc;
	border-right: solid 1px #ccc;
	flex-basis: auto;
	line-height: 1.2;
	padding: 15px 0;
	text-align: center;
	width: 33.333333%;
}
.menu_mypage li.current {
	background: #fff;
}
.menu_mypage li .icn_wrap {
	margin: 0 auto 10px;
	width: 11vw;
}
.menu_mypage li p {
	font-weight: 700;
}
.menu_mypage li p.en {
	font-size: 2.5vw;
	padding: 3px 0 0;
}
.btn_01.mypage {
	margin-bottom: 30px;
}
.btn_wrap_disco.mypage {
	border-bottom: none !important;
	margin-bottom: 0 !important;
}
.menu_mypage.plus li:nth-child(4),
.menu_mypage.plus li:nth-child(5){
	width: 50%;
}

.menu_mypage.menu5 li:nth-child(4),
.menu_mypage.menu5 li:nth-child(5){
	width: 50%;
}
.menu_mypage.menu6 li,
.menu_mypage.menu9 li {
	width: 33.333%;
}
.menu_mypage.menu7 li:nth-child(4),
.menu_mypage.menu7 li:nth-child(5),
.menu_mypage.menu7 li:nth-child(6),
.menu_mypage.menu7 li:nth-child(7){
	width: 50%;
}
.menu_mypage.menu8 li:nth-child(7),
.menu_mypage.menu8 li:nth-child(8){
	width: 50%;
}
.menu_mypage.menu10 li:nth-child(7),
.menu_mypage.menu10 li:nth-child(8),
.menu_mypage.menu10 li:nth-child(9),
.menu_mypage.menu10 li:nth-child(10){
	width: 50%;
}

@media only screen and (min-width: 768px) {
		.name_wrap_mypage {
			font-size: 24px;
		}
		.num_wrap_mypage {
			margin: 0 auto 15px;
			padding: 15px 0;
			text-align: center;
		}
		.whi_wrap_mypage {
			background: rgba(255,255,255,.5);
			margin: 0 auto 15px;
			padding: 60px 0;
		}

		.ul_news.mypage {
			border-top: solid 1px #ccc;
			height: auto;
			margin-bottom: 30px;
			max-width: 1000px;
			padding-top: 15px;
			width: 94%;
		}

		.menu_mypage {
			background: rgba(255,255,255,.5);
			border-top: solid 1px #ccc;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin-bottom: -30px;
		}
		.menu_mypage li {
			line-height: 1;
			padding: 0;
			transition:all .3s ease-in-out;
		}
		.menu_mypage li a {
			padding: 30px 0;
		}
		.menu_mypage li:hover,
		.menu_mypage li.current {
			background: #fff;
		}
		.menu_mypage li .icn_wrap,
		.menu_mypage.plus li:first-child .icn_wrap {
			margin: 0 auto 10px;
			width: 40px;
		}
		.menu_mypage li:nth-child(7) .icn_wrap,
		.menu_mypage li:nth-child(8) .icn_wrap,
		.menu_mypage.plus li:nth-child(4) .icn_wrap,
		.menu_mypage.plus li:nth-child(5) .icn_wrap {
			width: 40px;
		}
		.menu_mypage li p {
			font-weight: 700;
			transition:all .3s ease-in-out;
		}
		.menu_mypage li p.en {
			font-size: 10px;
		}
		.menu_mypage li:hover p {
			transform: translate(0px,-6px);
			transition:all .3s ease-in-out;
		}
		.form_wrap_biography.mypage {
			background: url("../img/bg_blue.png");
			background-size: 6px;
			color: #fff;
			max-width: 1000px;
		}
}




/* ================ 待受画像 ================*/

.img_wrap_machiuke_01 {
	background: #252525;
	line-height: 0;
	margin: 0 auto 30px;
	max-width: 350px;
	width: 100%;
}
.img_wrap_machiuke_01 img {
	height: auto;
	width: 100%;
}
.btn_machiuke {
	margin-bottom: 30px;
}
@media only screen and (min-width: 768px) {
		.btn_machiuke {
			margin-bottom: 60px;
			max-width: 350px;
		}
}




/* ================ 利用規約 ================*/

.rules_wrap {
	margin: 0 auto 30px;
	max-width: 800px;
	width: 94%;
}
.rules_wrap a {
	display: inline-block;
	text-decoration: underline;
}
.txt_page_02 {
	font-size: 5.5vw;
	font-weight: 700;
	margin: 0 auto 15px;
	max-width: 1000px;
	width: 94%;
}
.dl_rule {
	margin: 0 0 30px;
}
.dl_rule dt {
	font-weight: 700;
}
.dl_rule dd {
	font-feature-settings: "palt";
	padding: 0 0 0 1rem;
}
.dl_rule dd a {
	display: inline-block;
	text-decoration: underline;
}
@media only screen and (min-width: 768px) {
		.rules_wrap {
			margin: 0 auto 60px;
		}
		.txt_page_02 {
			font-size: 20px;
			margin: 0 auto 30px;
		}
		.dl_rule {
			margin: 0 0 60px;
		}
		.dl_rule dd a:hover {
			opacity: .6;
		}
}




/* ================ Mypage ================*/

.logo_bros_mypage {
	display: block;
	margin: 0 auto 15px;
	max-width: 300px;
	width: 50%;
}
.logo_bros_mypage.plus {
	max-width: 250px;
	width: 46%;
}
.logo_bros_mypage.fmobile {
	max-width: 250px;
	width: 46%;
}
@media only screen and (min-width: 768px) {
		.logo_bros_mypage {
			margin: 0 auto 30px;
		}
}


/* FAQ */

.list_faq {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 30px;
	max-width: 1000px;
	width: 94%;
}
.list_faq li {
	border-bottom: solid 1px #ccc;
	font-size: .85rem;
	flex-basis: auto;
	margin: 0 0 5px;
	padding: 8px 10px;
	position: relative;
	width: 100%;
}
.list_faq li:after {
	height: 8px;
	border-bottom: solid 2px #ccc;
	border-right: solid 2px #ccc;
	content: "";
	position: absolute; top: calc(50% - 5px); right: 10px;
	transform:rotate(45deg);
	width: 8px;
}

.faq_wrap {
	margin: 0 0 30px;
}
.ttl_faq {
	border-bottom: solid 2px #252525;
	font-size: 5.5vw;
	font-weight: bold;
	margin: 0 auto 15px;
	max-width: 1000px;
	padding: 0 3% 15px;
	position: relative;
	text-align: center;
	width: 100%;
}

#faq_01 ,#faq_02 ,#faq_03 ,#faq_04 ,#faq_05 ,#faq_06 ,#faq_07 ,#faq_08 ,#faq_09 ,#faq_10 ,#faq_11 ,#faq_12 ,#faq_13 {
	position: absolute; top: -90px;
}

.dl_faq {
	margin: 0 auto 15px;
	max-width: 900px;
	width: 94%;
}
.dl_faq dt {
	border-bottom: solid 1px #ccc;
	font-feature-settings: "palt";
	font-weight: 900;
	padding: 0 2rem 8px;
	position: relative;
	transition:all .3s ease-in-out;
}
.dl_faq dt.nowOpen {
	border-bottom: none;
	transition:all .3s ease-in-out;
}
.dl_faq dt:before {
	content: "Q";
	color: #ccc;
	font-family: lato;
	font-size: 8vw;
	position: absolute; left: 0; top: -.75rem;
}
.dl_faq dt:after {
	height: 8px;
	border-bottom: solid 2px #ccc;
	border-right: solid 2px #ccc;
	content: "";
	position: absolute; top: 5px; right: 10px;
	transform:rotate(45deg);
	transition:all .3s ease-in-out;
	width: 8px;
}
.dl_faq dt.nowOpen:after {
	height: 8px;
	border-bottom: solid 2px #ccc;
	border-right: solid 2px #ccc;
	content: "";
	position: absolute; top: 8px; right: 10px;
	transform:rotate(-135deg);
	transition:all .3s ease-in-out;
	width: 8px;
}
.dl_faq dd {
	background: #ddd;
	font-feature-settings: "palt";
	border-radius: 6px;
	padding: 10px;
	position: relative;
}
@media only screen and (min-width: 768px) {
		.list_faq {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto 30px;
			max-width: 1000px;
			width: 94%;
		}
		.list_faq li {
			border: solid 1px #ccc;
			font-size: .8rem;
			margin: 0 0 10px;
			width: 24%;
		}
		.list_faq.plus li {
			width: 32%;
		}
		.list_faq li:after {
			top: calc(50% - 8px);
		}

		.faq_wrap {
			margin: 0 0 60px;
		}
		.ttl_faq {
			font-size: 20px;
			font-weight: bold;
			margin: 0 auto 30px;
		}

		#faq_01 ,#faq_02 ,#faq_03 ,#faq_04 ,#faq_05 ,#faq_06 ,#faq_07 ,#faq_08 ,#faq_09 ,#faq_10 ,#faq_11 ,#faq_12 ,#faq_13 {
			position: absolute; top: -200px;
		}

		.dl_faq {
			margin: 0 auto 30px;
		}
		.dl_faq dt {
			padding: 0 2rem 15px;
		}
		.dl_faq dt:before {
			content: "Q";
			font-size: 30px;
			top: -1rem;
		}
		.dl_faq dd {
			background: #ddd;
			font-feature-settings: "palt";
			border-radius: 6px;
			padding: 20px;
			position: relative;
		}
}




/* ================ クスノキ募金 ================*/

.kusunoki_wrap {
	border-bottom: solid 1px #ccc;
	margin: 0 auto 30px;
	max-width: 800px;
	padding: 0 0 30px;
	width: 94%;
}
.kusunoki_wrap.bdn {
	border: none;
	margin: 0 auto;
}
.img_kusunoki_01 {
	margin: 0 auto 15px;
}
.img_kusunoki_01 img {
	margin-left: -25%;
	width: 150%;
}
.txt_page_03 {
	font-size: 5.5vw;
	font-weight: 700;
	margin: 0 auto 15px;
	max-width: 1000px;
	width: 100%;
}
.img_wrap_kusunoki {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 30px;
}
.img_wrap_kusunoki .wrap {
	flex-basis: auto;
	width: 48%;
}
.dl_kusunoki {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 15px;
}
.dl_kusunoki dt {
	flex-basis: auto;
	font-weight: 700;
	width: 120px;
}
.dl_kusunoki dd {
	flex-basis: auto;
	width: calc(100% - 150px);
}
@media only screen and (min-width: 768px) {
		.kusunoki_wrap {
			margin: 0 auto 60px;
			padding: 0 0 60px;

		}
		.img_kusunoki_01 {
			margin: 0 auto 30px;
		}
		.img_kusunoki_01 img {
			margin-left: 0;
			width: 100%;
		}
		.txt_page_03 {
			font-size: 20px;
			margin: 0 auto 30px;
			text-align: center;
		}
}




/* ================ デジタル会員証 ================*/

.card_wrap {
	margin: 0 auto 15px;
	max-width: 600px;
	width: 90%;
}
.member_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 auto 30px;
	max-width: 700px;
	position: relative;
	width: 94%;
}
.member_wrap:before {
	background: #ccc;
	content: "";
	height: 1px;
	position: absolute; top: calc(50% - 0.5px); left: 0;
	width: 100%;
}
.member_wrap:after {
	background: #ccc;
	content: "";
	height: 100%;
	position: absolute; left: calc(50% - 0.5px); top: 0;
	width: 1px;
}
.dl_card {
	flex-basis: auto;
	padding: 5%;
	width: 50%;
}
.dl_card dt {
	font-family: 'Lato', sans-serif;
	font-weight: 900;
	text-align: center;
}
.dl_card dd {
	text-align: center;
}
@media only screen and (min-width: 768px) {
		.card_wrap {
			margin: 0 auto 30px;
		}
		.dl_card {
			font-size: 20px;
			padding: 15px;
		}
		.member_wrap {
			margin: 0 auto 60px;
		}
}




/* ================ ファンクラブ詳細 ================*/

.only_pc_dpib {
	display: none;
}
.only_sp_dpib {
	display: inline-block;
}
@media only screen and (min-width: 768px) {
  .only_pc_dpib {
    display: inline-block;
  }
  .only_sp_dpib {
    display: none;
  }
}

.pagettl_wrap .pagettl.fd {
	font-size: 6vw;
	line-height: 1.2;
}
.logo_fd {
	border-bottom: solid 1px #ccc;
	margin: 0 auto 15px;
	padding: 0 0 15px;
	width: 90%;
}
.logo_fd img {
	display: block;
	height: auto;
	margin: auto;
	max-width: 415px;
	width: 80%;
}
.logo_fd.fmobile img {
	max-width: 320px;
}
.txt_fd_01 {
	margin: 0 auto 30px;
	max-width: 700px;
	text-align: justify;
	width: 90%;
}
.img_fd_01 {
	margin: 0 auto;
	max-width: 700px;
	width: 100%;
}

.fd_wrap {
	border-bottom: solid 2px #252525;
	padding: 0 0 30px;
}
.ttl_fd_02 {
	font-size: 6.6vw;
	font-weight: 700;
	line-height: 1em;
	min-height: 120px;
	padding: 40px 0;
	text-align: center;
}
@media only screen and (min-width: 768px) {
		.pagettl_wrap .pagettl.fd {
			font-size: 30px;
		}
		.logo_fd {
			margin: 0 auto 30px;
			padding: 0 0 60px;
		}
		.txt_fd_01 {
			margin: 0 auto 30px;
			max-width: 700px;
			width: 90%;
		}
		.fd_wrap {
			border-bottom: solid 2px #252525;
			padding: 0 0 60px;
		}
		.ttl_fd_02 {
			font-size: 30px;
			padding: 80px 0;
		}
}

/* チケット先行受付 */
.chara_wrap_01 {
	border-bottom: solid 1px #ccc;
	margin: 0 auto 20px;
	overflow: hidden;
	padding: 0 5% 20px;
	position: relative;
	text-align: center;
	width: 100%;
}
.chara_wrap_01 .chara {
	opacity: 0;
	position: absolute; right: -20%; top: 40px;
	text-align: right ;
	transition:all .4s ease-in;
	width: 100%;
}
.chara_wrap_01 .chara.act {
	opacity: 1;
	position: absolute; right: 0%; top: 45px;
	transition:all .4s ease-in-out;
}
.chara_wrap_01 .chara img {
	height: auto;
	width: 70px;
}
.chara_wrap_01 .word {
	opacity: 0;
	position: absolute; right: -25%; top: 15px;
	text-align: right ;
	transition:all .5s ease-in;
	width: 100%;
}
.chara_wrap_01 .word.act {
	opacity: 1;
	position: absolute; right: 2%; top: 10px;
	transition:all .5s ease-in-out;
}
.chara_wrap_01 .word img {
	height: auto;
	width: 70px;
}

.fd_wrap .ticket {
	margin: 0 auto 15px;
	max-width: 700px;
	width: 90%;
}
.ttl_fd_03 {
	font-weight: 700;
	line-height: 1em;
	margin: 0 auto 15px;
	text-align: center;
}
@media only screen and (min-width: 768px) {
		.chara_wrap_01 {
			margin: 0 auto 30px;
			max-width: 800px;
			overflow: inherit;
			padding: 0 0 30px;
		}
		.chara_wrap_01 .chara {
			line-height: 0;
			opacity: 0;
			position: absolute; right: 0; top: inherit; bottom: 0px;
		}
		.chara_wrap_01 .chara.act {
			position: absolute; right: 30px; top: inherit; bottom: 0px;
		}
		.chara_wrap_01 .chara img {
			width: 143px;
		}
		.chara_wrap_01 .word {
			position: absolute; right: 0; top:inherit; bottom: 100px;
		}
		.chara_wrap_01 .word.act {
			position: absolute; right: 50px; top:inherit; bottom: 100px;
		}
		.chara_wrap_01 .word img {
			width: 80px;
		}

		.fd_wrap .ticket {
			margin: 0 auto 15px;
			max-width: 700px;
			width: 90%;
		}
		.ttl_fd_03 {
			font-size: 20px;
			margin: 0 auto 30px;
		}
}

/* BROS.会報誌 */
.chara_wrap_02 {
	margin: 0 auto 20px;
	overflow: hidden;
	padding: 50px 0 40px;
	position: relative;
	text-align: center;
	width: 100%;
}
.chara_wrap_02.en {
	padding: 20px 0 10px;
}
.chara_wrap_02 .ttl {
	display: inline-block;
	font-size: 6.6vw;
	font-weight: 700;
	line-height: 1;
	padding: 0 0 0 1.25em;
	position: relative;
}
.chara_wrap_02 .ttl:after {
	background: url("../img/icn_magazine.png") no-repeat;
	background-size: contain;
	content: "";
	height: 1em;
	opacity: .92;
	position: absolute; left: 0; top: 5%;
	width: 1em;
}
.chara_wrap_02 .ttl.en {
	padding: 2rem 0 0;
	position: relative;
}
.chara_wrap_02 .ttl.en:after {
	position: absolute; left: calc(50% - .5em); top: 5%;
}

.chara_wrap_02 .hole {
	position: absolute; left: 50px; top: 101px;
	text-align: left ;
	transition:all .4s ease-in;
	width: 0px;
}
.chara_wrap_02 .hole.act {
	position: absolute; left: 15px; top: 93px;
	transition:all .4s ease-in;
	width: 59px;
}
.chara_wrap_02 .chara_02 {
	opacity: 0;
	position: absolute; left: 22px; top: 200px;
	text-align: left ;
	transition:all .4s ease-in;
	width: 10%;
}
.chara_wrap_02 .chara_02.act {
	opacity: 1;
	position: absolute; left: 22px; top: 35px;
	transition:all .4s ease-in;
	width: 100%;
}
.chara_wrap_02 .chara_02 img {
	height: auto;
	width: 43px;
}
.chara_wrap_02 .word_02 {
	opacity: 0;
	position: absolute; left: 42px; top: 105px;
	text-align: left ;
	transition:all .5s ease-in;
	width: 10px;
}
.chara_wrap_02 .word_02.act {
	opacity: 1;
	position: absolute; left: 10px; top: 10px;
	transition:all .5s ease-in;
	width: 93px;
}
.chara_wrap_02 .word_02 img {
	height: auto;
	width: 100%;
}
.chara_wrap_02 .mask {
	position: absolute; left: 10px; top: 97px;
	text-align: left ;
	transition:all .2s ease-in;
	width: 65px;
}
body.login .chara_wrap_02:after {
  background: url(../img/charactor_02d_login.png) no-repeat;
  background-size: contain ;
  content: "";
  height: 189px;
  position: absolute ; top: 97px; left: 10px;
	width: 65px;
}

.magazine_slide {
	margin: auto;
	max-width: 1000px;
	width: 100%;
}
.magazine_slide .slide_wrap_magazine {
	margin: 0 auto 45px;
}

.ul_magazine_02 {
	margin: 0;
	width: 100%;
}
.ul_magazine_02 li {
	margin: 0 5px;
}
.ul_magazine_02 li img {
	height: auto;
	width: 100%;
}
.txt_wrap_magazine {
	margin: 0 auto;
	text-align: justify;
	width: 90%;
}
.txt_wrap_magazine p {
  max-height: 11.2em;
  overflow: hidden;
	text-align: justify;
}
@media only screen and (min-width: 768px) {
		.chara_wrap_02 ,
		.chara_wrap_02.en {
			margin: 0 auto 0px;
			max-width: 1000px;
			overflow: hidden;
			padding: 90px 0 80px;
		}
		.chara_wrap_02 .ttl {
			font-size: 30px;
		}
		.chara_wrap_02 .ttl.en {
			padding: 0 0 0 1.1em;
			position: relative;
		}
		.chara_wrap_02 .ttl.en:after {
			position: absolute; left: 0; top: 2%;
		}

		.chara_wrap_02 .hole {
			position: absolute; left: 220px; top: 178px;
			width: 0px;
		}
		.chara_wrap_02 .hole.act {
			position: absolute; left: 150px; top: 158px;
			transition:all .3s ease-in;
			width: 111px;
		}
		.chara_wrap_02 .chara_02 {
			position: absolute; left: 210px; top: 180px;
			width: 10px;
		}
		.chara_wrap_02 .chara_02.act {
			opacity: 1;
			position: absolute; left: 160px; top: 45px;
			transition:all .3s ease-in;
			width: 84px;
		}
		.chara_wrap_02 .chara_02 img {
			width: 100%;
		}
		.chara_wrap_02 .word_02 {
			position: absolute; left: 210px; top: 160px;
			width: 10px;
		}
		.chara_wrap_02 .word_02.act {
			position: absolute; left: 150px; top: 15px;
			transition:all .45s ease-in;
			width: 120px;
		}
		.chara_wrap_02 .word_02 img {
			height: auto;
			width: 100%;
		}
		.chara_wrap_02 .mask {
			position: absolute; left: 150px; top: 167px;
			transition:all .2s ease-in;
			width: 111px;
		}
		body.login .chara_wrap_02:after {
			height: 211px;
			position: absolute ; top: 167px; left: 150px;
			width: 111px;
		}
		.magazine_slide {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: auto;
		}
		.magazine_slide .slide_wrap_magazine {
			flex-basis: auto;
			margin: 0;
			width: 46%;
		}

		.ul_magazine_02 {
			margin: 0;
			width: 100%;
		}
		.ul_magazine_02 li {
			margin: 0;
		}
		.txt_wrap_magazine {
			width: 46%;
		}
		.txt_wrap_magazine p {
			max-height: 36em;
		}
}

/* BROS.限定 */
.chara_wrap_03 {
	margin: 0 auto;
	max-width: 1000px;
	overflow: hidden;
	padding: 50px 0 40px;
	position: relative;
	text-align: center;
	width: 100%;
}
.chara_wrap_03 .ttl_special {
	background: #af0402;
	color: #fff;
	display: inline-block;
	font-size: 6.6vw;
	line-height: 1;
	margin: 0 0 .5em;
	padding: 5px 10px;
	position: relative;
}
.chara_wrap_03 .ttl {
	display: inline-block;
	font-size: 6.6vw;
	font-weight: 700;
	line-height: 1;
	position: relative;
}

.chara_wrap_03 .chara_03 {
	line-height: 0;
	opacity: 0;
	position: absolute; left: -50px; bottom: 0;
	text-align: left ;
	transition:all .4s ease-in;
	width: 50px;
}
.chara_wrap_03 .chara_03.act {
	opacity: 1;
	position: absolute; left: 0px; bottom: 0;
	transition:all .4s ease-in-out;
	width: 73px;
}
.chara_wrap_03 .chara_03 img {
	height: auto;
	width: 100%;
}
.chara_wrap_03 .word_03 {
	opacity: 0;
	position: absolute; left: -50px; bottom: 70px;
	text-align: left ;
	transition:all .5s ease-in;
	width: 50px;
}
.chara_wrap_03 .word_03.act {
	opacity: 1;
	position: absolute; left: 10px; bottom: 90px;
	transition:all .5s ease-in-out;
	width: 88px;
}
.chara_wrap_03 .word_03 img {
	height: auto;
	width: 100%;
}

.movie_wrap.fd {
	max-width: 700px;
}

.chara_wrap_04 {
	border-bottom: solid 1px #ccc;
	margin: 0 auto 40px;
	max-width: 1000px;
	overflow: hidden;
	padding: 20px 0 20px;
	position: relative;
	width: 90%;
}
.chara_wrap_04 p {
	font-size: .75rem;
	padding-right: 100px;
}
.chara_wrap_04 p span {
	text-decoration: underline;
}

.chara_wrap_04 .chara_04 {
	line-height: 0;
	opacity: 0;
	position: absolute; right: -50px; bottom: 0;
	text-align: left ;
	transition:all .4s ease-in;
	width: 50px;
}
.chara_wrap_04 .chara_04.act {
	opacity: 1;
	position: absolute; right: 0px; bottom: 0;
	transition:all .4s ease-in-out;
	width: 90px;
}
.chara_wrap_04 .chara_04 img {
	height: auto;
	width: 100%;
}
.chara_wrap_04 .word_04 {
	opacity: 0;
	position: absolute; right: -50px; bottom: 70px;
	text-align: left ;
	transition:all .5s ease-in;
	width: 50px;
}
.chara_wrap_04 .word_04.act {
	opacity: 1;
	position: absolute; right: 0px; bottom: 85px;
	transition:all .5s ease-in-out;
	width: 95px;
}
.chara_wrap_04 .word_04 img {
	height: auto;
	width: 100%;
}
.txt_sennyu_01 {
	font-size: .75rem;
}
@media only screen and (min-width: 768px) {
		.chara_wrap_03 {
			margin: 0 auto;
			overflow: hidden;
			padding: 80px 0 40px;
		}
		.chara_wrap_03 .ttl_special {
			font-size: 30px;
		}
		.chara_wrap_03 .ttl {
			font-size: 30px;
		}

		.chara_wrap_03 .chara_03 {
			position: absolute; left: 150px;
			transition:all .4s ease-in;
			width: 50px;
		}
		.chara_wrap_03 .chara_03.act {
			position: absolute; left: 170px; bottom: 0;
			transition:all .4s ease-in-out;
			width: 110px;
		}
		.chara_wrap_03 .word_03 {
			opacity: 0;
			position: absolute; left: 120px; bottom: 100px;
			text-align: left ;
			transition:all .5s ease-in;
			width: 70px;
		}
		.chara_wrap_03 .word_03.act {
			opacity: 1;
			position: absolute; left: 190px; bottom: 135px;
			transition:all .5s ease-in-out;
			width: 110px;
		}
		.chara_wrap_03 .word_03 img {
			height: auto;
			width: 100%;
		}

		.movie_wrap.fd {
			max-width: 700px;
		}

		.chara_wrap_04 {
			margin: 0 auto 80px;
			padding: 40px 150px 70px;
			position: relative;
		}
		.chara_wrap_04 p {
			font-size: .85rem;
			padding-right: 180px;
		}

		.chara_wrap_04 .chara_04 {
			position: absolute; right: 150px;
			width: 50px;
		}
		.chara_wrap_04 .chara_04.act {
			position: absolute; right: 200px; bottom: 0;
			width: 110px;
		}
		.chara_wrap_04 .chara_04 img {
			height: auto;
			width: 100%;
		}
		.chara_wrap_04 .word_04 {
			position: absolute; right: 150px; bottom: 70px;
			text-align: left ;
			width: 70px;
		}
		.chara_wrap_04 .word_04.act {
			position: absolute; right: 230px; bottom: 110px;
			width: 110px;
		}
}

.past_event_wrap {
	border-bottom: solid 1px #ccc;
	margin: auto;
	max-width: 1000px;
	padding: 0 0 20px;
	width: 90%;
}
.past_event_wrap.plus {
	border-bottom: none;
	padding: 0 0 0px;
}
.ttl_past_event_01 {
	font-size: 5.5vw;
	font-weight: 700;
	line-height: 1;
	margin: 0 0 15px;
	text-align: center;
}
.ttl_past_event_02 {
	font-size: 3vw;
	font-weight: 700;
	margin: 0 auto 15px;
	max-width: 600px;
	position: relative;
	text-align: center;
	width: 90%;
}
.ttl_past_event_02 span {
	background: #fff;
	padding: 0 5px;
}
body.login .ttl_past_event_02 span {
	background: #eaedef;
}
.ttl_past_event_02:before {
	background: #252525;
	content: "";
	height: 1px;
	position: absolute; left: 0; top: calc(50% - 0.5px);
	width: 100%;
	z-index: -1;
}
.ul_past_event {
	margin: 0 auto;
	width: 90%;
}
.ul_past_event li {
	margin: 0 auto 20px;
	text-align: center;
}
.ul_past_event li .year {
	background: #af0402;
	color: #fff;
	display: inline-block;
	line-height: 1;
	margin: 0 0 5px;
	padding: 2px 5px;
}
.ul_past_event li .ttl {
	margin: 0 0 5px;
}
.ul_past_event li .img_wrap img {
	height: auto;
	width: 100%;
}
.txt_past_event {
	margin: auto;
	width: 90%;
}

@media only screen and (min-width: 768px) {
		.past_event_wrap {
			padding: 0 0 60px;
		}
		.past_event_wrap.plus {
			padding: 0 0 0px;
		}
		.ttl_past_event_01 {
			font-size: 30px;
			margin: 0 0 30px;
		}
		.ttl_past_event_02 {
			font-size: 20px;
			margin: 0 auto 30px;
		}
		.ul_past_event {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			max-width: 1000px;
			width: 100%;
		}
		.ul_past_event li {
			flex-basis: auto;
			margin: 0;
			padding-bottom: 22%;
			position: relative;
			width: 31%;
		}
		.ul_past_event li .year {
			font-size: 20px;
			margin: 0 0 5px;
		}
		_:-ms-fullscreen, :root .ul_past_event li .year {
			height: 24px;
			line-height: 40px;
		}
		.ul_past_event li .ttl {
			margin: 0 0 5px;
		}
		.ul_past_event li .img_wrap {
			position: absolute; bottom: 0;
		}
		.ul_past_event li .img_wrap img {
			height: auto;
			width: 100%;
		}
		.txt_past_event {
			font-size: .85rem;
			margin: auto;
			width: 1000px;
		}
}

.fd_line_wrap {
	border-bottom: solid 1px #ccc;
	margin: auto;
	max-width: 1000px;
	padding: 20px 0 20px;
	width: 90%;
}
.ul_tokuten {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ul_tokuten li {
	flex-basis: auto;
	margin: 0 0 15px;
	width: 100%;
}
.ul_tokuten li:last-child {
	margin: 0;
}
.ul_tokuten .ttl {
	font-weight: 700;
	margin: 0 0 10px;
	text-align: center;
}
.ul_tokuten .img_wrap {
	margin: auto;
	text-align: center;
	width: 50%;
}
.ul_tokuten .img_wrap img {
	height: auto;
	width: 100%;
}
@media only screen and (min-width: 768px) {
		.fd_line_wrap {
			padding: 60px 0;
		}
		.ul_tokuten {
			margin: auto;
			width: 700px;
		}
		.ul_tokuten li {
			flex-basis: auto;
			width: 48%;
		}
		.ul_tokuten .ttl {
			font-size: 20px;
		}
		.ul_tokuten .img_wrap {
			height: 250px;
		}
		.ul_tokuten .img_wrap img {
			height: 100%;
			width: auto;
		}
}

.fd_line_wrap.chara_wrap_05 {
	padding: 20px 0 20px;
	position: relative;
}
.ttl_past_event_03 {
	font-weight: 700;
	margin: 0 0 15px;
	text-align: center;
}
.pickcharm {
	margin: auto;
	max-width: 313px;
	width: 48%;
}
.chara_wrap_05 .chara_05 {
	line-height: 0;
	opacity: 0;
	position: absolute; left: -50px; bottom: 0;
	text-align: left ;
	transition:all .4s ease-in;
	width: 50px;
}
.chara_wrap_05 .chara_05.act {
	opacity: 1;
	position: absolute; left: 0px; bottom: 0;
	transition:all .3s ease-in-out;
	width: 80px;
}
.chara_wrap_05 .chara_05 img {
	height: auto;
	width: 100%;
}
.chara_wrap_05 .word_05 {
	opacity: 0;
	position: absolute; left: -50px; bottom: 50px;
	text-align: left ;
	transition:all .5s ease-in;
	width: 20px;
}
.chara_wrap_05 .word_05.act {
	opacity: 1;
	position: absolute; left: 0px; bottom: 90px;
	transition:all .3s ease-in-out;
	width: 70px;
}
.chara_wrap_05 .word_05 img {
	height: auto;
	width: 100%;
}
@media only screen and (min-width: 768px) {
		.fd_line_wrap.chara_wrap_05 {
			padding: 60px 0;
		}
		.chara_wrap_05 .chara_05 {
			position: absolute; left: 40%;
			width: 50px;
		}
		.chara_wrap_05 .chara_05.act {
			opacity: 1;
			position: absolute; left: 48%;
			width: 100px;
		}
		.chara_wrap_05 .chara_05 img {
			height: auto;
			width: 100%;
		}
		.chara_wrap_05 .word_05 {
			left: 40%; bottom: 50px;
			width: 20px;
		}
		.chara_wrap_05 .word_05.act {
			left: 48%; bottom: 120px;
			width: 70px;
		}
}
.ul_nenga {
	margin: auto;
	max-width: 1000px;
	width: 86%;
}
.ul_nenga li {
	margin: 0 0 15px;
}
.ul_nenga li:last-child {
	margin: 0;
}
.fd_line_wrap.noline {
	border-bottom: none;
	padding: 20px 0 0;
}

.chara_wrap_06 {
	margin: 0 auto 0px;
	overflow: hidden;
	padding: 0 5%;
	position: relative;
	text-align: center;
	width: 100%;
}
.chara_wrap_06 .chara_06 {
	opacity: 0;
	position: absolute; right: -20%; top: 25px;
	text-align: right ;
	transition:all .4s ease-in;
	width: 30px;
}
.chara_wrap_06 .chara_06.act {
	opacity: 1;
	position: absolute; right: 0%; top: 35px;
	transition:all .4s ease-in-out;
	width: 60px;
}
.chara_wrap_06 .chara_06 img {
	height: auto;
	width: 100%;
}
.chara_wrap_06 .word_06 {
	opacity: 0;
	position: absolute; right: -25%; top: 25px;
	text-align: right ;
	transition:all .5s ease-in;
	width: 30px;
}
.chara_wrap_06 .word_06.act {
	opacity: 1;
	position: absolute; right: 2%; top: 10px;
	transition:all .5s ease-in-out;
	width: 80px;
}
.chara_wrap_06 .word_06 img {
	height: auto;
	width: 100%;
}

.ttl_icn_01 {
	font-weight: 700;
	line-height: 1;
	margin: 0 0 15px;
	text-align: center;
}
.ttl_icn_01 span {
	font-size: 5.4vw;
	font-weight: 700;
	line-height: 1;
	padding: 0 0 0 1.25em;
	position: relative;
}
.ttl_icn_01 span:after {
	background: url("../img/icn_douga.png") no-repeat;
	background-size: contain;
	content: "";
	height: 1em;
	opacity: .92;
	position: absolute; left: 0; top: 10%;
	width: 1em;
}
.ttl_icn_01.newspaper span:after {
	background: url("../img/icn_newspaper.png") no-repeat;
	background-size: contain;
	content: "";
	position: absolute; left: 0; top: 10%;
}
.ttl_icn_01.camera span:after {
	background: url("../img/icn_fukusta.png") no-repeat;
	background-size: contain;
	content: "";
	position: absolute; left: 0; top: 10%;
}
.ttl_icn_01.noicn span {
	line-height: 1.6;
	padding: 0;
}
.ttl_icn_01.noicn span:after {
	display: none;
}
.ttl_icn_01.new span {
	padding: 0 2.8em 0 1.25em;
}
.ttl_icn_01.new span:before {
	background: url("../img/icn_new.png") no-repeat;
	background-size: contain;
	content: "";
	height: .7em;
	position: absolute; right: 0; top: 25%;
	width: 2.4em;
}
@media only screen and (min-width: 768px) {
		.ul_nenga {
			align-items: center;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
		}
		.ul_nenga li {
			flex-basis: auto;
			margin: 0;
			width: 48%;
		}

		.fd_line_wrap.noline {
			border-bottom: none;
			padding: 60px 0 0;
		}

		.chara_wrap_06 {
			padding: 0px 5% 0px;
		}
		.chara_wrap_06 .chara_06 {
			right: -20%; top: 95px;
			width: 40px;
		}
		.chara_wrap_06 .chara_06.act {
			right: 0%; top: 65px;
			width: 80px;
		}
		.chara_wrap_06 .word_06 {
			opacity: 0;
			right: -25%; top: 55px;
			width: 30px;
		}
		.chara_wrap_06 .word_06.act {
			right: 20px; top: 35px;
			width: 109px;
		}

		.ttl_icn_01 {
			margin: 0 0 30px;
		}
		.ttl_icn_01 span {
			font-size: 24px;
		}
}
.ul_disco.fc li {
	border-bottom: none;
	margin: 0;
}
@media only screen and (min-width: 768px) {
		.ul_disco.fc {
			margin-bottom: 20px;
			width: 700px;
		}
		.ul_disco.fc li {
			width: 46%;
		}
		.ul_disco.fc li:after,
		.ul_disco.fc li:hover:after {
			background: #fff;
			display: none !important;
			height: 0;
		}
}

.fd_line_wrap.chara_wrap_07 {
	padding: 20px 0 80px;
	position: relative;
}
.chara_wrap_07 .chara_07 {
	line-height: 0;
	opacity: 0;
	position: absolute; left: 40px; bottom: 0;
	text-align: left ;
	transition:all .4s ease-in;
	width: 50px;
}
.chara_wrap_07 .chara_07.act {
	opacity: 1;
	position: absolute; left: 90px; bottom: 0;
	transition:all .3s ease-in-out;
	width: 70px;
}
.chara_wrap_07 .chara_07 img {
	height: auto;
	width: 100%;
}
.chara_wrap_07 .word_07 {
	opacity: 0;
	position: absolute; left: 110px; bottom: 20px;
	text-align: left ;
	transition:all .5s ease-in;
	width: 20px;
}
.chara_wrap_07 .word_07.act {
	opacity: 1;
	position: absolute; left: 160px; bottom: 40px;
	transition:all .4s ease-in-out;
	width: 80px;
}
.chara_wrap_07 .word_07 img {
	height: auto;
	width: 100%;
}
@media only screen and (min-width: 768px) {
		.fd_line_wrap.chara_wrap_07 {
			padding: 60px 0 80px;
			position: relative;
		}
		.chara_wrap_07 .chara_07.act {
			left: 50px;
			width: 84px;
		}
		.chara_wrap_07 .chara_07 img {
			height: auto;
			width: 100%;
		}
		.chara_wrap_07 .word_07 {
			bottom: 40px; left: 0;
			width: 50px;
		}
		.chara_wrap_07 .word_07.act {
			left: 10px; bottom: 80px;
			width: 100px;
		}
}

/* discography modal　*/
.modal{
	display: none;
	height: 100vh;
	position: fixed; left: 0;  top: 0;
	width: 100%;
	z-index: 1001;
}
.modal__bg{
  background: rgba(255,255,255,0.98);
  height: 100vh;
  position: absolute;
  width: 100%;
}
.modal__content{
  left: 50%;
  padding: 20px 0;
	max-width: 700px;
  position: absolute;
  top: 42%;
  transform: translate(-50%,-50%);
  width: 90%;
}
.modal__content .ttl_modal {
	font-size: 6.6vw;
	text-align: center;
	margin: 0 0 10px;
}
.modal_btn_wrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0 0 30px;
}
.modal_btn_wrap a {
	flex-basis: auto;
	margin: 0 0 10px;
	width: 49% !important;
}
.btn_wrap_disco .modal_btn_wrap a:last-child {
	margin: 0 0 10px;
}
.js-modal-close.close-btn,
.js-modal-login-close.close-btn{
	height: 80px;
	position: absolute; top: 0px; right: -10%;
	width: 80px;
}
.js-modal-close.close-btn span,
.js-modal-login-close.close-btn span {
	height: 100%;
	position: relative;
	width: 100%;
}
.js-modal-close.close-btn span:before,
.js-modal-close.close-btn span:after,
.js-modal-login-close.close-btn span:before,
.js-modal-login-close.close-btn span:after {
	background: #252525;
	content: "";
	height: 1px;
	position: absolute; top: 40px; left: 0;
	width: 50px;
	transform:rotate(45deg);
	z-index: 1003;
}
.js-modal-close.close-btn span:after,
.js-modal-login-close.close-btn span:after {
	transform:rotate(-45deg);
}
@media only screen and (min-width: 768px) {
		.modal__content{
			padding: 0;
			position: absolute;
		}

		.modal__content .ttl_modal {
			font-size: 30px;
			margin: 0 0 30px;
		}
		.modal_btn_wrap a {
			flex-basis: auto;
			margin: 0 0 20px;
		}
		.btn_wrap_disco .modal_btn_wrap a:last-child {
			margin: 0 0 20px;
		}
		.js-modal-close.close-btn span:before,
		.js-modal-close.close-btn span:after {
			width: 80px;
		}
		.js-modal-close.close-btn:hover {
			opacity: .6;
		}
}

.modal.login {
	display: none;
	height: 100vh;
	overflow-y: scroll;
	position: fixed; left: 0;  top: 0;
	width: 100%;
	z-index: 10001;
}
.modal__bg.login {
  background: rgba(255,255,255,.98);
  height: 100%;
	min-height: 100vh;
	overflow: hidden;
	overflow-y: scroll;
  position: fixed;
  width: 100%;
}

.modal__content.login{
  left: 50%;
  padding: 0 0 100px;
	max-width: 100%;
  position: absolute;
  top: 0%;
  transform: translate(-50%,4%);
  width: 100%;
}
.js-modal-close.close-btn {
	height: 80px;
	position: absolute; top: -40px; right: -10%;
	width: 80px;
}
.modal__content.login .js-modal-close.close-btn {
	right: 0%;
}
.message_form_wrap .form_box .ttl_02 {
	font-size: 1.42rem;
	margin: 0 0 15px;
}
.txt_aid_login {
	font-size: .85rem;
	line-height: 1.4;
}
.message_form_wrap .form_box.login {
	padding: 15px 0;
}
@media only screen and (min-width: 768px) {
		.modal__content.login{
			padding: 0;
		}
		.modal__content.login .js-modal-close.close-btn {
			right: 50px;
		}
}

.bnr_wrap_login {
	margin: 0 auto 30px;
	max-width: 1000px;
	width: 94%;
}
.bnr_wrap_login a {
	line-height: 0;
	margin: 0 0 15px;
}
.bnr_wrap_login a:last-child {
	margin: 0;
}
.bnr_wrap_login a img {
	height: auto;
	width: 100%;
}
@media only screen and (min-width: 768px) {
		.bnr_wrap_login {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0 auto;
			order: 3;
			padding: 40px 0 0;
			width: 100%;
		}
		.bnr_wrap_login a {
			flex-basis: auto;
			margin: 0 0 30px;
			width: 48.2%;
		}
}

.guide_wrap {
	overflow: hidden ;
	margin: 0 auto 30px;
	max-width: 940px;
	width: 94%;
}
.guide_wrap .prev,
.guide_wrap .next {
	float: left;
	font-weight: 700;
	height: 40px;
	line-height: 40px;
	padding: 0 0 0 30px;
	position: relative;
	width: 50%;
}
.guide_wrap .next {
	float: right;
	padding: 0 30px 0 0;
	text-align: right;
}

.guide_wrap .prev:after,
.guide_wrap .next:after {
	border-bottom: solid 1px #252525;
	border-right: solid 1px #252525;
	content: "";
	height: 15px;
	position: absolute; top: calc(50% - 9px); left: 14px;
	transform:rotate(135deg);
	transition:all 0.3s ease-in-out;
	width: 15px;
}
.guide_wrap .next:after {
	left: inherit; right: 14px; 
	transform:rotate(-45deg);
}
@media only screen and (min-width: 768px) {
		.guide_wrap .prev,
		.guide_wrap .next {
			padding: 0 0 0 40px;
		}
		.guide_wrap .next {
			padding: 0 40px 0 0;
		}
		.guide_wrap .prev:after,
		.guide_wrap .next:after {
			height: 20px;
			width: 20px;
		}
		.guide_wrap a:hover {
			color: #af0402;
		}
		.guide_wrap .prev:hover:after {
			left: 4px;
		}
		.guide_wrap .next:hover:after {
			right: 4px;
		}

}







.header.logo30anv .inner {
	padding: 5px 3% 5px;
}
.header.logo30anv .inner .logo {
	left: calc(50% - 150px);
	width: 60%;
}
.header.logo30anv .inner .logo img {
	max-height: 53px;
	max-width: 100%;
	width: auto;
}
.header.login.logo30anv_bros .logo,
.header.login.logo30anv_plus .logo,
.header.login.logo30anv_fmobile .logo {
	top: 2px;
}


@media only screen and (min-width: 861px) {
		.header.logo30anv .inner {
			box-sizing: border-box;
			margin: auto;
			max-width: 1300px;
			min-height: 110px;
			padding: 0px 0 0px;
			width: 90%;
		}
		.header.logo30anv .inner .logo img {
			max-height: 90px;
		}
		.header.login.logo30anv_bros .logo {
			max-width: 350px;
			top: 30px;
		}
		.header.login.logo30anv_plus .logo {
			max-width: 330px;
			top: 35px;
		}
		.header.login.logo30anv_fmobile .logo {
			left: 0; top: 35px;
			width: 280px;
		}
}
@media only screen and (min-width: 1260px) {
		.header.login.logo30anv_bros .logo {
			top: 20px;
		}
		.header.login.logo30anv_fmobile .logo {
			top: 20px;
			width: 350px;
		}
		.header.login.logo30anv_plus .logo {
			top: 20px;
		}
}
#cboxContent {
    min-height: calc(100vh - 40px);
}



/* bros top */

.brostop_wrap {
	margin: auto;
	padding: 0 0 30px;
	width: 94%;
}
.brostop_wrap iframe {
	min-height: 160px;
	min-width: 100%;
	width: 100% !important;
}
.brostop_wrap iframe canvas,
.brostop_wrap iframe #canvas {
	min-width: 100% !important;
}
@media only screen and (min-width: 700px) {
		.brostop_wrap {
			padding: 0 0 60px;
			max-width: 930px;
			width: 94%;
		}
		.brostop_wrap iframe {
			min-height: 600px;
			min-width: 100%;
			width: 100% !important;
		}
		.brostop_wrap iframe canvas,
		.brostop_wrap iframe #canvas {
			min-width: 100% !important;
		}
}









.modal-wrapper {
  z-index: 10001;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 0px 10px;
  text-align: center
}

.modal-wrapper:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}

.modal-wrapper:target {
  opacity: 1;
  visibility: visible;
  transition: opacity .4s, visibility .4s;
}

.modal-wrapper::after {
  display: inline-block;
  height: 100%;
  margin-left: -.05em;
  vertical-align: middle;
  content: ""
}

.modal-wrapper .modal-window {
  box-sizing: border-box;
  display: inline-block;
  z-index: 20;
  position: relative;
  min-width: 90%;
  padding: 0;
  vertical-align: middle
}

.modal-wrapper .modal-window .modal-content {
	min-width: 100% !important;
  overflow-y: auto;
}

.modal-overlay {
  z-index: 10;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .9)
}

.modal-wrapper .modal-close {
	height: 40px;
  z-index: 20;
  position: absolute;
  top: 0%;
  right: 2%;
  width: 40px;
}
.modal-wrapper .modal-close span {
	height: 40px;
	position: relative;
	width: 40px;
}
.modal-wrapper .modal-close span:after {
	background: #fff;
	content: "";
	height: 1px;
	position: absolute; top: 5vw; left: 0vw;
	transform:rotate(-45deg);
	width: 10vw;
}
.modal-wrapper .modal-close span:before {
	background: #fff;
	content: "";
	height: 1px;
	position: absolute; top: 5vw; left: 0vw;
	transform:rotate(-135deg);
	width: 10vw;
}

.modal-wrapper .modal-close:hover {
  color: #2b2e38 !important
}
.modal-wrapper iframe {
	border: 0;
	margin: 13% 0 0;
	min-height: 70vh !important;
	min-width: 100% !important;
	max--height: 70vh !important;
	max-width: 100% !important;
}
.animation_container {
	max-width: 50% !important;
}
#canvas {
	max-width: 100px !important;
}

.modal-wrapper .guide_wrap {
	overflow: hidden ;
	margin: 0 auto 30px;
	position: fixed; bottom: -4%; left: 3.5%;
	width: 94%;
	z-index: 1000;
}
.modal-wrapper .guide_wrap .prev,
.modal-wrapper .guide_wrap .next {
	box-sizing: border-box;
	color: #fff;
	float: left;
	font-weight: 700;
	height: 40px;
	line-height: 40px;
	padding: 0 0 0 30px;
	position: relative;
	text-align: left;
	text-decoration: none;
	width: 50%;
}
.modal-wrapper .guide_wrap .next {
	float: right;
	padding: 0 30px 0 0;
	text-align: right;
}

.modal-wrapper .guide_wrap .prev:after,
.modal-wrapper .guide_wrap .next:after {
	border-bottom: solid 1px #fff;
	border-right: solid 1px #fff;
	content: "";
	height: 15px;
	position: absolute; top: calc(50% - 9px); left: 14px;
	transform:rotate(135deg);
	transition:all 0.3s ease-in-out;
	width: 15px;
}
.modal-wrapper .guide_wrap .next:after {
	left: inherit; right: 14px; 
	transform:rotate(-45deg);
}
@media only screen and (min-width: 768px) {
		.modal-wrapper iframe {
			margin: 0;
		}
		.modal-wrapper .modal-close {
			height: 120px;
			top: 0px;
			right: 0px;
			width: 120px;
		}
		.modal-wrapper .modal-close span {
			height: 40px;
			position: relative;
			width: 40px;
		}
		.modal-wrapper .modal-close span:after {
			position: absolute; top: 50px; left: -30px;
			width: 90px;
		}
		.modal-wrapper .modal-close span:before {
			position: absolute; top: 50px; left: -30px;
			width: 90px;
		}
		.modal-wrapper .modal-window .modal-content {
			margin: auto;
			max-width: 1100px !important;
			min-width: 600px !important;
		}
		.modal-wrapper .guide_wrap {
			margin: 0 auto 30px;
			max-width: 90%;
			position: fixed; bottom: 50px; left: 5%;
			width: 90%;
			z-index: 1000;
		}
}

.ul_fukusta li .img_wrap.movie:after,
.ul_fukusta li .img_wrap.multiple:after {
	background: url("../img/icn_move.png") no-repeat;
	background-size: contain;
	content: "";
	height: 10%;
	position: absolute; top: 5%; right: 5%;
	width: 10%;
}
.ul_fukusta li .img_wrap.multiple:after {
	background: url("../img/icn_images.png") no-repeat;
	background-size: contain;
}