@charset "UTF-8";

/*=============================================================
リセット
=============================================================*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
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 {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-weight:400;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
body {
    line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display:block;
}
nav ul {
    list-style:none;
}
blockquote, q {
    quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}
a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}
/* change colours to suit your needs */
ins {
    background-color:#ff9;
    color:#000;
    text-decoration:none;
}
/* change colours to suit your needs */
mark {
    background-color:#ff9;
    color:#000;
    font-style:italic;
    font-weight:bold;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}
input, select {
    vertical-align:middle;
}
*:focus {
  outline: none;
}

/*=============================================================
    共通
=============================================================*/
::selection {
    background:#e7ffce; /* Safari */
}

::-moz-selection {
    background:#e7ffce; /* Firefox */
}
html {
    font-size: 62.5%;
    height:100%;
}
body {
    font-family: ヒラギノ角ゴシック Pro, 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.6rem;
    background: #F4F4F4;
    color:#666;
    height: calc(100% - 110px);
}
a {
    text-decoration: none;
    color:#666;
}
.cf:after{
    content:"";
    display:table;
    clear:both
}
.warp {
    width: 100%;
    position:relative;
    min-height: 100%;
    padding-bottom: 110px;
}

.inner{
    min-width: 1125px;
}

.btn-disp-none{
    display:none !important;
}

/* ジャンル */

