@charset "UTF-8";

/* CSS Document */

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-style:normal;
font-weight: normal;
font-size: 100%;
-webkit-appearance: none;
vertical-align: baseline;
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
        box-sizing: border-box;
}

ol, ul{
    list-style:none;
}
img{
    vertical-align: bottom;
    width: 100%;
}
html {overflow-x: hidden;}
body{ margin:0; padding:0; font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", sans-serif; line-height:1.5em; font-size:14px; color:#000; overflow-x: hidden;}
img{ border:none; }

.clearfix:after{ content: "."; display: block; height: 0; font-size:0; clear: both; visibility:hidden; }

a,a:hover {color:#5e5491;transition:.3s;text-decoration: none;}
a:hover {opacity: 0.8;;text-decoration:none;}
a img,a:hover img {transition:.3s;}
a:hover img {opacity:.85; filter: "alpha(opacity=85)";}

h1,h2,h3,h4,div,p,ul,li{ margin:0; padding:0;}

#wrap{ margin:0 auto;}

#container{ margin:0 auto;}

/*------------------------------------------
【フッター】
--------------------------------------------*/

#footer_wrap{ padding:30px 0; background:#fff; color:#525252; letter-spacing:0em; border-top:1px solid #cbcbcb; font-size:12px; margin-bottom: -15px; }

#footer_Box{ width:1000px; margin:0 auto; line-height:1.8em;}

#footer_Box ul{ list-style:none; margin:0; padding:0; display:table; width:100%;}

#footer_Box ul li { padding:0; margin:0; display:table-cell; vertical-align:top;}

#footer_Box ul li a{ color:#525252; text-decoration:none;}
#footer_Box ul li a:hover{ opacity: 0.8; text-decoration:underline;}

/* デザインに合わせて変更*/
.copy { color:#fff; font-size:12px; line-height:1.8em; padding:30px 0; text-align: center; }
.link a{ color:#FFFFFF; }

#footer_Box ul .top_box{ border-left:1px #333333 dotted; padding:0 2%; width:31%; position:relative; opacity: 0; visibility: hidden;}

#footer_Box ul .top_box2{ /* border-left:1px #333333 dotted; */ padding:0 2%; width:31%; position:relative;}

.top_box .title{ background:#333333; border-radius:3px; padding:5px 10px 3px;}
/*******************/

#footer_Box ul .top_box ul{ margin:10px 0 10px; padding:0; display:table;}

#footer_Box ul .top_box ul li{
	background: url(../img/cmn/listicon.png) left center no-repeat;
	float: left;
	list-style: none;
	padding: 0 15px;
	margin: 0;
	display: table-cell;
	vertical-align: middle;
	width: 224px;
	line-height:1.5em;
}

.top_box2 ul{ padding:0; margin:0 0 20px; width: 100%; display:table;}

.top_box2 ul li{
	float: left;
	list-style: none;
	padding: 0 15px;
	margin: 0;
	display: table-cell;
	vertical-align: middle;
	width: 224px;
}

.top_box2 ul li .note{ position:absolute; top:-10px; display:block; right:0; font-size:10px;}

.top_box2 ul li .link01{ background: url(../img/cmn/linkicon_wt.png) no-repeat center left; position: absolute; display: block; bottom:25px; right:0; padding-left:20px; }

.top_box2 ul li .link02{ background: url(../img/cmn/linkicon_wt.png) no-repeat center left; position: absolute; display: block; bottom:0; right:0; padding-left:20px; }

/* 下段ロゴ */

#footer_bottom{ margin:20px auto 0;}
#footer_bottom ul{ list-style:none; margin:0; padding:0; display:table; width:100%;}
#footer_bottom ul li { padding:0; margin:0; display:table-cell; vertical-align:bottom;}

#footer_bottom ul .left_Tbnr{ width:10%; text-align:left;}

#footer_bottom ul .center_Tnation{ width:80%; color:#CCC; font-size:10px; line-height:14px; text-align:center; padding:10px 0; margin:10px auto 0; word-break: keep-all;}

#footer_bottom ul .right_Bicon{ width:10%;  text-align:right;}




/* ------ */



/* common styles */
.hide{ display:none; }
 
/** margin control **/
.nomargin{ margin:0 !important; }
.notopmargin{ margin-top:0 !important; }
.nobtmargin{ margin-bottom:0 !important; }

.leftmargin1em{ margin:0 0 0 1em; }
.leftmargin2em{ margin:0 0 0 2em; }
.rightmargin1em{ margin:0 1em 0 0; }
.rightmargin2em{ margin:0 2em 0 0; }

.mgtop10{ margin-top:10px;}

/** padding control **/
.leftpad1em{ padding:0 0 0 1em; }
.leftpad2em{ padding:0 0 0 2em; }
.rightpad1em{ padding:0 1em 0 0; }
.rightpad2em{ padding:0 2em 0 0; }
.bpad1em{ padding:0 0 1em 0; }
.padtop10{ padding-top:10px;}
.padtop20{ padding-top:20px;}
.padtop30{ padding-top:30px;}
.padtop40{ padding-top:40px;}
.padtop50{ padding-top:50px;}
.padtop60{ padding-top:60px;}
.padtop70{ padding-top:70px;}
.padtop80{ padding-top:80px;}
.padbottom10{ padding-bottom:10px;}
.padbottom20{ padding-bottom:20px;}
.padbottom30{ padding-bottom:30px;}
.padbottom40{ padding-bottom:40px;}
.padbottom50{ padding-bottom:50px;}
.padbottom60{ padding-bottom:60px;}
.padbottom70{ padding-bottom:70px;}
.padbottom80{ padding-bottom:80px;}
/** text align **/
.aleft{ text-align:left !important; }
.aright{ text-align:right !important; }
.acenter{ text-align:center !important; }

/** float control **/
.fleft{ float:left !important; }
.fright{ float:right !important; }
.clear{ clear:both; }

/** fontsize control **/
.larger{ font-size:larger !important;}
.smaller{ font-size:smaller !important;}

/** width control **/
.contentwidth{ width:100%; }

/** notice color **/

.under_line{ border-bottom:1px solid #999; padding:5px 0; }

/* -- END -- common styles */



/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper{position:absolute; top:0; left:0; z-index:9999; overflow:hidden;}
#cboxWrapper {max-width:none;}
#cboxOverlay{position:fixed; width:100%; height:100%;}
#cboxMiddleLeft, #cboxBottomLeft{clear:left;}
#cboxContent{position:relative;}
#cboxLoadedContent{overflow:auto; -webkit-overflow-scrolling: touch;}
#cboxTitle{margin:0;}
#cboxLoadingOverlay, #cboxLoadingGraphic{position:absolute; top:0; left:0; width:100%; height:100%;}
#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow{cursor:pointer;}
.cboxPhoto{float:left; margin:auto; border:0; display:block; max-width:none; -ms-interpolation-mode:bicubic;}
.cboxIframe{width:100%; height:100%; display:block; border:0; padding:0; margin:0;}
#colorbox, #cboxContent, #cboxLoadedContent{box-sizing:content-box; -moz-box-sizing:content-box; -webkit-box-sizing:content-box;}

/* 
User Style:
Change the following styles to modify the appearance of Colorbox.  They are
ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay{background:#000;}
#colorbox{outline:0;}
#cboxContent{margin-top:20px;background:#000;}
.cboxIframe{background:#fff;}
#cboxError{padding:50px; border:1px solid #ccc;}
#cboxLoadedContent{border:5px solid #000; background:#fff;}
#cboxTitle{position:absolute; top:-20px; left:0; color:#ccc; font-size:12px;}
#cboxCurrent{position:absolute; top:-20px; right:0px; color:#ccc; font-size:12px;}
#cboxLoadingGraphic{background:url(../img/colorbox/loading.gif) no-repeat center center;}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {border:0; padding:0; margin:0; overflow:visible; width:auto; background:none; }

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {outline:0;}

#cboxSlideshow{position:absolute; top:-20px; right:90px; color:#fff;}
#cboxPrevious{position:absolute; top:50%; left:5px; margin-top:-32px; background:url(../img/colorbox/controls.png) no-repeat top left; width:28px; height:65px; text-indent:-9999px;}
#cboxPrevious:hover{background-position:bottom left;}
#cboxNext{position:absolute; top:50%; right:5px; margin-top:-32px; background:url(../img/colorbox/controls.png) no-repeat top right; width:28px; height:65px; text-indent:-9999px;}
#cboxNext:hover{background-position:bottom right;}
#cboxClose{position:absolute; top:5px; right:5px; display:block; background:url(../img/colorbox/controls.png) no-repeat top center; width:38px; height:19px; text-indent:-9999px;}
#cboxClose:hover{background-position:bottom center;}


#snswrap{margin-top:5%;}


/* 全体
==================== */
#idolmaster .dis_sp {display: none;}
#idolmaster { font-family: "源ノ角ゴシック", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", sans-serif; }
#idolmaster .block-inner {
    width: 1200px;
    margin: auto;
}
#idolmaster span.in-blk {
    display: inline-block;
}

#idolmaster h3 {
    font-size: 2.2em;
    font-weight: 900;
    line-height: 1.4em;
}
#idolmaster h3 span {
    font-weight: 900;
}
#idolmaster p {
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.8em;
}
#idolmaster span {
    font-weight: 500;
}
#idolmaster p span.fsize_m {
    font-size: 1.4em;
    font-weight: 600;
    line-height: 1.8em;
    margin: 0 -0.3em;
}
#idolmaster p span.fsize_l {
    font-size: 1.5em;
    font-weight: 700;
    line-height: 1.8em;
    margin: 0 -0.1em;
}

