]@charset "utf-8";
/*
ルール
下層ページレイアウト用の独自スタイルを記述する
スタイルには基本的にクラスを使用しIDは使用しない ※IDはJavaScriptが絡む箇所の使用に留める
フォントサイズ指定は基本的には%を使用する
IEは8以上に対応する

目次
General : 汎用
Product : 作品詳細
Idol/event : アイドル/イベント詳細
form    : フォーム関連
login   : 会員ページ関連
faq     : よくある質問ページ
mailmag : メールマガジン登録

/* General
----------------------------------------------------------------------------------------------------*/
.product-data-table~h3 { margin: 20px 0 0; }
.listInfo~h2 { margin-top: 20px; }
.text-table td,
.text-table th {
    vertical-align: middle;
    font-size: 140%;
}
.text-table th { text-align: center; }

/* Product
----------------------------------------------------------------------------------------------------*/
.section {width: 100%;}
.product-title,
.product-title2 { 
    position: relative;
    width: 100%;
    background: #222;
}
.product-title2 {
    border-left: 3px solid #FF3C91;
}
.product-title2 h2 {
    display: inline-block;
    border-left: none;
    margin: 0 0 .25em 0;
}
.product-title2 p {
    margin: 0;
    padding: .75em .75em 0em;
    font-size: 175%;
}
.product-title span { font-size: 83%; }
.product-title h2 {
    display: inline-block;
    margin: 0 1em 0 0;
}
span.productMainTitle {
    display: inline;
    margin: 0 -0.25em;
    font-size: 100%;
    font-weight: bold;
}
.product-title p + h2 {
    padding-top: 1.5em;
}
.product-title .tag,
.product-title2 .tag {
    display: inline-block;
    margin: 0;
    padding-top: 3.2em;
    vertical-align: top;
}
.product-title2 .tag {
    padding: 0 0 0 .75em;
}
.product-title p {
    position: absolute;
    left: 1.5em;
    top: .4em;
    font-size: 175%;
    font-weight: bold;
}
.product-box {
    width: 100%;
    display: table;
    margin: 1em 0 .75em;
}
.product-img-column {
    width: 220px;
    padding-right: 20px;
}
.product-data-column { width: 100%; }
.product-data-column td { vertical-align: middle; }
.product-img-column,
.product-data-column {
    display: table-cell;
    vertical-align: top;
}
.product-data-column .box_media {
    font-size: 120%;
    margin-bottom: 1em;
}
.product-img {
    width: 220px;
    overflow: hidden;
    margin-bottom: 10px;
    text-align: center;
}
.product-img .boxer {
    display: block;
    width: 220px;
    background: #f0f0f0;
}
.product-img .caption {
    padding-top: .25em;
    background: #fff;
}
.product-img .btn_gray {
    width: 98%;
    margin: .5em 0;
    padding: .2em 0;
    font-size: 130%;
}
.product-data-column table { font-size: 120%; }
.product-data-column th { 
    width: 160px;
    vertical-align: middle; 
}
.product-data-column td em { font-weight: bold; }
.product-data-column h3 {
    font-size: 190%;
    margin: .75em 0 .5em;
}
.productCatch {
    position: relative;
}
.productCatch h3 {
    padding: 0 100px 5px 0;
}
.bookmarkBtn {
    position: absolute;
    right: 0;
    top: 0;
}
.cv-cell {
    width: 160px;
    background-color:#f5f5f5;
}
.btn-cart {
    display: inline-block;
    margin-left: 1em;
    padding: .4em 1.75em;
    text-align: center;
    border: 1px solid #fc6935; 
    background-color: #fc6935;
    color: #fff;
    font-size: 160%;
-webkit-border-radius:2px;
   -moz-border-radius:2px;
        border-radius:2px;
-webkit-transition:background-color 0.25s ease-out, border 0.25s ease-out;
   -moz-transition:background-color 0.25s ease-out, border 0.25s ease-out;
     -o-transition:background-color 0.25s ease-out, border 0.25s ease-out;
        transition:background-color 0.25s ease-out, border 0.25s ease-out;
}
.btn-cart:hover { 
    color: #fff;
    background-color: #ffa88a; 
}
.btn_movie,
.btn_youtube,
.btn_fc2 {
    display: inline-block;
    margin: 2px 0;
    position:relative;
    color:#0999C6;
-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_movie {
    padding: 0 .4em 0 .5em;
    border: 1px solid #0999C6;
    background: #e7f9ff;
    color: #0999C6;
}
.btn_movie:hover {
    color: #FFF;
    background: #0999C6;
}
.btn_youtube {
    padding: 0 .4em 0 0;
    border: 1px solid #ff3c91;
    background: #fdedf2;
    color:#ff3c91;
}
.btn_youtube:hover {
    color: #FFF;
    background: #ff3c91;
}
.btn_fc2 {
    padding: 0 .4em 0 .5em;
    border: 1px solid #222;
    background: #eee;
    color: #222;
}
.btn_fc2:hover {
    color: #FFF;
    background: #444;
}
.product-data-column .btn_movie,
.product-data-column .btn_gray {
    font-size: 120%;
}
.product-data-column .btn_movie {
    padding: .25em .75em;
}
.product-data-column .btn_youtube{
    padding: .25em .75em;
    font-size: 120%;
}
.sns-block {
    margin: 0 0 10px;
}
.product-detail {
    width: 100%;
    display: table;
}
.product-detail-main {
    display: table-cell;
    vertical-align: top;
}
.product-detail-main + .product-detail-sub {
    display: table-cell;
    width: 280px;
    padding: 0 0 0 20px;
    vertical-align: top;
}
.product-detail-text {
    font-size: 140%;
    margin-bottom: .75em;
}
.product-detail-data { 
    width: 100%;
    margin: 1em 0 2em;
    font-size: 110%;
    color: #666;
}
.product-detail-data h4 {
    border-top: none;
    margin-bottom: .5em;
    padding-top: 0;
    font-weight: normal;
    font-size: 110%;
}
.product-detail-data dl {
    margin-top: .25em;
    font-size: 110%;    
}
.product-detail-data dt,
.product-detail-data dd { display: inline-block; }
.product-detail-data dd { margin-right: 1em; }

.product-detail-privilege {
    margin-bottom: 20px;
    list-style: none;    
}
.product-detail-privilege li {
    display: inline-block;
    margin: 0 0 0 1px;
    width: 90px;
    height: 135px;
    background-color: #f0f0f0;
}
.product-detail-privilege li:first-child { margin: 0; }
.product-detail-list,
.product-detail-list-s {
    margin: -10px 0 20px;
    list-style: none;
    border-top: 1px dotted #999999;
}
.product-detail-list-s { border: none; }
.product-detail-list li,
.product-detail-list-s li {
    margin: 0;
    padding: 7px 0;
    border-bottom: 1px dotted #999999;
}
.product-detail-list li li { border: none; }
.product-detail-review p { margin: 0; }
.product-detail-list img { width: 100px; }
.product-detail-list { 
    display: table; 
    width: 100%;
}
.product-detail-package,
.product-detail-label,
.product-detail-package-s,
.product-detail-label-s {
    display: table-cell;
    vertical-align: middle;
}
.product-detail-package {
    width: 100px;
    background-color: #f0f0f0;
}
.product-detail-package-s ,
.product-detail-package-s img { width: 50px; }
.product-detail-label,
.product-detail-label-s {
    padding-left: 10px;
}
.product-detail-label a { display: inline-block; }
.product-detail-label p {
    font-size: 120%;
    margin:.5em 0 0;
}
.product-detail-label-s { font-size: 130%; }
.product-detail-sub h4 {
    border-top: none;
    color: #ff3c91;
}
.product-detail-s-item {
    display: block;
}
.product-detail-s-idol {
    display: inline-block;
}

/* Idol / event
----------------------------------------------------------------------------------------------------*/
.idol-img-column { padding-right: 18px; }
.idol-data-column { width: 100%; }
.idol-img-column,
.idol-data-column,
.event-img-column,
.event-data-column {
    display: table-cell;
    vertical-align: top;
}
.idol-img ul {
    margin: 0;
    padding: 0;
    width: 222px;
    list-style: none;
}
.idol-img li {
    padding: 0;
    margin: 0 0 2px 0;
}
.idol-img-main a {
    display: block; 
    width: 220px;
    margin-bottom: 1em;
    overflow: hidden;
    background: #fff;
    text-align: center;
}
.idol-img-thumb {
    float: left;
    width: 111px;
    height: 109px;
    overflow: hidden;
}
.idol-img-thumb img { width: 109px; }
.idol-data-head .tag { 
    padding: 6px 100px 0 0; 
}
.idol-data-head p {
    float: right;
}
.idol-data-column h3 { margin: 1.5em 0 0em; }
.idol-data-column h3.text-vivid {
    margin: .25em 0 -.25em;
    padding: 0;
    font-weight: normal;
    font-size: 200%;
}
.idol-data-column .product-detail-list { margin-top: 1em; }
.product-data-column table,
.event-data-column table,
.idol-data-column table {
    border: 1px solid #ccc;
    font-size: 140%;
}
.product-data-column tr:nth-child(odd),
.idol-data-column tr:nth-child(odd),
.event-data-column tr:nth-child(odd) {
    background: #FDEDF2;
}
.product-data-column td,
.idol-data-column td,
.event-data-column td {
    border-left: 1px dotted #ccc;
}

.event-img-column { width: 180px; }
.event-img-column-img-wrap {
	text-align:center;
	width: 160px;
}
.event-img-column .idol-item-list { 
    margin: 1em 0; 
    width: 160px;
    font-size: 120%;
}
.event-img-column .idol-item-list li { margin-bottom: .25em; }
.event-data-column h3 { 
    margin: 1.5em 0 0em; 
    font-size: 160%;
}
.event-note {
    display: block;
    color: #FF3C91;
    font-size: 85%;
    font-weight: bold;
}
.event-data-column p {
    font-size: 140%;
}
.event-title {
    font-weight: bold;
}
/* form
----------------------------------------------------------------------------------------------------*/
.form-table {
    max-width: 700px;
    margin: 0 auto 1em;
}
.form-table th,
.commonTable th { 
    white-space: nowrap;
    vertical-align: middle;
    font-size: 120%;
}
.form-table td { font-size: 120%; } 
.form-table input[type="text"],
.form-table input[type="password"],
.commonTable input[type="text"],
.commonTable input[type="password"],
.form-table textarea,
.form-table-input,
.form-table-textarea  {
    padding: 3px 5px;
}
.form-table-input {
    padding: 7px 0;
    text-indent: 0.5em;
}
.form-table-textarea {
    height: 10em;
    line-height: 1.5;
}
.form-table-submit,
.form-table input[type="submit"] {
    cursor: pointer;
    padding: .25em 3em; 
    color: #FF3C91;  
    border: 1px solid #FF3C91;
    background-color: #fff;
-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;
}
.form-table-submit:focus,
.form-table-submit:hover,
.form-table input[type="submit"]:focus,
.form-table input[type="submit"]:hover {
    color: #fff;
    background: #ff3c91;
}
.error-message { 
    color: #ff1200;
    font-size: 110%;
    font-weight: bold;
}
.text-box {
    width: 330px;
    font-size: 140%;
}

/* login
----------------------------------------------------------------------------------------------------*/

.loginBlock {
    width: 45.7%;
    margin-right: 2%;
    padding: 1%;
    float: left;
    border: 1px solid #ccc;
}
.loginBlockWrapper {
    margin-right:-2%;
    clear:both;
}
@media screen and (max-width: 1200px) {
    .loginBlock {
        width: 95.5%;
        padding: 2%;
        margin: 0 0 1.5em 0;
    }
    .loginBlockWrapper {
        margin-right: 0;
    }
}
.loginBlock .text-block { margin: 0;}
.login-wrap {
    margin: 0 auto;
    max-width: 560px;
}
.loginBlockWrapper .form-table th {
    width: 80px;
    text-align: right;
}
.loginBlockWrapper input[type="text"],
.loginBlockWrapper input[type="password"] {
    width: 250px;
    font-size: 140%;
}
.loginBlockWrapper h3 {
    margin:0 0 10px 0;
    font-size: 150%;
}
.loginBlockWrapper p {
    margin:0 0 10px 0;
}
.loginBlock .btn_gray {
    display: block;
    margin: 0 auto;
    width: 220px;
    text-align: center;
}
.loginBlock input.btn_gray {
    margin: 0 auto;
    width: 250px;
    cursor: pointer;
}
/*３つのポイント表示*/
.roundMessage_1st{
    padding:5px 10px;
    border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    background:#fc6935;
    color:#fff;
}
.roundMessage_2nd{
    padding:5px 10px;
    border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    background:#18b3e4;
    color:#fff;
}
.roundMessage_3rd{
    padding:5px 10px;
    border-radius:30px;
    -webkit-border-radius:30px;
    -moz-border-radius:30px;
    background:#00c98f;
    color:#fff;
}
.roundMessage_1st span , .roundMessage_2nd span , .roundMessage_3rd span{
    font-family:"Arial Black", Gadget, sans-serif;
}
.line { margin-top: 1em; }

/* faq
----------------------------------------------------------------------------------------------------*/
.faq { margin: 0; }
.faq dt {
    border-bottom: 1px dotted #999999;
    padding: 0 0 5px 25px;
    text-indent: -25px;
    color: #666666;
    font-weight: bold;
}
.faq dd {
    padding: 5px 0 25px 25px;
    text-indent: -25px;
}
@media screen and (min-width: 1250px) {
    .faq {
        width: 49%;
        float: right;
    }
    .faq:first-child {
        float: left;
    }
}
.update-wrap { overflow: hidden; }
.update-wrap dt {
    float: left;
    width: 90px;
}
.update-wrap dd {
    padding: 0 0 1em 90px;
    border-bottom: 1px dotted #999999;
}

/* mailmag
----------------------------------------------------------------------------------------------------*/
.mailmag table { margin-bottom: 3em; }
.mailmag tr:first-child { border-top: none; }
.mailmag td:first-child {
    padding: 1em 0 0 0;
    margin: 0;
    font-size: 100%;
}

/* no member
----------------------------------------------------------------------------------------------------*/
.no-member-alert-block {
	font-size:130%;
	margin: 1em 0;
}
.no-member-alert-block .alert-text{
	border: 1px solid #aaa;
	border-radius: 4px;
	margin-bottom: 1em;
    padding: 10px 10px 0;
}