label.anime{background: #4CAF50;}
label.game{background: #03A9F4;}
label.music{background: #3F51B5;}
label.character{background: #F44336;}
label.movie{background: #9C27B0;}
label.tv{background: #009688;}
label.comic{background: #FF9800;}
label.script{background: #EA912B;}
label.location{background: #CC3333;}
label.creator{background: #444444;}
label.book{background: #de392a;}
label.tv_program{background: #0166B6;}


.anime .catalog-label{background:#4CAF50;}
.game .catalog-label{background:#03A9F4;}
.music .catalog-label{background:#3F51B5;}
.character .catalog-label{background:#F44336;}
.movie .catalog-label{background:#9C27B0;}
.tv .catalog-label{background:#009688;}
.comic .catalog-label{background:#FF9800;}
.script .catalog-label{background:#EA912B;}
.location .catalog-label{background:#CC3333;}
.creator .catalog-label{background:#444444;}
.book .catalog-label{background:#de392a;}
.tv_program .catalog-label{background:#0166B6;}

/*=============================================================
    ヘッダー
=============================================================*/

header {
    width:100%;
    min-width: 1180px;
    background: #fff;
}
header .head-area {
    padding:9px 30px;
    height: 52px;
}
header .head-area .logo-img {
    float: left;
}
header .head-area .language-area {
    float: right;
    position: relative;
    margin: 4px 0;
}

/* 言語選択ボタン */

#language-box {
    width: 186px;
    border: 1px solid #666;
    border-radius: 3px;
    padding: 8px 0;
    box-sizing: border-box;
    text-align: center;
    cursor: pointer;
    font-size: 1.4rem;
}
#language-box:hover{
    color:#000;
    border: 1px solid #000;
    box-sizing: border-box;
}
#language-box:active{
    background:#fbfbfb;
    box-shadow: 1px 2px 4px 1px rgba(0,0,0,0.1)inset;
    border: 1px solid #000;
}
#language-box > img{
    width:26px;
}
#language-box > *{
    vertical-align: middle;
}
#language-box > span:before {
    content: "▶";
    margin: 0px 6px 0px 12px;
    font-size: 1.2rem;
}
#language-box > span.arrowdown:before {
    content: "▼";
    margin: 0px 6px 0px 12px;
    font-size: 1.2rem;
}

/* 言語選択エリア */

#language-choice {
    display:none;
    width: 186px;
    position: absolute;
    text-align: left;
    font-size: 1.4rem;
    top: 48px;
    border-radius: 3px;
    padding: 13px 0;
    box-sizing: border-box;
    background: #fff;
    box-shadow: 1px 1px 4px 1px rgba(0,0,0,0.4);
    z-index: 2;
}
#language-choice:after, #language-choice:before {
    bottom: 100%;
    left: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}
#language-choice:after {
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
    border-width: 8px;
    margin-left: -28px;
}
#language-choice:before {
    border-color: rgba(130, 130, 130, 0);
    border-bottom-color: #b3b3b3;
    border-width: 9px;
    margin-left: -29px;
}
#language-choice label {
    display: block;
    height: 36px;
    line-height: 36px;
    padding: 0 0 0 20px;
    cursor: pointer;
}
#language-choice > label:hover{
    background: #dcdcdc;
}
#language-choice label span {
    vertical-align: middle;
    margin-left: 10px;
}

/* チェックボックス・ラジオボタン カスタマイズ */

.radio{
    visibility: hidden;
}
.radio + .radio-img {
    position: relative;
    vertical-align: middle;
}
.radio + .radio-img:before {
    content: "";
    position: absolute;
    background: #fff;
    top: 17px;
    left: -30px;
    margin-top: -22px;
    height: 22px;
    width: 22px;
    border-radius: 50%;
    border: 1px solid #666;
}
.radio:checked + .radio-img:before {
    content: " ";
    position: absolute;
    background: #fff;
    top: 17px;
    left: -30px;
    margin-top: -22px;
    height: 22px;
    width: 22px;
    border-radius: 50%;
}
.radio:checked + .radio-img:after {
    content: "";
    position: absolute;
    background: #000;
    top: 15px;
    left: -25px;
    margin-top: -15px;
    height: 14px;
    width: 14px;
    border-radius: 50%;
}
.checkbox{
    visibility: hidden;
}
.checkbox + .check-img {
    position: relative;
}
.checkbox + .check-img:before {
    content: " ";
    position: absolute;
    background: #fff;
    top: 17px;
    left: -30px;
    margin-top: -22px;
    height: 22px;
    width: 22px;
    border-radius: 3px;
    border: 1px solid #ababab;
    box-shadow: 1px 2px 4px 1px rgba(0,0,0,0.1)inset;
}

.checkbox:checked + .anime:before {background: #4CAF50;border: 1px solid #4CAF50;}
.checkbox:checked + .game:before {background: #03A9F4;border: 1px solid #03A9F4;}
.checkbox:checked + .music:before {background: #3F51B5;border: 1px solid #3F51B5;}
.checkbox:checked + .character:before {background: #F44336;border: 1px solid #F44336;}
.checkbox:checked + .movie:before {background: #9C27B0;border: 1px solid #9C27B0;}
.checkbox:checked + .tv:before {background: #009688;border: 1px solid #009688;}
.checkbox:checked + .comic:before {background: #FF9800;border: 1px solid #FF9800;}
.checkbox:checked + .script:before {background: #EA912B;border: 1px solid #EA912B;}
.checkbox:checked + .location:before {background: #CC3333;border: 1px solid #CC3333;}
.checkbox:checked + .creator:before {background: #444444;border: 1px solid #444444;}
.checkbox:checked + .book:before {background: #de392a;border: 1px solid #de392a;}
.checkbox:checked + .tv_program:before {background: #0166B6;border: 1px solid #009688;}


.checkbox:checked + .check-img:before {
    content: " ";
    position: absolute;
    top: 17px;
    left: -30px;
    margin-top: -22px;
    height: 22px;
    width: 22px;
    box-shadow:none;
}
.checkbox:checked + .check-img:after {
    content: url(../img/check-img.svg);
    position: absolute;
    top: 7px;
    left: -27px;
    margin-top: -15px;
    height: 18px;
    width: 18px;
}

/*=============================================================
    検索エリア
=============================================================*/

.search-area {
    background: #fff;
    border-top: 1px solid #ccc;
    box-shadow: 0px 2px 1px 0px rgba(0,0,0,0.2);
    padding: 13px 30px;
}
.search-area .search {
    display:inline-block;
    margin:0 10px 0 0;
}
.search input[type="text"] {
    height: 42px;
    border: solid 1px #000;
    border-top-left-radius:3px;
    border-bottom-left-radius:3px;
    font-size: 1.8rem;
    padding: 10px;
    width: 536px;
    box-sizing: border-box;
    vertical-align: bottom;
}
.search input[type="image"] {
    height: 42px;
    padding: 8px 14px;
    width: auto;
    background: #000;
    border-top-right-radius:3px;
    border-bottom-right-radius:3px;
    margin-left: -6px;
    box-sizing: border-box;
}
.search input[type="text"]:focus {
    background:#fbfbfb;
    border-top: solid 1px #000;
    border-left: solid 1px #000;
    border-bottom: solid 1px #000;
    box-shadow: 1px 2px 4px 1px rgba(0,0,0,0.1)inset;
    outline: 0;
}
.search input[type="image"]:hover {
    box-shadow: 0px 0px 2px 2px rgba(255,255,255,0.4)inset;
    outline: 0;
}
.search-area .filter-area {
    display: inline-block;
    position: relative;
}

/* 絞り込みボタン */

#filter-box {
    display: inline-block;
    width: 108px;
    border: 1px solid #666;
    border-radius: 3px;
    padding: 12px 0;
    box-sizing: border-box;
    text-align: center;
    height: 42px;
    font-size: 1.4rem;
    cursor: pointer;
}
#filter-box:hover{
    color:#000;
    border: 1px solid #000;
    box-sizing: border-box;
}
#filter-box:active{
    background:#fbfbfb;
    box-shadow: 1px 2px 4px 1px rgba(0,0,0,0.1)inset;
    border: 1px solid #000;
}
#filter-box > *{
    vertical-align:middle;
}
#filter-box > span:after{
    content: "▼";
    margin: 0px 0px 0px 6px;
    font-size: 1.2rem;
}

/* 絞り込み選択エリア */

#filter-overlay{
    display:none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.0);
    z-index: 1;
}

#filter-choice {
    display:none;
    position: absolute;
    top: 46px;
    width: 220px;
    font-size: 1.4rem;
    border-radius: 3px;
    padding: 13px 0px;
    box-sizing: border-box;
    text-align: left;
    background: #fff;
    box-shadow: 1px 1px 4px 1px rgba(0,0,0,0.4);
    z-index: 2;
}
#filter-choice > label{
    display: block;
    height: 36px;
    line-height: 36px;
    cursor: pointer;
    padding: 0 0 0 20px;
}
#filter-choice > label:hover{
    background: #dcdcdc;
}
#filter-choice > label > span{
    margin-left: 13px;
}
#filter-choice button{
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    margin: 0;
    padding: 3px 30px;
    background: #fff;
    border: 1px solid #666;
    border-radius: 3px;
    cursor: pointer;
    font-size: 1.4rem;
    margin: 6px 0 6px 20px;
    color:#666;
}
#filter-choice button:hover{
    background:#666;
    border: 1px solid #666;
    border-radius: 3px;
    color: #fff;
}
#filter-choice button span {
    vertical-align: middle;
}
#filter-choice button span:after {
    content: url(../img/refine_btn-off.svg);
    width: 17px;
    height: 17px;
    display: inline-block;
    vertical-align: sub;
    margin: 0 0 0 4px;
}
#filter-choice button:hover span:after {
    content: url(../img/refine_btn-on.svg);
    width: 17px;
    height: 17px;
    display: inline-block;
    vertical-align: sub;
    margin: 0 0 0 4px;
}

/* 絞り込みアイコン表示エリア */

#filterdisplay-area{
    font-size: 1.2rem;
    color: #fff;
    padding: 13px 0 0 0;
    height: 26px;
}
#filterdisplay-area > label{
    border-radius: 3px;
    padding: 0px 17px 0 20px;
    display: inline-block;
    height: 26px;
    line-height: 26px;
    margin: 0 2px 0 0;
}
#filterdisplay-area > label > span{
    cursor: pointer;
    font-size: 1.5rem;
}
#filterdisplay-area .reload{
    background:#dcdcdc;
    color:#666;
}
#filterdisplay-area .reload:hover{
    background:#666;
    color:#FFF;
}
#filterdisplay-area > label:not(:last-child){
    transition: all 0.3s;
    box-shadow: 1px 1px 3px 0px rgba(0,0,0,0.4);
}
#filterdisplay-area > label:not(:last-child):hover{
    transition: all 0.2s;
    box-shadow: none;
    color: #666;
    background:#ccc;
}
#filterdisplay-area > label:last-child{
    margin:0 0 0 10px;
}