#idolmaster h2.back-h2 {
    text-align: right;
    font-size: 7em;
    font-weight: 900;
    line-height: 1em;
}


/* リンクボタン */
#idolmaster .linkbtn {
    text-align: center;
    margin-top: 50px;
}
#idolmaster .linkbtn a {
    display: inline-block;
    position: relative;
    background: #000;
    color: #fff;
    font-size: 1.6em;
    font-weight: 700;
    padding: 0.8em 4em;
}
#idolmaster .linkbtn._wt a {
    background: #fff;
    color: #000;
}
#idolmaster .linkbtn a::after {
    content: "";
    position: absolute;
    top: calc(50% - 0.3em);
    right: 1em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    width: 0.6em;
    height: 0.6em;
}
#idolmaster .linkbtn._wt a::after {
    border-color: #000;
}
#idolmaster .linkbtn a:hover {
    opacity: 1;
}
#idolmaster .linkbtn a span.invisible {
    opacity: 0;
    visibility: hidden;
    font-weight: 700;
}
#idolmaster .linkbtn a span.btnback {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    -webkit-transition: .4s cubic-bezier(.19,1,.22,1);
    -moz-transition: .4s cubic-bezier(.19,1,.22,1);
    -ms-transition: .4s cubic-bezier(.19,1,.22,1);
    -o-transition: .4s cubic-bezier(.19,1,.22,1);
    transition: .4s cubic-bezier(.19,1,.22,1);
}
#idolmaster .linkbtn a span.btnback.btnback_blue {
    background: #0af;
}
#idolmaster .linkbtn a span.btnback.btnback_pink {
    background: #f07;
}
#idolmaster .linkbtn a span.btnback.btnback_yellow {
    background: #fd0;
}
#idolmaster .linkbtn a span.btnfront {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    background: #000;
    font-weight: 700;
    padding: 0.8em 0.8em;
}
#idolmaster .linkbtn._wt a span.btnfront {
    background: #fff;
}
#idolmaster .linkbtn a:hover span.btnback {
    width: calc(100% + 10px);
    transform: translate(-50%, -50%) rotate(1deg);
}
#idolmaster .linkbtn a:hover span.btnback.ran {
    transform: translate(-50%, -50%) rotate(-1deg);
}

