@charset "utf-8";

/*

ルール
共通パーツ/TOPページの細かいスタイルを記述する
スタイルには基本的にクラスを使用しIDは使用しない ※IDはJavaScriptが絡む箇所の使用に留める
フォントサイズ指定は基本的には%を使用する
IEは8以上に対応する

目次
header
global navigation
navbar
search-bar
key-visual
flexslider (carousel)
main
second-column
third-column
footer
top

*/

/* header
----------------------------------------------------------------------------------------------------*/
.header-logo {
    display: table-cell;
    vertical-align: top;
}
.header-logo a {
    display: block;
    margin-right: 35px;
    text-indent: -145px;
    overflow: hidden;
}
.header-text {
    display: table-cell;
    width: 100%;
    height: 60px;
    vertical-align: middle;
}
.header-text-top {
    font-size: 140%;
    font-weight: bold;
    color: #ff3c91;
}
.header-list {
    display: table-cell;
}
.header-list ul {
    width: 202px;
    margin: 0;
    text-align: center;
    border-left: 1px dotted #CCC;
}
.header-list li {
    display: table-cell;
    margin: 0;
    border-right: 1px dotted #CCC;
    list-style: none;
}
.header-list a {
    display: block;
    width: 100px;
    height: 56px;
    padding-top: 4px;
    line-height: 1.5;
    color: #ff3c91;
    text-decoration: none;
    font-size: 110%;
    background-color: #FFFFFF;
-webkit-transition:background-color 0.25s ease-out;
   -moz-transition:background-color 0.25s ease-out;
     -o-transition:background-color 0.25s ease-out;
        transition:background-color 0.25s ease-out;
}
.header-list a:hover {
    background-color: #fdedf2;
}
.header-list-label {
    display: block;
    color: #666;
}
a:hover .header-list-label {
    color: #ff3c91;
}
.header-list-count {
    font-size: 280%;
    padding-right: 0.25em;
}
a:hover .header-list-count {
    color: #ef0269;
}
.header-nav {
    display: table-cell;
    vertical-align: top;
    padding-left: 12px;
}
.header-nav ul {
    width: 264px;
    margin: 0;
    height: 60px;
    text-align: center;    
}
.header-nav li {
    display: table-cell;
    width: 66px;
    line-height: 1.2;
}
.header-nav a {
    display: block;
    position: relative;
    top: 2px;
    margin: 0 auto;
    width: 56px;
    height: 56px;
    color: #FFF;
    font-size: 110%;
-webkit-border-radius:30px;
   -moz-border-radius:30px;
        border-radius:30px;
-webkit-transition:background-color 0.25s ease-out, top 0.25s ease-out, width 0.25s ease-out, height 0.25s ease-out;
   -moz-transition:background-color 0.25s ease-out, top 0.25s ease-out, width 0.25s ease-out, height 0.25s ease-out;
     -o-transition:background-color 0.25s ease-out, top 0.25s ease-out, width 0.25s ease-out, height 0.25s ease-out;
        transition:background-color 0.25s ease-out, top 0.25s ease-out, width 0.25s ease-out, height 0.25s ease-out;
}
.header-nav a:hover {
    width: 60px;
    height: 60px;
    top: 0px;
-webkit-border-radius:30px;
   -moz-border-radius:30px;
        border-radius:30px;
}
.header-nav-cart { background-color: #fc6935; }
.header-nav-cart:hover { background-color: #ffa383;}
.header-nav-login { background-color: #18b3e4; }
.header-nav-login:hover { background-color: #47c3ea; }
.header-nav-signup { background-color: #00c98f; }
.header-nav-signup:hover { background-color: #24e1aa; }
.header-nav a .signup-wrap {
    display: inline-block;
    font-size: 91%;
    line-height: 1;
    position: relative;
    top: -4px;
}
.header-nav a.for-bigginer {
    width: 66px;
    height: 56px;
    top: 10px;
    color: #222;
    font-size: 100%;
}
.header-nav a.for-bigginer:hover {
    color: #FF3C91;
}

/* global navigation
----------------------------------------------------------------------------------------------------*/
.gnav ul {
    display: table;
    margin: 0;
    width: 100%;
}
.gnav li {
    display: table-cell;
    list-style: none;
    margin: 0;
    width: 16.6%;
}
.gnav li a {
    display: block;
    position: relative;
    padding: 7px 0;
    text-align: center;
    font-size: 150%;
    color: #ffffff;
}
.gnav li a span{
    display: block;    
    border-right: 1px dotted #666;
    line-height: 26px;
}
.gnav li a span:after { 
    content: '▲';
    color: #ffffff;
    display: block;
    position: absolute;
    font-size: 10px;
    margin-left: -5px;
    left: 50%;
    top: 35px;
-webkit-transition:top 0.25s ease-out;
   -moz-transition:top 0.25s ease-out;
     -o-transition:top 0.25s ease-out;
        transition:top 0.25s ease-out;
}
.gnav li:first-child a span { border-left: 1px dotted #666 }
.gnav li a:hover,
.gnav li a.current { color: #ff3c91; }
.gnav li a:hover span:after,
.gnav li a.current span:after {
    top: 25px;
}

/* navbar
----------------------------------------------------------------------------------------------------*/
#navbar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #000;
    background: rgba(0,0,0,.75);
    z-index: 200;
}
.navbar-left { 
    float: left; 
    text-align: left;
}
.navbar-right { 
    float: right; 
    text-align: right;
}
.navbar-logo { margin: 5px 10px; }
.navbar-logo a {
    text-indent: -73px;
    overflow: hidden;
}
.navbar-element {
    display: inline-block;
    margin: 0 !important;
}
.navbar-element li {
    display: inline-block;
    margin: 5px 10px 5px 0;
    line-height: 30px;
}
.navbar-element li a {
    color: #fff;
    font-size: 120%;
}
.navbar-element li a:hover { color: #FF3C91; }

/* search-bar
----------------------------------------------------------------------------------------------------*/
/* 旧検索バー用のスタイル
.search-bar {
    padding: 10px;
    margin-bottom: 20px;
    background-color: #F0F0F0;
    font-size: 120%;
}
form {
    display: table;
    position: relative;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}
.search-select-wrap {
    display: table-cell;
    cursor: pointer;
    width: 160px;
    padding: 7px 0;
    border: none;
    text-indent: 7px;
    color: #FFF;
    background-color: #222;
}
.search-text-wrap {
    display: table-cell;
    padding: 0 10px;
}
.search-submit-wrap {
    display: table-cell;
    width: 100px;
}
.search-select-wrap .icon-down {
    position: absolute;
    left: 145px;
    top: 17px;
}
.search-select {
    top: 0;
    left: 0;
    opacity: 0;
    cursor: pointer;
    width: 160px;
    padding: 7px 0;
}
.search-text {
    width: 100%;
    padding: 7px 0;
    border: 1px solid #CCC;
    color: #999;
    text-indent: 0.5em;
}
.search-submit {   
    width: 100px;
    padding: 7px;
    cursor: pointer;
    border: none;
    color: #FFF;
    background-color: #ff3c91;
    -moz-transition: background-color 0.25s ease-out;
    -o-transition: background-color 0.25s ease-out;
    -webkit-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out;
}*/
.search-box {
    position: relative;
    display: block; 
    overflow: hidden;
    margin-top: 20px;
    width: 160px;
}
.search-box .icon-search {
    position: absolute;
    left: 135px;
    top: 5px;
}
.search-box .serch-text-block {
    float: left;
    width: 129px;
    height: 30px;
    overflow: hidden;
}
input[type="text"].search-box-text {
    width: 128px;
    height: 26px;
    line-height: 30px;
    border: 1px solid #CCC;
    border-right: none;
    outline: none;
    color: #999;
    text-indent: 1em;
    font-size: 100%;
    -moz-border-radius: 15px 0 0 15px;
    -webkit-border-radius: 15px 0 0 15px;
    border-radius: 15px 0 0 15px;
}
input[type="text"].search-text:focus,
input[type="text"].search-box-text:focus {
    border: 1px solid #fe4e7f;
    border-right: none;
    color: #333;
}
.search-submit-wrap {
    float: left;
    display: block;
    width: 30px;
    height: 30px;
    overflow: hidden;
    background-color: #ff3c91;
    -moz-border-radius: 0 50% 50% 0;
    -webkit-border-radius: 0 50% 50% 0;
    border-radius: 0 50% 50% 0;   
    -moz-transition: background-color 0.25s ease-out;
    -o-transition: background-color 0.25s ease-out;
    -webkit-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out;
}
.search-box-submit {
    position: absolute;
    left: 130px;
    top: 0;
    width: 30px;
    height: 30px;
    cursor: pointer;
    opacity: 0;
}
.search-submit:focus,
.search-submit:hover,
.searchi-box-submit:focus,
.searchi-box-submit:hover,
.search-submit-wrap:hover {
    background-color: #ff6cac;
}

/* flexslider (carousel)
----------------------------------------------------------------------------------------------------*/
.flexslider ul {
    margin: 0;
}
.flexslider li {
    margin: 0;
    list-style: none;
    text-align: center;
}
.flexslider img {
    width: 130px;
}
.item-name {
    display: block;
    width: 130px;
    font-size: 120%;
}
.item-name span {
    display: block;    
    min-height: 190px;
}
.item-idol-name {
    display: block;
    width: 130px;
    font-size: 140%;
}

.idolImageCarousel{
	margin: 0px;
	width: auto;
	height: auto;
	margin-left: 0;
}
.idolImageCarousel ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: block;
}
.idolImageCarousel li {
	color: #999;
	text-align: center;
	background-color: #eee;
	padding: 0;
	margin: 6px;
	display: block;
	float: left;
}
.idolImageSlideNav {
	background-color:#ddd;
	color:#222222;
	display:block;
	height:180px;
	width:20px;
	position:relative;
}
.idolImageSlideNav:hover {
	opacity:0.5;
}
.idolImageSlideNav .sprite-img{
	position: absolute;
	top: 50%;
	left: 5px;
	margin-top: -9px;
}
.slidewrap .text-right { margin-top: -2.5em; }
.slides li { 
    position: relative; 
    padding-bottom: 50px;
}
.mediaWrap {
    position: absolute;
    bottom: 6px;
    left: 0;
    width:130px;
    height: 50px;
    font-size:120%;
}
.mediaWrap a {
    display: block;
    margin: 7px 0 0;
    padding: 0;
}


/* main
----------------------------------------------------------------------------------------------------*/
.section {
    margin-bottom: 20px;
}
.section h2 {
    margin-bottom: 15px;
}

/* パンくず */
.bread-crumb {
    padding: .75em 0;
    margin: 0 20px -20px;
    color: #666;
}
.bread-crumb li {
    display: inline;
    margin: 0;
    list-style: none;
    font-size: 120%;
}
.bread-crumb li a { padding-right: 7px; }

/* ソートバー（タブ） */
.sortBar {
    margin:0 0 1em 0;
    padding:0 5px 1px 5px;
    border-bottom: 1px solid #e5e5e5;
    background:#FFF;
    font-size: 140%;
}
.sortBar p {
    margin-bottom:10px;
}
.sortBar span {
    font-family:"Arial Black", Gadget, sans-serif;
}
.sortBar ul {
    margin: 0 0 -1px 0;
    padding:0;
    list-style:none;
}
.sortBar li {
    margin: 0;
    padding: 0;
    display: inline;
}
.sortBar li+li {
    margin-left:3px;
}
.sortBar li a {
    position: relative;
    top: 1px;
    padding: 5px 9px;
    display: inline-block;
    background: #e5e5e5;
    border: 1px solid #fff;
    border: 1px solid #e5e5e5;
    text-align:center;
-webkit-border-radius:2px 2px 0 0;
   -moz-border-radius:2px 2px 0 0;
        border-radius:2px 2px 0 0;
-webkit-transition:all 0.25s ease-out;
   -moz-transition:all 0.25s ease-out;
     -o-transition:all 0.25s ease-out;
        transition:all 0.25s ease-out;
}
.sortBar a:hover , 
.sortBar a.current {
    background:#fff;
    color:#ff3c91;
    border: 1px solid #e5e5e5;
    border-bottom: 1px solid #fff;
}

/* 作品一覧 */
.productionList {
    clear: both;
    width: 97.5%;
    padding: 1%;
    margin-top: 1em;
    overflow: hidden;
    border: 1px solid #ccc;
-webkit-border-radius: 5px;
   -moz-border-radius: 5px;
        border-radius: 5px;
}
.listThumb {
    float: left;
    width: 100px;
}
.listContents {
    margin-left: 110px;
    overflow: hidden;
}
@media screen and (min-width: 1250px) {
    .productionList {
        display: inline-block;
        width: 47%;
        margin-top: .75em;
    }    
    .productionList:nth-child(odd) { margin-right: 1%; }

}
.productionList h3 {
    margin: 0;
    font-size: 170%;
}
.productionList h3 a { 
    display: inline-block;
}
.productionList h4{
    display: inline-block;
    margin: 0 .5em 0em 0;
	padding: .25em 0;
    font-size: 140%;
	border:none;
	font-weight: normal;
}
.productionList .tag {
    display: inline-block;
    margin: .5em .5em 0 0;
}
.productionList .tag li { margin-bottom: .75em; }
.productionList p {
    margin: .2em 0 0;
    font-size: 120%;
}
.list-head {
    display: table;
    width: 100%;
}
.list-head p {
    display: table-cell;
    width: 210px;
    padding-bottom: .5em;
    font-size: 110%;
}
.list-head .pager {
    display: table-cell;
    padding: 0 0 .5em;
    text-align: right;
}
.list-head .pager li { text-align: center; }
.listInfo{
    margin: .5em 0 0 0;
    list-style: none;
    border: 1px solid #ddd;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.listInfo li {
    margin: 0;
    padding: 5px 15px 5px 35px;
    text-indent: -30px;
    font-size: 120%;
}
.listInfo li+li {
	border-top: 1px dotted #ccc;
}
.listInfo .icon-info {
	margin-right: 2px;
}
.listContents .text-right { padding-bottom: 1px }
.listContents .btn_gray{
    padding: 0 .75em;
    font-size: 110%;
}
.listContents .set-bookmark-item {
    margin: 8px 0;
}
.listContents a + .set-bookmark-item { margin-left: 1em; }
.listContents .btn_movie {
	margin: 8px 0px 4px 0px;
    font-size: 110%;
}
.listContents .btn_youtube{
	margin: 8px 0px 4px 0px;
}
.listContents .btn_fc2 {
	margin: 8px 0px 4px 0px;
}
.productTitle {
    margin: 0 -0.05em;
}
.release-date-list h3 {
    border-bottom: 1px dotted #ccc;
    font-size: 200%;
}
.release-date-list ul{
    list-style: none;
    margin: 0 0 2em;
    padding: 0;
}
.release-date-list li {
    display: inline-block;
    width: 23.8%;
    margin: 0 1% 1.5em 0;
}
.release-date-list li:nth-child(4n){
    margin-right: 0;
}
.release-date-list a {
    display: block;
    padding: 5px 7px;
    border: 1px solid #CCC;
    font-size: 130%;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
}
.release-date-list a:hover {
    background: #FDEDF2;
    color: #FF3C91;
    border: 1px solid #FF3C91;
}

/* アイドル一覧 */
.kanalist ul{
    margin: -1em 0 1em;
    padding: 0 1em;
    list-style: none;
    font-size: 140%;
    background: #f0f0f0;
}
.kanalist li {
    display: inline-block;
    margin: 0 .1em;
    padding: .75em 0;
}
.kanalist li a {
    padding: .25em .5em;
    background: #fff;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}
.kanalist li a.current,
.kanalist li a:hover {
    background: #EF0269;
    color: #fff;
}
.idol-item-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 130%;
}
.idol-item-list li {
    margin: 0;
    padding: .25em 5px .1em 10px;
    text-indent: -3px
}
.idol-item-list li:nth-child(odd) {
    background: #FDEDF2;
}
.idol-list-wrap .listTitle { position: relative; }
.idol-list-wrap .listTitle p {
    position: absolute; 
    margin-top: -0.25em;
    right: 5px;
    top: 5px;
    font-size: 91%;
}
.idol-list-wrap .productionList { min-height: 100px; }
.idol-list-wrap .listThumb a {
    display: block;    
    width: 96px;
    height: 96px;
    overflow: hidden;
    border: 3px solid #FFF;
    border-bottom: 10px solid #FFF;
-moz-box-shadow: 0px 0px 0px 1px #cccccc;
-webkit-box-shadow: 0px 0px 0px 1px #cccccc;
box-shadow: 0px 0px 0px 1px #cccccc;
-webkit-transition:all 0.25s ease-out;
   -moz-transition:all 0.25s ease-out;
     -o-transition:all 0.25s ease-out;
        transition:all 0.25s ease-out;
}
.idol-list-wrap .listThumb a:hover { 
    border: 3px solid #FF3C91;
    border-bottom: 10px solid #FF3C91;
}
.idol-list-wrap .listThumb img { 
    width: 96px;
}
.idol-list-wrap .listInfo { margin-top: .25em; }

/*イベント一覧専用*/
.eventList h3{
	margin:-15px -15px 10px;
	padding: 15px 15px 10px;
	background: #f0f0f0;
	font-weight:normal;
	color:#999;
}
.date {
    display: table-cell;
    width: 60px;
    height: 4em;
    line-height: 1.25;
    overflow: hidden;
    background: #FFF;
    color: #FF3C91;
    vertical-align: top;
    text-align: center;
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    border-radius: 2px;
}
.date-year {
    display: block;
    margin-bottom: .4em;
    padding: .2em 0;
    color: #FFF;
    background: #FF3C91;
    font-size: 75%;
}
.date-month {
    font-size: 75%;
}
.date-day {
    font-size: 120%;
}
.date-week {
    display: block;
    padding: 0 0 .3em 0;
    font-size: 75%;
}
.eventList {
    position: relative;
}
.eventList h3 a {
    display: table-cell;
    padding-left: 10px;
    vertical-align: middle;
    line-height: 1.4;
    font-weight: bold;
}
.eventList .listContents {
    padding-bottom: 30px; 
}
.listContents table,
.listContents .text-right { font-size: 130%; }
.listContents table { margin-bottom: .5em; }
.listContents th { 
    width: 60px; 
    white-space: nowrap;
}
.eventList .text-right {
    position: absolute;
    right: 10px;
    bottom: 10px;
}

/* マイページ */
.mypageTitle{
	position: relative;
	margin: 0 0 1em 0;
}
.mypageTitle .btn_gray{
	position: absolute;
	top:8px;
	right:10px;
	font-size:120%;
}


/* ページャー */
.pager{
    margin: 0;
    padding: 1em 0 0;
    list-style:none;
    text-align:center;
    font-size:120%;
}
.pager li{
    margin:0;
    padding:0;
    display:inline-block;
}
.pager li+li{
    margin-left:5px;
}
.pager li a{
    min-width:20px;
    padding: .25em;
    background:#f0f0f0;
    display:inline-block;
    border: 1px solid #f0f0f0;
-webkit-border-radius:2px;
   -moz-border-radius:2px;
        border-radius:2px;
-webkit-transition:all 0.25s ease-out;
   -moz-transition:all 0.25s ease-out;
     -o-transition:all 0.25s ease-out;
        transition:all 0.25s ease-out;
}
.pager li a:hover , .pager li a.current{
    border: 1px solid #ff3c91;
    background:#fff;
    color:#ff3c91;
}

/* タグ */
.tag{
    margin:0;
    padding:0;
    list-style:none;
    font-size: 110%;
}
.tag li{
    margin:0 .5em 1em 0;
    padding:0;
    display:inline-block;
}
.tag a{
    padding:1px 7px 1px 20px;
    border-radius: 30px 4px 4px 30px;
    -webkit-border-radius: 30px 4px 4px 30px;
    -moz-border-radius: 30px 4px 4px 30px;
    background:#e9e9e9;
    position:relative;
    color:#333;
-webkit-transition:all.25s ease-out;
   -moz-transition:all 0.25s ease-out;
     -o-transition:all 0.25s ease-out;
        transition:all 0.25s ease-out;
}
.tag li a:hover{
    background: #FDEDF2;
    color:#ff3c91;
    box-shadow:inset 0px 0px 0px 1px rgba(255,255,255,0.75);
    -webkit-box-shadow:inset 0px 0px 0px 1px rgba(255,255,255,0.75);
    -moz-box-shadow:inset 0px 0px 0px 1px rgba(255,255,255,0.75);
}
.tag a:before{
    content:"●";
    color:#fff;
    position:absolute;
    left:5px;
}

/* ランキング表示 */
.roundMessage{
    display:inline-block;
    padding:3px 10px;
    border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    background:#ff3c91;
    color:#fff;
    font-size: 75%;
}

/* 動画サムネイル */
.sample-movie-list {
    list-style: none;
    margin: 1em 0 0 0;
}
.sample-movie-list li {
    display: inline-block;
    padding: 1%;
    margin: 0 0 1% 0;
    overflow: hidden;
    width: 46.5%;
    border: 1px solid #ccc;
-webkit-border-radius: 5px;
   -moz-border-radius: 5px;
        border-radius: 5px;
}    
.sample-movie-list li:nth-child(odd) { margin-right: 1%; }
@media screen and (min-width: 1440px) {
    .sample-movie-list li {
        width: 30%;
    }
    .sample-movie-list li { margin-right: 1%; }
    .sample-movie-list li:nth-child(3n) { margin-right: 0; }
}
.sample-movie-thumb {
    display: table-cell;
}
.sample-movie-thumb span {
    display: block;
    width: 100px;
    height: 100px;
    overflow: hidden;
}
.sample-movie-thumb img {
    width: 100px;
}
.sample-movie-list p {
    display: table-cell;
    height: 100px;
    margin: 0;
    padding-left: 10px;
    overflow: hidden;
    vertical-align: middle;
}
.sample-movie-list .btn_movie {
    margin-top: 2px;
}
.sample-movie-list .item-name,
.sample-movie-list .item-idol-name {
    width: auto;
}
.sample-movie-list .comment {
    display: block;
    margin-top: 4px;
}
.release-date {
    color: #666;
    font-size: 120%;
}
.sample-movie-list .item-name {
    margin-bottom: .25em;
}

/* 発売日 */
.releaseDate{
    position:absolute;
    top:5px;
    right:0;
    color:#666;
    font-size:110%;
}

.btn_gray,
.btn_blue {
    display: inline-block;
    padding: .5em .75em;
    border: 1px solid #FF3C91;
    background: #fff;
    position:relative;
    color:#FF3C91;
-webkit-border-radius: 2px;
   -moz-border-radius: 2px;
        border-radius: 2px;
-webkit-transition: all 0.25s ease-out;
   -moz-transition: all 0.25s ease-out;
     -o-transition: all 0.25s ease-out;
        transition: all 0.25s ease-out;
}
.btn_blue {
    border: 1px solid #18B3E4;
    color: #18B3E4;
}
.btn_gray:hover,
.btn_blue:hover {
    color: #FFF;
    background: #FF3C91;
}
.btn_blue:hover {
    background: #18B3E4;
}
.centering{
	text-align:center;
}

/* second-column
----------------------------------------------------------------------------------------------------*/
.menu { margin: 20px 0; }
.menu dt {
    margin: 19px 0 3px 0;
    padding: 5px 0;
    border-left: 2px solid #ff3c91;
    background: #222;
    color: #FFF;
    text-align: center;
    font-size: 130%;
}
.menu dt:first-child {
    margin-top: 0;
}
.menu dd { font-size: 130%; }
.menu dd a {
    display: block;
    padding: 5px 0 5px 5px;
    border-bottom: 1px dotted #CCC;
    background-color: #fff;
-webkit-transition: background-color 0.25s ease-out;
   -moz-transition: background-color 0.25s ease-out;
     -o-transition: background-color 0.25s ease-out;
        transition: background-color 0.25s ease-out;
}
.menu dd a:hover { background-color: #fdedf2; }

/* third-column
----------------------------------------------------------------------------------------------------*/
.third-column-menu {
    margin: 20px 0;    
}
.third-column-menu:first-child {
    margin-top: 0;
}
.third-column-menu dt {
    margin-top: 19px;
    padding: 5px 0;
    border-left: 2px solid #ff3c91;
    background: #222;
    color: #FFF;
    text-align: center;
    font-size: 130%;
}
.third-column-menu dd {
    display: table;
    width: 100%;
    padding: 5px 0;
    border-bottom: 1px dotted #CCC;
    font-size: 125%;
}
.third-ranking-thumb {
    width:30px;
    height: 30px;
    background: #ccc;
    text-align: center;
}
.third-ranking-thumb,
.third-ranking-text {
    display: table-cell;
    vertical-align: middle;
    line-height: 1.35;
}
.third-ranking-text { padding-left: 10px; text-align: left;}
.banner-list li {
    margin: 0 0 10px 0;
    list-style: none;
}
.banner-list dt { 
    margin-bottom: 5px;
}
.banner-list dd { border:none; }

/* footer
----------------------------------------------------------------------------------------------------*/
.top-anchor a {
    display: inline-block;
    position: fixed;
    right: 0;
    bottom: 10px;
    padding: 0 10px 0 20px;
    line-height: 30px;
    background: #fff;
    border-radius: 15px 0 0 15px;
    float: right;
    margin: -40px 0 0 0;
}
.footer-nav {
    padding: 10px 20px;
    color: #fff;
    background-color: #222;
}
.footer-nav dl {
    display: table;
    width: 100%;
}
.footer-nav dt {
    display: table-cell;
    width: 160px;
    border-right: 1px dotted #CCC;
    font-size: 160%;
    text-align: center;
}
.footer-nav dd {
    display: table-cell;
    padding-left: 20px;
    font-size: 130%;
    vertical-align: middle;
}
.footer-nav ul {
    margin: 0;
}
.footer-nav li {
    display: inline-block;
    margin: 0;
    padding-right: 20px;
    list-style: none;
}
.footer-nav li a {
    color: #ffffff;
}
.footer-nav li a:hover {
    color: #ff3c91;
}
.copy {
    padding: 10px 20px 30px;
    color: #ffffff;
    font-size: 110%;
    text-align: center;
}

/* key-visual (flickslider)
----------------------------------------------------------------------------------------------------*/
#key-visual {
    width: 100%;
}
/* .flickSlider
--------------------------- */
.flickSlider {
    position: relative;
    margin: 0 auto 20px;
    text-align: left;
    display: none;
}
.flickSlider li {
    margin: 0;
    padding: 0;
    list-style: none;
}
/* .flickView
--------------------------- */
.flickSlider .flickView {
    width: 100%;
    text-align: left;
    position: relative;
    overflow: hidden;
}
.flickSlider .flickView ul {
    top: 0;
    left: 0;
    width: 100%;
    position: absolute;
    overflow: hidden;
}
.flickSlider .flickView ul li {
    width: 100%;
    float: left;
    display: inline;
    overflow: hidden;
}
.flickSlider .flickView ul li img {
    width: 100%;
}

/* .flickThumb
--------------------------- */
.flickSlider .flickThumb {
    width: 100%;
    overflow: hidden;
}
.flickSlider .flickThumb ul {
    width: 110%;
    margin: 0;
}
.flickSlider .flickThumb ul li {
    float: left;
    cursor: pointer;
    display: inline;
}
.flickSlider .flickThumb ul li span {
    display: block;
    padding: 1px 1px 0 0;
}
.flickSlider .flickThumb ul li img {
    width: 100%;
    float: left;
}
.flickSlider .flickThumb ul li.active {
    filter:alpha(opacity=100)!important;
    -moz-opacity: 1!important;
    opacity: 1!important;
}

/* =======================================
    ClearFixElements
======================================= */
.flickSlider .flickView ul:after,
.flickSlider .flickThumb ul:after {
    content: ".";
    height: 0;
    clear: both;
    display: block;
    visibility: hidden;
}

.flickSlider .flickView ul,
.flickSlider .flickThumb ul {
    display: inline-block;
    overflow: hidden;
}

/* top
----------------------------------------------------------------------------------------------------*/
h2.note {
    font-size: 150%;
}
.readmore {
    display: inline-block;
    padding: 5px 1em;
    font-size: 60%;
    font-weight: normal;
    font-size: 120%;
    background-color: #f0f0f0;
-webkit-transition: background-color 0.25s ease-out;
   -moz-transition: background-color 0.25s ease-out;
     -o-transition: background-color 0.25s ease-out;
        transition: background-color 0.25s ease-out;
}
.readmore:hover { background-color: #fdedf2; }

.news-block,
.news-block2 {
    width: 100%;
}
.news-block2 { margin-bottom: 20px; }
.news-block + .news-block { margin-top: 20px; }
.news-block h2 { margin-bottom: 10px; }
.news-block .text-block,
.slidewrap .text-block { margin: 0; }
@media screen and (min-width: 1250px) {
    .news-block {
        display: inline-block;
        width: 49%;
        margin-left: 1.5%;
        vertical-align: top;
    }
    .news-block:first-child {
        margin: 0;
    }
    .news-block + .news-block { margin-top: 0; }
}
@media screen and (min-width: 1220px) {
    .news-block2 {
        display: inline-block;
        width: 48%;
        margin-left: 1.5%;
        vertical-align: top;
    }
    .news-block2:first-child {
        margin: 0;
    }
}
.news-list {
    display: table;
    width: 100%;
}
.news-list-thumb {
    display: table-cell;
    width: 130px;
    height: 130px;
    overflow: hidden;
    vertical-align: top;
}
.news-list-thumb ul {
    position: relative;
    margin: 0;
    min-height: 130px;
    list-style: none;
}
.news-list-thumb li {
    position: absolute;
    left: 0;
    top: 0;
    margin: 0;
}
.news-list-text {
    display: table-cell;
    padding-left: 1em;
}
.news-list-text ul,
.news-list-block {
    font-size: 140%;
    margin: 0 0 .5em 0;
    border-top: 1px dotted #CCC
}
.news-list-text li,
.news-list-block li {
    margin: 0;    
    list-style: none;
    border-bottom: 1px dotted #CCC;
}
.news-list-text li a,
.news-list-block li {
    display: block;
    padding: 5px 0;
    -moz-transition: background-color 0.25s ease-out;
    -o-transition: background-color 0.25s ease-out;
    -webkit-transition: background-color 0.25s ease-out;
    transition: background-color 0.25s ease-out;
}
.news-list-text li a:hover {
    background-color: #fdedf2;
}
.news-list-thumb img {
    width: 130px;
}
.news-list-date {
    display: table-cell;
    width: 80px;
    color: #222222;
}
.news-list-main {
    display: table-cell;
}
.news-event-text {
    display: block;
    color: #222222;
}

.idol-list {
    margin: 0;
}
.idol-list ul {
    margin: 0;
    width: 100%;
    overflow: hidden;
    font-size: 130%;
}
.idol-list li {
    display: block;
    float: left;
    width: 80px;
    margin: 0 5px 1em 0;
    list-style: none;
    text-align: center;
}
.idol-thumb {
    display: block;
    width: 80px;
    height: 80px;
    overflow: hidden;
}
.idol-thumb img { height: auto; }
.idol-name { 
    display: block;
    width: 80px;
    padding-top: .3em;
}
.idol-list .text-right { margin: -.5em 0 1.75em; }

.about-us h2 {
    border: none;
    padding: 0;
    line-height: 30px;
}
.about-us p {
    margin: 0;
    padding: 1em;
    text-align: center;
    line-height: 1.4;
    border: 3px solid  #fdedf2;
    background-color: #fedce6;
    font-size: 130%;
}
.about-us strong {
    font-size: 130%;
    color: #ff3c91;
}

/* machebara */
#machebara {
	width: 100%;
}

#machebara .idol-list-col {
	min-height: 380px;
	margin-right: 10px;
	float: left;
}

#machebara .idol-list-col ul {
	margin-top: 10px;
}

#machebara .idol-list-col li {
	list-style-type: none;
	margin: 0;
	white-space: normal;
	font-size: 120%;
}

#machebara .sns-list a {
	font-size: 110%;
	float: left;
}

#machebara .youtube {
	width: 220px;
	height: 176px;
	margin-bottom: 30px;
}

/* Company */

.company-map-button {
	background-color: black;
	color: white;
	padding: 1px 15px 2px 15px;
	margin-left: 1em;
	border-radius: 5px;
	transition: 0.3s;
}