/*=============================================================
    コンテンツエリア
=============================================================*/

.content-area{
    padding: 0 0 0 120px;
}

/*=============================================================
    フッターエリア
=============================================================*/

footer{
    width: 100%;
    min-width: 1180px;
    background: #fff;
    height: 70px;
    padding: 14px 30px;
    border-bottom: 2px solid #000;
    box-sizing: border-box;
    box-shadow: 0px -1px 1px 0px rgba(0,0,0,0.2);
    position: absolute;
    bottom:0;
}
footer .footer-banner{
    float: left;
}
footer .footer-copy{
    float: right;
    font-size:1.2rem;
    line-height: 1.6;
    text-align: right;
}

/*=============================================================
    トップに戻るボタン
=============================================================*/

#button-top{
    position: fixed;
    right: 30px;
    bottom: 140px;
    z-index: 10000;
    display:none;
}
#button-top a {
    padding-top: 60px;
}


/*=============================================================
□□□□□□□□□□□□□□□□□□□□□□□□□□ここからリスト□□□□□□□□□□□□□□□□□□□□□□□□□□□
=============================================================*/


/*=============================================================
    コンテンツエリア
=============================================================*/

/* 検索結果テキストエリア */

.result{
    padding:20px 0;
    min-width: 910px;
}
.result > span{
    font-weight: bold;
}
.no-result{
    padding: 40px 0px;
}
.no-result p{
    font-size:1.8rem;
    padding: 0 0 20px 0;
}
.no-result p span{
    font-weight:bold;
}
.no-result ul{
    margin: 0 0 20px 20px;
    line-height: 150%;
}