#idolmaster .linkbtn span.notice {
    display: block;
    font-size: 1.4em;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin: 50px 0 0.4em;
}


/* アニメーション */
@keyframes marquee-anim_pc {
	0%   { transform: translate(39%, 0); }
    68%  { transform: translate(-98%, 0); opacity: 1;}
    69%  { transform: translate(-100%, 0); opacity: 0;} 
    70%  { transform: translate(99%, 0); opacity: 0;} 
    71%  { transform: translate(97%, 0); opacity: 1;}
	100% { transform: translate(40%, 0); }
}
/* ヘッダー
==================== */
#idolmaster header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    background: #fff;
    width: 100%;
    height: 5em;
    z-index: 2;
}
#idolmaster header h1 a {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #000;
    font-size: 1em;
    margin: 1.5em 1em;
}
#idolmaster header h1 a img,
#idolmaster header h1 a span {
    display: inline-block;
    vertical-align: middle;
}
#idolmaster header h1 a img {
    width: 14em;
}
#idolmaster header h1 a span {
    font-weight: bold;
    min-width: 40em;
    margin-left: 1em;
}

/* ナビ */
#idolmaster header .menu .navi .navi-link ul {
    display: flex;
}
#idolmaster header .menu .navi .navi-link ul li {
    position: relative;
    margin: 0 1em;
}
#idolmaster header .menu .navi .navi-link ul li::before {
    content: "";
    position: absolute;
    top: calc(50% - 5.5px);
    left: -1em;
    background: #d3d3d3;
    width: 2px;
    height: 11px;
}
#idolmaster header .menu .navi .navi-link ul li:first-of-type::before {
    display: none;
}
#idolmaster header .menu .navi .navi-link ul li a {
    color: #000;
    font-size: 0.9em;
    font-weight: bold;
    padding: 0.1em 0.4em;
}
#idolmaster header .menu .navi .navi-link ul li a.current {
    border-bottom: 1px solid #000;
}



/* メインビジュアル
==================== */
#idolmaster #idolmaster_mv {
    padding-top: 5em;
}


/* コラボレーション
==================== */
#idolmaster #collaboration {
    position: relative;
    background: url(../img/collabo_bg_grad_pk_DsmTdEWW.jpg) repeat-y center center;
    background-size: 100%;
    padding: 60px 0 0;
    overflow: hidden;
}
#idolmaster #collaboration h2.marquee {
    position: absolute;
    top: 45px;
    width: 130%;
    animation: marquee-anim_pc 200s linear infinite;
}
#idolmaster #collaboration .block-inner {
    position: relative;
}
#idolmaster #collaboration p.c_txt01 {
    margin: 40px 0;
}
#idolmaster #collaboration p.c_txt02 {
    width: 50%;
    margin-top: 115px;
    padding-bottom: 190px;
}
#idolmaster #collaboration .c_idolimg {
    position: absolute;
    bottom: 55px;
    right: 0;
}
#idolmaster #collaboration .c_idolimg ul.c_idollist {
    display: flex;
}
#idolmaster #collaboration .c_idolimg ul.c_idollist li {
    margin: 0 -43px;
}
#idolmaster #collaboration .c_idolimg ul.c_idollist li.c_idol02 {
    margin: -66px -105px 0 -43px;
}
#idolmaster #collaboration .c_idolimg ul.c_idollist li.c_idol04 {
    margin: -61px -105px 0 -43px;
}

#idolmaster #collaboration .bk_band {
    background: url(../img/collabo_bg_grad_bk_grVfjEck.jpg) repeat-y center center;
    background-size: 100%;
    text-align: center;
    color: #fff;
    font-size: 2em;
    padding: 1em 0;
/*    padding-bottom: 65px;*/
}
#idolmaster #collaboration .bk_band a{
    color: #fff;
}
#idolmaster #collaboration .bk_band .txtbox {
    margin-top: 35px;
}
#idolmaster #collaboration .bk_band .txtbox p.fs-s {
    margin-top: 0;
}
#idolmaster #collaboration .bk_band p,
#idolmaster #collaboration .bk_band p span {
    font-style: italic;
    font-weight: 900;
    line-height: 1.4em;
}
#idolmaster #collaboration .bk_band p.fs-s {
    line-height: 1.5;
    font-size: 0.6em;
    font-weight: 600;
    margin-top: 20px;
}
#idolmaster #collaboration .bk_band p.fs-l {
    font-size: 1.6em;
    letter-spacing: 0.04em;
    margin-top: 30px;
}
#idolmaster #collaboration .bk_band .linkbtn {
    font-size: 0.5em;
}
#idolmaster #collaboration .bk_band .linkbtn,
#idolmaster #collaboration .bk_band .linkbtn span {
    font-style: normal;
    font-weight: 700;
}
#idolmaster #collaboration ._bnr {
    width: 40%;
    min-width: 650px;
    margin: 40px auto 10px;
}