/* 1作品ごとのエリア */

article{
    width: 910px;
}
article:last-child{
    margin: 0 0 40px 0;
}
article .catalog-area{
    display: block;
    padding: 14px 20px;
    background: #fff;
    margin: 0 0 20px 0;
    border: 2px solid #fff;
    box-sizing: border-box;
    border-radius: 3px;
    box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.2);
    background-color: white;
    cursor: pointer;
}
article .catalog-area:hover{
    border-right: 2px solid #000;
    box-shadow: 4px 5px 8px 0px rgba(0,0,0,0.2);
    transition-duration: 0.5s;
    -ms-transition-duration: 0.5s;
    -webkit-transition-duration: 0.5s;
    -moz-transition-duration: 0.5s;
}
article .catalog-area .catalog-img{
    float: left;
}
article .catalog-area .catalog-img .catalog-img-border{
    display: table-cell;
    width: 148px;
    height: 148px;
    text-align: center;
    vertical-align: middle;
    border: 1px solid #b9b9b9;
    background: #fff;
}
article .catalog-area .catalog-img .catalog-img-border > img{
    width:auto;
    height:auto;
    max-width:148px;
    max-height:148px;
    vertical-align:middle;
}
article .catalog-area .catalog-data{
    float: right;
    position:relative;
    width:700px;
    min-height: 150px;
}
article .catalog-area .catalog-data .catalog-label{
    border-radius: 3px;
    display:inline-block;
    padding: 5px 15px;
    color:#fff;
    font-size:1.2rem;
    font-weight:400;
}
article .catalog-area .catalog-data > h2{
    font-size:2.0rem;
    font-weight:400;
    margin:10px 0;
    color:#000;
    line-height: 120%;
}
article .catalog-area .catalog-data > p {
    line-height:140%;
    font-size:1.4rem;
    position: relative;
    min-height: 38px;
    margin:0 0 20px 0;
}
article .catalog-area .catalog-data .remarks{
    width: 100%;
    line-height: 100%;
}
article .catalog-area .catalog-data .remarks .catalog-data-day{
    float:left;
    font-size:1.4rem;
    margin: 10px 0 0 0;
}
article .catalog-area .catalog-data .remarks .catalog-data-copy{
    float:right;
    font-size:1.2rem;
    margin: 10px 0 0 0;
}

/*=============================================================
    ページャーエリア
=============================================================*/

.Pager-area{
    margin: 0 0 0 -130px;
    text-align: center;
}
.Pager-area > ul{
    font-size:0;
}
.Pager-area > ul li{
    display:inline-block;
}
.Pager-area > ul .space{
    display: inline-block;
    color: #aaa;
    font-size: 1.4rem;
    width: 40px;
    height: 40px;
    text-align: center;
    line-height: 290%;
    border-radius: 3px;
    letter-spacing:-0.6rem;
    text-indent:-0.6rem;
}
.Pager-area > ul a{
    display: block;
    color: #aaa;
    font-size: 1.4rem;
    min-width: 40px;
    height: 40px;
    margin: 0 5px 0 5px;
    text-align: center;
    line-height: 290%;
    background: #fff;
    border-radius: 3px;
    border:1px solid #fff;
    box-sizing: border-box;
    box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.2);
}
.Pager-area > ul a:hover{
    color: #000;
    border:1px solid #000;
}
.Pager-area > ul .current a{
    background:#000;
    border:1px solid #000;
    color:#fff;
}
.Pager-area > ul a.prev,.Pager-area > ul a.next{
    width: 65px;
}