#idolmaster #collaboration .bk_band .linkbtn {
    margin-top: 35px;
    margin-bottom: 45px;
}
.movie-container {
    width: 75%;
    margin-top: 25px;
    margin-left: auto;
    margin-right: auto;
}
.movie-container .iframe-wrapper {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.movie-container .iframe-wrapper iframe { 
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* フィギュマス
==================== */
#idolmaster #figumas {
    background: url(../img/figumas_bg_grad_bl_iVG7Hx73.jpg) repeat-y center center;
    background-size: 100%;
    padding: calc(60px + 2em) 0 60px;
}
#idolmaster #figumas h2.back-h2 {
    opacity: 0.6;
    color: #bce5f8;
    margin-right: -0.6em;
    margin-bottom: -135px;
}
#idolmaster #figumas h3 {
    position: relative;
    margin-bottom: 2em;
    text-shadow: 3px 3px 0 #fff;
}
#idolmaster #figumas p {
    margin: 1.4em 0;
}
#idolmaster #figumas p.f_txt01 {
    margin-top: 30px;
}
#idolmaster #figumas p.f_bnr {
    text-align: center;
}
#idolmaster #figumas p.f_bnr span {
    background: #000 url(../img/figumas_bnr_bg_icon_nTBCaKyB.png) no-repeat left -2% top 40%;
    background-size: 25%;
    color: #fff;
    text-align: center;
    font-family: "源ノ明朝", 'NSJP_Bold', "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "MS P明朝", "MS 明朝", serif;
    font-weight: bold;
    padding: 0.8em 75px;
    line-height: 1.4em;
}
@media screen and (max-width: 390px) {
    #idolmaster #figumas p.f_bnr span {
        padding: 0.6em 2em;
    }
}

/* 投票終了 */
#idolmaster #figumas p.u_h3_catch {
    background: #fff;
    color: #0080ff;
    border: 1px solid #bce5f8;
    text-align: center;
    font-size: 1.6em;
    font-weight: 700;
    line-height: 1.6em;
    margin: 4em 0 2em;
    padding: 1em;
}
#idolmaster #figumas p.u_h3_catch span {
    font-weight: 700;
    line-height: 1.6em;
}
#idolmaster #figumas .linkbtn {
    margin-top: 50px;
}
#idolmaster #figumas .linkbtn a::after {
    display: none;
}
#idolmaster p span.end_msg01 {
    display: block;
    font-size: 0.9em;
    font-weight: 700;
    margin-bottom: 0.8em;
}
#idolmaster p span.end_msg01 span {
    font-weight: 700;
}
#idolmaster p span.end_msg02 {
    display: block;
    font-size: 1.1em;
    font-weight: 700;
}
#idolmaster p span.end_msg02 span {
    font-weight: 700;
}
#idolmaster p span.end_msg03 {
    display: block;
    font-size: 0.9em;
    font-weight: 700;
    margin-top: 0.4em;
}
#idolmaster p span.end_msg03 span {
    font-weight: 700;
}

#idolmaster p span.end_msg04 {
    display: block;
    line-height: 1.5;
    font-size: 0.9em;
    font-weight: 700;
    margin-top: 0.8em;
}

#idolmaster p span.end_msg04 span {
    position: relative;
    font-weight: 900;
}

#idolmaster p span.end_msg04 span:last-of-type:after {
    content: "";
    position: absolute;
    top: calc(50% - 0.4em);
    right: -3em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(45deg);
    width: 0.6em;
    height: 0.6em;
}

/* お仕事内容
==================== */
#idolmaster #works {
    background: #fce6e3;
    /* padding: 60px 0; */ /* スライド下ブログを見るボタンあり */
    padding: 60px 0 90px; /* スライド下ブログを見るボタンなし */
}
#idolmaster #works .block-inner {
    position: relative;
}
#idolmaster #works h2.back-h2 {
    width: 50%;
    margin: 0px 130px -80px auto;
}
#idolmaster #works h3 {
    position: relative;
    text-shadow: 3px 3px 0 #fff;
    margin-bottom: -20px;
    z-index: 1;
}
#idolmaster #works .slide-counter {
    position: absolute;
    top: 59px;
    right: 140px;
    font-size: 1.2em;
    font-weight: 900;
}
#idolmaster #works .slide-counter span {
    font-weight: 900;
    margin: 0 0.6em;
}

#idolmaster #works .slider-wrapper {
    margin: 0 calc(-50vw + 50%);
}
#idolmaster #works .works-slide-contents {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #fff;
}
#idolmaster #works .works-slide-contents .slide-txt {
    background: #fff;
    font-size: 0.9em;
    width: 50%;
    height: 685px;
    padding: 65px 40px 60px;
    overflow-y: auto;
}
#idolmaster #works .works-slide-contents .slide-img {
    width: 50%;
}
#idolmaster #works .works-slide-contents .slide-txt p.w_txt {
    margin-top: 30px;
}
#idolmaster #works .works-slide-contents .slide-txt p.w_txt a {
    color: #000;
    font-weight: 500;
    text-decoration: underline;
}

#idolmaster #works .slick-slide {
    background: #fff;
    transform: scale(0.9);
    transform-origin: right;
    -webkit-transition: .4s cubic-bezier(.19,1,.22,1);
    -moz-transition: .4s cubic-bezier(.19,1,.22,1);
    -ms-transition: .4s cubic-bezier(.19,1,.22,1);
    -o-transition: .4s cubic-bezier(.19,1,.22,1);
    transition: .4s cubic-bezier(.19,1,.22,1);
}
#idolmaster #works .slick-slide.slick-current + .slick-slide,
#idolmaster #works .slick-slide.slick-active + .slick-slide,
#idolmaster #works .slick-slide.slick-center + .slick-slide {
    transform-origin: left;
}
#idolmaster #works .slick-slide.slick-current,
#idolmaster #works .slick-slide.slick-active,
#idolmaster #works .slick-slide.slick-center {
    transform: scale(1);
}
#idolmaster #works .slick-slide .works-slide-contents {
    opacity: 0.6;
}
#idolmaster #works .slick-slide.slick-current .works-slide-contents,
#idolmaster #works .slick-slide.slick-active .works-slide-contents,
#idolmaster #works .slick-slide.slick-center .works-slide-contents {
    opacity: 1;
}

/* スライド内動画 */
#idolmaster #works .works-slide-contents .slide-pv {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
}
#idolmaster #works .works-slide-contents .slide-pv iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* フッター上
==================== */
#idolmaster #semifoot {
    padding: 60px 0 30px;
}
#idolmaster #semifoot ul.bnrlist {
    display: flex;
    justify-content: center;
    align-items: center;
}
#idolmaster #semifoot ul.bnrlist li {
    margin: 0 15px;
}
#idolmaster #semifoot .copy_area {
    color: #525252;
    text-align: center;
    font-size: 0.8em;
    letter-spacing: 0.06em;
    margin-top: 45px
}

.pc-none {
    display: none;
}
.sp-none {
    display: block;
}


/* 20221117
==================== */
.text-skew{
    font-style: italic;
}
.jp_mv{
 display:none;
}
html[lang=ja] .en_mv{
 display:none;
}
html[lang=ja] .jp_mv{
 display:block;
}

#idolmaster .movie-wrap{
    width: 100%;
    margin: 30px auto;
}
#idolmaster .movie-inner{
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  z-index: 1;
}
#idolmaster .movie-inner iframe{
    position: absolute !important;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
/*idolmaster_mv
ーーーーーーーーーーーーーーーー*/
#idolmaster #idolmaster_mv{
    position: relative;
}
#idolmaster #idolmaster_mv .logo_area{
    position: absolute;
    right: 12vw;
    bottom: 40px;
    display: flex;
    width: 43%;
}
/*onseiwrap*/
#onseiwrap{
    position: absolute;
    left: 0;
    bottom: 10px;
}
/*モーダルボタン*/
#onseiwrap .remodal-btn{
    position: relative;
    overflow: hidden;
    background: #898fff;
    background: transparent linear-gradient(90deg, #46def9 0%, #898fff 50%,#bb63c4 100%);
    display: block;
    color: #fff;
    font-size: 1.1em;
    padding: 10px 120px 10px 30px;
    -webkit-clip-path: polygon(0% 0%, 80% 0%, 100% 100%, 0% 100%);
    clip-path: polygon(0% 0%, 80% 0%, 100% 100%, 0% 100%);
}
#onseiwrap .remodal-btn:before {
    position: absolute;
    content: '';
    display: inline-block;
    top: -180px;
    left: 0;
    width: 30px;
    height: 100%;
    background-color: rgba(255,255,255,.8);
    animation: shiny-btn 5s ease-in-out infinite;
}
@keyframes shiny-btn {
    0% { -webkit-transform: scale(0) rotate(45deg); opacity: 0; }
    80% { -webkit-transform: scale(0) rotate(45deg); opacity: 0.5; }
    81% { -webkit-transform: scale(4) rotate(45deg); opacity: 1; }
    100% { -webkit-transform: scale(50) rotate(45deg); opacity: 0; }
}
#onseiwrap .remodal-btn span:before{
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 63px;
    transform: translateY(-50%);
    background: #fff;
    width: 40px;
    height: 40px;
    border-radius: 9999px;
    transition: all 0.3s;
}
#onseiwrap .remodal-btn span:after{
content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 72px;
    transform: translateY(-50%);
    mask: url(../img/20221117/ico_sounds_c3vwsg4i.png) no-repeat center center;
    -webkit-mask: url(../img/20221117/ico_sounds_c3vwsg4i.png) no-repeat center center;
    background: #b75dcc;
    width: 24px;
    height: 24px;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: all 0.3s;
}
#onseiwrap .remodal-btn:hover{
    opacity: 1;
}
#onseiwrap .remodal-btn:hover span:after{
    background: #46def9;
}