/*=============================================================
□□□□□□□□□□□□□□□□□□□□□□□□□□ここから詳細□□□□□□□□□□□□□□□□□□□□□□□□□□□
=============================================================*/

/*=============================================================
    スクロールしてfixedヘッダー
=============================================================*/

#scroll-header{
    display:none;
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    background: #fff;
    color: #666;
    box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.4);
    z-index: 4;
}
#scroll-header .catalog-ttl{
    padding: 9px 0 9px 30px;
    border-bottom:1px solid #ccc;
}
#scroll-header .catalog-ttl > *{
    vertical-align:middle;
}
#scroll-header h1,#scroll-header .catalog-label,#scroll-header h3{
    display:inline-block;
    margin: 0 20px 0 0;
}
#scroll-header .catalog-ttl .catalog-label{
    border-radius: 3px;
    padding: 5px 15px;
    color:#fff;
    font-size:1.2rem;
    font-weight:400;
}
#scroll-header .catalog-ttl > h3{
    font-size:2.8rem;
    font-weight:400;
    color:#000;
    line-height: 120%;
}
#scroll-header .info-link{
    width:1000px;
    padding: 0 0 0 30px;
}
#scroll-header .info-link .info-link-text{
    float: left;
    font-size:0rem;
}
#scroll-header .info-link .info-link-text > a{
    display: inline-block;
    height: 24px;
    line-height: 24px;
    padding: 2px 12px;
    font-size:1.4rem;
}
#scroll-header .info-link .info-link-text > a:hover{
    background:#666;
    color:#fff;
}
#scroll-header .info-link .search-return{
    float: right;
}
#scroll-header .info-link .search-return .search-return-text{
    font-weight: 400;
    font-size: 1.2rem;
    cursor: pointer;
    display: inline-block;
    height: 22px;
    height: 24px;
    line-height: 24px;
    padding: 2px 12px;
}
#scroll-header .info-link .search-return .search-return-text:after{
    content: url(../img/return-img.svg);
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: sub;
    margin: 0 0 0 6px;
}
#scroll-header .info-link .search-return .search-return-text:hover{
    background:#666;
    color:#fff;
    fill:#ffffff;
}
#scroll-header .info-link .search-return .search-return-text:hover:after{
    content: url(../img/return-img-on.svg);
    fill:#ffffff;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: sub;
    margin: 0 0 0 6px;
}

/*=============================================================
    コンテンツエリア
=============================================================*/

/* 検索結果テキストエリア */

.result-detail{
    padding: 20px 0;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    align-items: baseline;
    width: 910px;
}
.result-detail .breadcrumb > span{
    font-weight: bold;
}
.result-detail .return{
    font-weight: 400;
    border: 1px solid #999;
    border-radius: 3px;
    padding: 6px 20px;
    font-size: 1.4rem;
    cursor: pointer;
}
.result-detail .return:after{
    content: url(../img/return-img.svg);
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 0 0 6px;
}
.result-detail .return:hover{
    border: 1px solid #666;
    background:#666;
    color:#fff;
    fill:#ffffff;
}
.result-detail .return:hover:after{
    content: url(../img/return-img-on.svg);
    fill:#ffffff;
    width: 16px;
    height: 16px;
    display: inline-block;
    vertical-align: bottom;
    margin: 0 0 0 6px;
}

/* 1情報ごとのエリア */