/*モーダル 再生ボタン*/
button#btn-play{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    font-family: "源ノ角ゴシック", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "ヒラギノ角ゴ Pro W3", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "MS Pゴシック", "MS PGothic", sans-serif;
    position: relative;
    background: #898fff;
    background: transparent linear-gradient(90deg, #46def9 0%, #898fff 50%,#bb63c4 100%);
    color: #fff;
    font-size: 1.5em;
    font-weight: 900;
    line-height: 1.5;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 50px;
    margin: 20px auto 0;
    width: 100%;
}
#btn-play .btn-onsei{
    display: inline-block;
    position: relative;
    width: 1em;
    height: 1em;
    border-radius: 50%;
    font-size: 33px;
    background: #fff;
    margin-left: 10px;
}
#btn-play.play .btn-onsei.on{
    display: none;
}
#btn-play.pause .btn-onsei.off{
    display: none;
}
.btn-onsei.on:before{
    position: absolute;
    top: 50%;
    left: 30%;
    transform: translateY(-50%);
    width: 0px;
    height: 0px;
    border: 0.3em solid transparent;
    border-left: 0.5em solid #ba59c8;
    box-sizing: border-box;
    content: "";
    transition: all .3s;
}
.btn-onsei.off:before,
.btn-onsei.off:after{
    position: absolute;
    top: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 0.1em;
    height: 0.5em;
    box-sizing: border-box;
    background-color: #ba59c8;
    content: "";
    transition: all .3s;
}
.btn-onsei.off::before {
    left: 40%;
}
.btn-onsei.off::after {
    left: 60%;
}
#btn-play:hover .btn-onsei.on:before{
    border-left: 0.5em solid #46def9;
}
#btn-play:hover .btn-onsei.off:before,
#btn-play:hover .btn-onsei.off:after{
    background-color: #46def9;
}
.modal-textwrap{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.modal-textwrap div{
    width: 45%;
    padding-right: 2%;
}
.modal-textwrap p{
    color: #f00;
    font-weight: 700;
    font-size: 45px;
    line-height: 1.2;
    width: 55%;
    text-align: center;
}

/*highlights
ーーーーーーーーーーーーーーーー*/
#idolmaster .highlights{
    padding-bottom: 60px;
    background: #f8e2e0;
    background: transparent linear-gradient(-90deg, #fffeff 0%, #f8e2e0 100%);

}
#idolmaster .highlights .highlights-ttl,
.remodal .mapcheck-ttl{
    background: #898fff;
    background: transparent linear-gradient(90deg, #46def9 0%, #898fff 50%,#bb63c4 100%);
    color: #fff;
    font-size: 2em;
    font-weight: 900;
    padding: 20px;
    margin-bottom: 40px;
    text-align: center;
    font-style: italic;
    line-height: 1.5;
}
.remodal .mapcheck-ttl{
    font-size: 1.8em;
    margin: 0 -4%;
}
.remodal .mapcheck-txt {
    font-size: 1.1em;
    margin: 20px 0;
}
.remodal .map-area {
    text-align: left;
    margin: 10px 0;
    font-weight: 900;
    font-size: 1.4em;
    width: 85%;
    margin: 10px auto;
}
.remodal .map-img {
    width: 85%;
    margin: 10px auto 30px;
}

#idolmaster .highlights .highlights-catch{
    text-shadow: 3px 3px 0 #fff;
    font-size: 1.8em;
    font-weight: 900;
    line-height: 1.4em;
    margin-bottom: 30px;
}

#idolmaster .highlights .linkbtn a::after{
    content: "";
    position: absolute;
    top: calc(50% - 0.5em);
    right: 1em;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
    width: 0.6em;
    height: 0.6em;
}
#idolmaster .highlights h4{
    font-size: 1.1em;
    line-height: 2em;
    margin-bottom: 40px;
}
#idolmaster .highlights .flexbox {
    display: flex;
    flex-wrap: wrap;
}
#idolmaster .highlights .flexbox .txt-wrap {
    width: 50%;
}
#idolmaster .highlights .flexbox .img-wrap {
    width: 50%;
    margin-bottom: 30px;
}
#idolmaster .highlights .flexbox.img-wrap-flow {
    margin-bottom: 30px;
}
#idolmaster .highlights .flexbox.img-wrap-flow .img-arrow{
    padding: 0 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}
#idolmaster .highlights .amb_sche{
    background: #fff;
    padding: 15px 30px;
    text-align: center;
    margin-right: 60px;
}
#idolmaster .highlights .amb_sche p{
    font-weight: 600;
}
#idolmaster .highlights .amb_sche ul{
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
    width: 70%;
    margin: 10px auto 0;
}
#idolmaster .highlights .amb_sche ul li{
    width: 50%;
    padding: 3px;
}

#idolmaster .highlights .linkbtn a.remodal-btn-check{
    position: relative;
    font-size: 1.3em;
}
#idolmaster .highlights .linkbtn a.remodal-btn-check::after{
    font-size: 1em;
    font-weight: 900;
    line-height: 1;
    position: absolute;
    top: calc(50% - 0.5em);
    right: 30px;
    color: #fff;
    content: '＋';
    border: none;
    transform: none;
}

#idolmaster .highlights .highlight-note {
    font-size: 1em;
    margin: 30px 0;
}
#idolmaster .highlights .highlight-note span{
    display: inline-block;
}

#idolmaster .highlights .linkbtn._grad a{
    position: relative;
    overflow: hidden;
    display: inline-block;
    background: #898fff;
    background: transparent linear-gradient(90deg, #46def9 0%, #898fff 50%,#bb63c4 100%);
}
#idolmaster .highlights .linkbtn._grad a span{
    font-weight: 700;
}
#idolmaster .highlights .linkbtn._grad a:before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}
#idolmaster .highlights .linkbtn._grad a:hover:before{
    animation: shine 1s;
}
@keyframes shine {
  100% {
    left: 125%;
  }
}
#idolmaster .highlights .linkbtn._grad a:after{
    transform: rotate(45deg);
    top: calc(50% - 0.3em);
}

/*figumas
ーーーーーーーーーーーーーーーー*/
#idolmaster #figumas p.u_h3_catch._result a {
    color: #6067ff;
    font-weight: 600;
}
#idolmaster #figumas p.u_h3_catch._result a:hover{
    opacity: 1;
}
#idolmaster #figumas p.u_h3_catch._result a span{
    position: relative;
    font-size: 1.6em;
    font-weight: 900;
}
#idolmaster #figumas p.u_h3_catch._result a span:before {
  content: '';
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,.3) 100%);
  transform: skewX(-25deg);
}
#idolmaster #figumas p.u_h3_catch._result a:hover span:before{
    animation: shine 1s;
}
#idolmaster #figumas p.u_h3_catch._result a span:last-of-type:after{
    content: "";
    position: absolute;
    top: calc(50% - 0.4em);
    right: -1.5em;
    border-top: 3px solid #6067ff;
    border-right: 3px solid #6067ff;
    transform: rotate(45deg);
    width: 0.6em;
    height: 0.6em;
    transition: all .3s;
}
#idolmaster #figumas p.u_h3_catch._result a:hover span:last-of-type:after{
    transform: rotate(45deg) scale(1.2);
}


#idolmaster .endtxt{
    text-align: center;
    margin-top: 10px;
}
#idolmaster .endtxt p{
    display: inline-block;
    position: relative;
    background: #000;
    color: #fff;
    font-size: 1.6em;
    font-weight: 700;
    padding: 0.8em 4em;
}