.catalog-detail{
    background:#fff;
    border-radius: 3px;
    box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.2);
    margin :0 0 20px 0;
    padding:0 0 40px 0;
}
.catalog-detail:last-child{
    margin: 0 0 30px 0;
}
.catalog-detail .info-ttl{
    padding: 16px 20px 16px 20px;
    font-size: 2.0rem;
}
.anime .catalog-detail .info-ttl{ border-bottom:4px solid #4CAF50; }
.game .catalog-detail .info-ttl{ border-bottom:4px solid #03A9F4; }
.character .catalog-detail .info-ttl{ border-bottom:4px solid #F44336; }
.music .catalog-detail .info-ttl{ border-bottom:4px solid #3F51B5; }
.movie .catalog-detail .info-ttl{ border-bottom:4px solid #9C27B0; }
.tv .catalog-detail .info-ttl{ border-bottom:4px solid #009688; }
.comic .catalog-detail .info-ttl{ border-bottom:4px solid #FF9800; }
.script .catalog-detail .info-ttl{ border-bottom:4px solid #EA912B; }
.location .catalog-detail .info-ttl{ border-bottom:4px solid #CC3333; }
.creator .catalog-detail .info-ttl{ border-bottom:4px solid #444444; }
.book .catalog-detail .info-ttl{ border-bottom:4px solid #de392a; }
.tv_program .catalog-detail .info-ttl{ border-bottom:4px solid #0166B6; }

.catalog-detail .detail-area{
    padding: 40px 20px 0 20px;
}
.catalog-detail .detail-area .catalog-img{
    float: left;
}
.catalog-detail .detail-area .catalog-img .catalog-img-border{
    display: table-cell;
    width: 252px;
    height: 252px;
    text-align: center;
    vertical-align: middle;
    border: 4px solid #ccc;
    background: #fff;
}
.catalog-detail .detail-area .catalog-img .catalog-img-border > img{
    width:auto;
    height:auto;
    max-width:258px;
    max-height:258px;
    vertical-align: middle;
}
.catalog-detail .detail-area .catalog-data{
    float: right;
    position:relative;
    width:586px;
    min-height: 260px;
}
.catalog-detail .detail-area .catalog-data .catalog-label{
    border-radius: 3px;
    display:inline-block;
    padding: 5px 15px;
    color:#fff;
    font-size:1.2rem;
    font-weight:400;
}
.catalog-detail .detail-area .catalog-data > h3{
    font-size:2.6rem;
    font-weight:400;
    margin:16px 0;
    color:#000;
    line-height: 120%;
}
.catalog-detail .detail-area .catalog-data > p {
    line-height: 150%;
    font-size: 1.5rem;
    margin: 0 0 20px 0;
}
.catalog-detail .detail-area .catalog-data .remarks{
    width: 100%;
}
.catalog-detail .detail-area .catalog-data .remarks .catalog-data-day{
    font-size: 1.4rem;
    margin: 0 0 20px 0;
}
.catalog-detail .detail-area .catalog-data .remarks .catalog-data-copy{
    font-size:1.2rem;
    line-height:120%;
}

/* テーブルレイアウト */

.catalog-detail table{
  width: 870px;
  text-align: left;
  margin: 15px auto 0;
}
.catalog-detail table:first-of-type{
  margin: 40px auto 0;
}
.catalog-detail .table-area{
  margin: 40px 0 0 0;
}
.anime .catalog-detail table tr:first-child > th{ border-top:4px solid #4CAF50; }
.game .catalog-detail table tr:first-child > th{ border-top:4px solid #03A9F4; }
.character .catalog-detail table tr:first-child > th{ border-top:4px solid #F44336; }
.music .catalog-detail table tr:first-child > th{ border-top:4px solid #3F51B5; }
.movie .catalog-detail table tr:first-child > th{ border-top:4px solid #9C27B0; }
.tv .catalog-detail table tr:first-child > th{ border-top:4px solid #009688; }
.comic .catalog-detail table tr:first-child > th{ border-top:4px solid #FF9800; }
.script .catalog-detail table tr:first-child > th{ border-top:4px solid #EA912B; }
.location .catalog-detail table tr:first-child > th{ border-top:4px solid #CC3333; }
.creator .catalog-detail table tr:first-child > th{ border-top:4px solid #CC3333; }
.book .catalog-detail table tr:first-child > th{ border-top:4px solid #de392a; }
.tv_program .catalog-detail table tr:first-child > th{ border-top:4px solid #0166B6; }



.catalog-detail table tr:first-child > td{ border-top: 4px solid #ccc; }
.catalog-detail table tr{
  border-left: 1px solid #DCDDDD;
  border-right: 1px solid #DCDDDD;
  border-bottom: 1px solid #DCDDDD;
}
.catalog-detail table tr > *{
  vertical-align:middle;
}
.catalog-detail table tr > th{
  font-size:1.4rem;
  color:#000;
  width:100px;
  background:#EFEFEF;
  padding: 14px 20px;
  border-right: 1px solid #DCDDDD;
  line-height:120%;
}
.catalog-detail table tr > td{
  font-size:1.4rem;
  line-height:150%;
  background:#fff;
  padding: 14px 20px;
  width: 480px;
  word-break: break-all;
}
.catalog-detail table tr > td > a:hover{
  opacity: 0.4;
}
.catalog-detail .sub-info-ttl{
  margin: 15px 0 10px 0;
  padding: 6px 0 6px 10px;
  text-align: left;
  line-height: 120%;
}
.anime .catalog-detail .sub-info-ttl{ border-left:4px solid #4CAF50; }
.game .catalog-detail .sub-info-ttl{ border-left:4px solid #03A9F4; }
.character .catalog-detail .sub-info-ttl{ border-left:4px solid #F44336; }
.music .catalog-detail .sub-info-ttl{ border-left:4px solid #3F51B5; }
.movie .catalog-detail .sub-info-ttl{ border-left:4px solid #9C27B0; }
.tv .catalog-detail .sub-info-ttl{ border-left:4px solid #009688; }
.comic .catalog-detail .sub-info-ttl{ border-left:4px solid #FF9800; }
.script .catalog-detail .sub-info-ttl{ border-left:4px solid #EA912B; }
.location .catalog-detail .sub-info-ttl{ border-left:4px solid #CC3333; }
.creator .catalog-detail .sub-info-ttl{ border-left:4px solid #CC3333; }
.book .catalog-detail .sub-info-ttl{ border-left:4px solid #de392a; }
.tv_program .catalog-detail .sub-info-ttl{ border-left:4px solid #0166B6; }


.error-status{
    font-size:96px;
    font-weight: bold;
    margin:250px auto 0;
    text-align:center;
}
.error-text{
    text-align:center;
    font-size:24px;
}
.error-search{
    margin-top: 70px;
    text-align: center;
}

#detail-banner{
    background: #fff;
    border-radius: 3px;
    box-shadow: 1px 1px 4px 0px rgba(0,0,0,0.2);
    line-height: 1.4;
    padding: 20px;
    width: 870px;
    vertical-align: top;
}
#detail-banner .ttl{
    margin: 0 0 10px 0;
    padding: 6px 0 6px 10px;
    text-align: left;
}
.anime #detail-banner .ttl{ border-left: 4px solid #4CAF50; }
.game #detail-banner .ttl{ border-left: 4px solid #03A9F4; }
.character #detail-banner .ttl{ border-left: 4px solid #F44336; }
.music #detail-banner .ttl{ border-left: 4px solid #3F51B5; }
.movie #detail-banner .ttl{ border-left: 4px solid #9C27B0; }
.tv #detail-banner .ttl{ border-left: 4px solid #009688; }
.comic #detail-banner .ttl{ border-left: 4px solid #FF9800; }
.script #detail-banner .ttl{ border-left: 4px solid #EA912B; }
.location #detail-banner .ttl{ border-left: 4px solid #CC3333; }
.creator #detail-banner .ttl{ border-left: 4px solid #CC3333; }
.book #detail-banner .ttl{ border-left: 4px solid #de392a; }
.tv_program #detail-banner .ttl{ border-left: 4px solid #0166B6; }

#detail-banner img{
    border: 1px solid #ccc;
    display:inline-block;
    width: 100px;
    vertical-align: top;
}
#detail-banner h4{
    font-weight: bold;
    font-size: 2rem;
}
#detail-banner .banner-text{
    display:inline-block;
    font-size: 2rem;
    margin-left: 10px;
    padding-top: 5px;
    width: 700px;
}
#detail-banner .banner-text:hover{
    filter:alpha(opacity=50);
    -moz-opacity:0.5;
    opacity:0.5;
}

/*=============================================================
    2020/03/23
=============================================================*/
.catalog-data dl{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.catalog-data dt{
  padding-right:20px;
  width:125px;
  border-right:1px solid #ddd;
  box-sizing: border-box;
}
.catalog-data dd{
  margin-bottom:10px;
  padding-left:20px;
  width:calc(100% - 160px);
  box-sizing: border-box;
}

.catalog-detail table:last-of-type .sub-info-ttl + tbody tr td {
  border-right:1px solid #DCDDDD;
}
/*=============================================================
    2021/01
=============================================================*/
.book .contact{
  padding: 15px 20px 0;
}
.book .contact p {
  position: relative;
  border-top: 4px solid #ccc;
  padding: 40px 0 10px;
  text-align: center;
}
.book .contact p:before {
  content: "";
  position: absolute;
  left: 0;
  top: -4px;
  height: inherit;
  border-top: 4px solid #de392a;
  width: 186px;
}
.book .contact p a{
  color: #e54134;
  text-decoration: underline;
}