@charset "UTF-8";

/* CSS Document */

/* ----
@_clearfix
---- */
#contents:after,
.clearfix:after {
    clear: both;
    content: "";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}

/*

@_defaults

 */
body, div,
h1, h2, h3, h4, h5, h6,
p, dl, dt, dd, ul, ol, li,
brockquote, pre,  address,
table, caption, th, td,
form, fieldset, legend, object, hr {
    margin:0;
    padding:0;
}

a {
    color: #333333;
    text-decoration: none;
}

a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

a:active {
    text-decoration: none;
}

address, em, cite, dfn, var {
    font-style: normal;
}

input, textarea {
    font-weight: inherit;
    line-height: normal;
}

img {
    vertical-align: bottom;
    border: none;
}

a img {
    border: none;
}

ul {
    list-style-type: none;
}

html {
    font-size: 10px;
    *font-size: 62.5%;
    line-height: 1.5;
    overflow-y: scroll;
    height: 100%;
}

@font-face {
    font-family: 'Quicksand';
    src: url('/fonts/Quicksand-Regular.ttf') format('ttf');
}

:root {
    --link-color: #11A0CF;
    --hover-color: #f5f8fa;
    --brand-color:  #ff679a;
    --primary-color: #181818;
    --secondary-color: #333333;
    --tertiary-color: #666666;
}

body {
    height: 100%;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
    text-align: center;
    color: var(--primary-color);
}

.error_msg {
    color: #ff0000;
    padding-bottom: 4px;
}

.box-shadow {
    box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
}


.internal-link a {
    color: var(--link-color);
}

.internal-link a::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: ">";
    transform: scale(0.5, 1) translateY(-50%);
}

.external-link a::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    width: 1em;
    height: 1em;
    background-image: url(../images/new_window.png);
    background-repeat: no-repeat;
    background-size: contain;
}

/*

@_header

*/
#header {
    background: var(--brand-color);
    width: 100%;
    margin: 0;
    height: 160px;
    color: #ffffff;
}

#header-inner {
    width: 880px;
    margin: 0 auto;
    height: 100%;
}

#header-inner-L {
    float: left;
}

#header-inner-R {
    float: right;
    margin-top: 5px;
    width: 540px;
    text-align: right;
}

#headline {
    display: flex;
    flex-direction: row;
    float: left;
}

#headline h1 {
    font-size: 13px;
}

#headline ul {
    margin: 0;
}


#scoop-logo a {
    display: block;
}
/*

@_header end


*/


/*

@_メイン部


*/
#contents {
    margin: 10px auto 0;
    width: 880px;
    background: #FFF;
}

/*
バナー共通
 */
.banner a {
    display: block;
}

.banner a img {
    transition: opacity .4s ease-out;
    width: 100%;
}

.banner a img:hover {
    opacity: .4;
}

/*
Twitter TimeLine
 */
.twitter-timeline-frame {
    display: flex;
    justify-content: space-between;
    width: 540px;
    height: 602px;
    margin-bottom: 15px;
    border: 1px solid rgba(15,70,100,.12);
    box-sizing: border-box
}

/*
Facebook
 */
.fb-like-box {
    margin-bottom: 5px;
}

.fb-like-box iframe {
    transform: scale(1.08);
}

/*

@_左サイドバー


*/
#sidebar-left {
    float: left;
    text-align: left;
    color: #6A6A6A;
    width: 160px;
    margin-right: 10px;
}


/*
    サイドバー共通部
*/
.sidebar-box {
    background: #ffffff;
    padding: 10px;
}

.sidebar-box a {
    display: block;
    padding: 8px 0;
}



.sidebar-box .flex-item {
    font-size: 11px;
    font-weight: bold;
}

.sidebar-box .flex-item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}

.sidebar-box .flex-item .thumb {
    overflow: hidden;
}

.sidebar-box .flex-item a:hover {
    text-decoration: none;
}

.sidebar-box .flex-item a:hover img {
    transform: scale(1.2);
    transition-duration: 0.3s;
}


.sidebar-head {
    color: var(--primary-color);
    text-align: left;
    margin-bottom: 5px;
}

.sidebar-head h2 {
    font-size: 14px;
    line-height: 14px;
}




/*
    公式ブログ
*/
#sidebar-left .recent-posts {
    padding: 10px;
    margin-bottom: 10px;
    background: #ffffff;
}


/*
    収録・来店予定
*/
#schedules {
    margin-bottom: 10px;
}

#schedules .flex-item {
    position: relative;
    padding: 0;
}

#schedules a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 4px 0;
}

#schedules a:hover {
    background: #f6faf5;
}

#schedules .hall {
    margin: 2px 0 0;
}

#schedules a .hall {
    color: #6F9E0D;
}

/*
    ホールランキング（サイドバー）
 */
#hall-ranking .flex-container {
    display: flex;
    flex-direction: column;
}

#hall-ranking .flex-container .photo {
    overflow: hidden;
}

#hall-ranking .flex-container img {
    width: 100%;
}

#hall-ranking p {
    font-weight: bold;
    color: var(--link-color);
    font-size: 11px;
    line-height: 11px;
    margin-top: 5px;
}

#hall-ranking .flex-item:not(:last-child), #popular-movie .flex-item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}


/*
    @_左サイドバー
*/


/*

@_メイン部


*/

#main {
    float: left;
    width: 540px;
    height: auto;
    color: #727272;
}

/*

@_右サイドバー


*/
#sidebar-right {
    float: left;
    width: 160px;
    margin-left: 10px;
    font-size: 11px;
    text-align: left;
}

/*
センターバナー
 */
.center-banner {
    margin: 10px auto 0 auto;
    width: 540px;
    height: 150px;
}

.center-banner a {
    display: inline-block;
}

/*

@_メイン部 end


*/
#footer {
    background: var(--brand-color);
    width: 100%;
    height: 150px;
    color: #ffffff;
}

.footer-inner-content {
    margin:0 auto;
    width: 880px;
    height: 100%
}

#footer .menu {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    font-size: 12px;
    font-weight: bold;
    padding-top: 5px;
}

#footer .menu li {
    width: 100px;
}

#footer .menu a {
    display: block;
    text-decoration: none;
    color: #ffffff;
    transition: opacity .25s ease;
}

#footer .menu a:hover {
    opacity: .5;
}

#footer .menu > li {
    border-left: 1px solid #ffffff;
}

#footer .menu > li:first-child {
    border: none;
}

#footer small {
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-family: 'Quicksand';
}


.swiper-container {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
}

/*
    最新動画ピックアップ
*/

#latest-video {
    margin:0 0 10px;
    background: #ffffff;
    padding: 10px;
}

#latest-video .heading-title {
    margin-bottom: 10px;
}

#latest-video .main-slider {
    position: relative;
}

#latest-video .play-btn-layer {
    position: absolute;
    width: 100%;
    height: 100%;

}

#latest-video .main-slider a {
    display: inline-block;
}

#latest-video .swiper-container {
    overflow: hidden;
}

#latest-video .main-slider img {
    width: 100%;
}

#latest-video .thumbs-slider {
    background: #000;
}

#latest-video .thumbs-slider .swiper-slide {
    width: 93px;
    opacity: 0.6;
}

#latest-video .thumbs-slider .swiper-slide img {
    width: 100%;
}

#latest-video .thumbs-slider .swiper-slide-active {
    opacity: 1;
    transform: scale(1.3);
    transition-duration: 0.4s;
    z-index: 1;
}

.play-btn {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.play-btn-icon {
    position: absolute;
    z-index: 30;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30%;
    height: calc(30% * 0.67);
    transition: opacity .25s cubic-bezier(0.0,0.0,0.2,1);
}

#latest-video .play-btn-icon {
    width: 10%;
}


.play-btn-icon .st0 {
    fill: #212121;
    fill-opacity: .8;
}

.play-btn-icon .st1 {
    fill: #ffffff;
    fill-opacity: 1;
}

.play-btn:hover .play-btn-icon .st0 {
    fill: #ff0000;
    fill-opacity: 1;
}

.carousel-new {
    position: absolute;
    top: 18px;
    z-index: 1001;
}

.carousel-new.left {
    left: 6px;
}

.carousel-new.right {
    right: 6px;
}

.carousel-title, .carousel-vol {
    color: #C0790E;
}

.carousel-hall {
    color: #ffffff;
    line-height: 1.3em;
    padding-top: 2px;
}


/* 好評配信中番組一覧 */
#top-channel-list {
    margin: 10px 0;
    padding: 10px 10px 0 10px;
    background: #ffffff;
}

#top-channel-list .heading {
    display: flex;
    justify-content: space-between;
}

#top-channel-list .flex-container {
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items: flex-start;
}

#top-channel-list .flex-container .flex-item {
    position: relative;
    display: inline-block;
    width: 167px;
    border: 1px solid #c0c0c0;
    margin-bottom: 10px;
    background: #fff;
}

#top-channel-list .flex-container .flex-item a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
}

#top-channel-list .flex-container .flex-item .item-image {
    position: relative;
    background: #030303;
}

#top-channel-list .flex-container .flex-item img {
    width: 120px;
    height: 120px;
}

#top-channel-list .flex-container .flex-item .frame {
    background: #ffffff;
}

#top-channel-list .flex-container .flex-item:hover .frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 107%;
    height: auto;
    z-index: 2;
    transform: scale(1.1);
    transition-duration: 0.4s;
    box-shadow: 0 0 9px rgb(0 0 0 / 70%);
}

#top-channel-list .flex-container .flex-item:hover .detail {
    display: block;
    z-index: 2;
}

#top-channel-list .flex-container .flex-item h2 {
    font-size: 13px;
    font-weight: bold;
    color: #030303;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#top-channel-list .flex-container .flex-item .detail {
    padding: 5px 2px;
}

#top-channel-list .flex-container .flex-item .detail .release-info {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
}

#top-channel-list .flex-container .flex-item .detail p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/*****************************/

/*
番組一覧
 */
main.channel-list {
    width: 710px;
    float: left;
}

main.channel-list .inner-content ul li:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}

main.channel-list .inner-content a {
    display: flex;
    align-items: stretch;
    padding: 10px 0;
    width: 100%;
}

main.channel-list .inner-content a:hover {
    text-decoration: none;
    background: #f5f8fa;
}

main.channel-list .inner-content a:hover img {
    transform: scale(1.2);
    transition-duration: 0.3s;
}

main.channel-list .canvas {
    width: 150px;
    overflow: hidden;
    margin-right: 10px;
}

main.channel-list .canvas img {
    width: 100%;
    background: #030303;
}

main.channel-list .content-detail {
    width: calc(100% - 160px);
    font-size: 12px;
    line-height: 1.5;
}

main.channel-list h2 {
    color: var(--brand-color);
    font-size: 17px;
    line-height: 17px;
    text-align: left;
    font-weight: bold;
}

main.channel-list .description {
    margin: 6px 0 0;
    color: #181818;
    text-align: left;
}




/*　右サイドバー　*/
#popular-movie {
    margin-top: 10px;
}


#trend-movie p,
#popular-movie p {
    font-weight: bold;
    color: var(--link-color);
    font-size: 11px;
    line-height: 11px;
    margin-top: 5px;
}





/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
_/
_/	 動画詳細
_/
_/
_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/*/
.movie-frame {
    position: relative;
    background: #000000;
}

.movie-frame a {
    display: inline-block;
    width: 100%;
}

.movie-frame img {
    width: 100%;
    height: 177%;
}

.social {
    display: flex;
    justify-content: flex-end;
    margin: 8px 0 0;
    height: 22px;
}




/* スペシャルバナー */
.banner_fix_frame {
    width: 160px;
    height: 476px;
}

/* 動画一覧 */
main.movie-list {
    float: left;
    width: 710px;
}

main.movie-list .movie-table {
    text-align: left;
}

main.movie-list .movie-table>li {
    border-bottom: 1px solid #e5e5e5;
    padding: 10px 0;
}

main.movie-list .movie-table>li:first-child {
    border-top: 1px solid #e5e5e5;
}

main.movie-list .content-detail {
    float: left;
    width: 517px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: bold;
}

main.movie-list .title {
    color: var(--brand-color);
    font-size: 16px;
}

main.movie-list .hall {
    font-size: 14px;
}

main.movie-list .description {
    margin: 6px 0 0;
    color: var(--tertiary-color);
}

main.movie-list .description p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

main.movie-list .release_date {
    margin-top: 10px;
    font-size: 12px;
}

main.movie-list .rec-date {
    font-size: 12px;
}

main.movie-list .thumbnail {
    position: relative;
    float: left;
    margin-left: 12px;
    width: 161px;
}



/* 動画検索ソート*/
main.movie-list #sort-option {
    text-align: right;
    margin-bottom: 10px;
    height: 30px;
}

main.movie-list #sort-option select {
    height: 100%;
}

/*トップ回転バナー*/
.banner-carousel {
    margin-bottom: 10px;
    width: 435px;
    height: 121px;
    overflow: hidden;
}

.banner-carousel img {
    width: 435px;
    height: 121px;
}

#header-search-form {
    display: table-cell;
    vertical-align: middle;
}

#header-search-text  {
    width: 310px;
    height: 24px;
    background: #fff;
    border: none;
    padding: 4px 10px;
    font-size: 13px;
    border-radius: 16px;
    text-align: left;
    margin: 0 10px;
}

#header-search-text:focus {
    outline: 0;
}

#header-search-form label {
    cursor: pointer;
}
/* ヘッダ 動画検索 */


/* パンクズ*/
#breadcrumb-wrapper .breadcrumb {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    background-color: var(--brand-color);
    padding: 5px 10px;
    font-size: 14px;
    font-weight: bold;
}

#breadcrumb-wrapper .breadcrumb .item {
    color: #fff;
}

#breadcrumb-wrapper .breadcrumb .item a {
    color: rgba(255, 255, 255, 0.7);
}

#breadcrumb-wrapper .breadcrumb .item:not(:last-child)::after {
    content: '>';
    color: rgba(255,255,255,0.7);
    vertical-align: top;
    display: inline-block;
    font-weight: bold;
    font-style: normal;
    margin: 0 10px 0 8px;
    -webkit-font-smoothing: antialiased;
}

#breadcrumb-wrapper .detail {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: #fff;
    background-color: #181818;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
}

#breadcrumb-wrapper .label-en {
    float: left;
}

#breadcrumb-wrapper .label-jp {
    background-color: var(--brand-color);
    border-radius: 3px;
    padding:0 10px;
    text-align: center;
}

.breadcrumb__item {
    color: #fff;
}

.breadcrumb__item a {
    color: rgba(255, 255, 255, 0.7);
}

#breadcrumb-wrapper .breadcrumb__item::after {
    content: '>';
    color: rgba(255, 255, 255, 0.7);
    vertical-align: top;
    display: inline-block;
    font-weight: bold;
    font-style: normal;
    margin: 0 10px 0 8px;
}

.breadcrumb__item:last-child::after {
    content: none;
}

.breadcrumb__current-label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: #fff;
    background-color: #181818;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
}

.breadcrumb__label-en {
    float: left;
}

.breadcrumb__label-jp {
    background-color: var(--brand-color);
    border-radius: 3px;
    padding: 0 10px;
    text-align: center;
}



#jasrac {
    margin: 10px 0;
}

#jasrac>img {
    width: 60px;
    margin-bottom: 10px;
}

#jasrac p {
    font-size: 12px;
    margin: 0;
}

#outside_left_banner {
    position: absolute;
    top: 0;
    left: -170px;
}

#outside_right_banner {
    position: absolute;
    top: 0;
    left: 890px;
}

#wrapper {
    min-width: 880px;
    padding-bottom: 10px;
    background: rgba(0, 0, 0, 0.04);
}

#container {
    position: relative;
    width: 880px;
    margin: 0 auto;
}

/*メニュー*/
.nav-header {
    position: relative;
    width: 100%;
    min-width: 880px;
    height: 50px;
    background: var(--brand-color);
    z-index: 101;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    box-shadow: 0 3px 4px rgba(0, 0, 0, .15);
}

.nav-header-logo a {
    position: relative;
    height: 100%;
}

.nav-header-logo img {
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.nav-header-inner {
    position: relative;
    display: flex;
    height: 50px;
    width: 880px;
    margin: 0 auto;
    z-index: 1000;
    font-size: 14px;
}

.nav-list {
    height: 50px;
    width: 880px;
    margin: 0 auto;
    font-size: 14px;
    padding-left: 0;
}

.nav-list > li {
    float: left;
    display: inline-block;
    width: 20%;
    height: 50px;
    line-height: 50px;
    background: var(--brand-color);
}

.nav-list > li a {
    display: block;
    text-decoration: none;
}

.nav-list li a.nav-link {
    color: #000000;
    text-align: center;
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
}

.nav-list li:hover a.nav-link {
    color: var(--link-color);;
}

.nav-list > li a:hover {
    color: var(--link-color);;
}

.nav-list > li:hover {
    background: #ffffff;
    max-height: 100%;
}

.sub-nav-header {
    visibility: hidden;
    opacity: 0;
    font-size: 14px;
    border-left: 1px solid #bebebe;
    border-right: 1px solid #bebebe;
    border-bottom: 1px solid #bebebe;
    box-shadow: 0 3px 4px rgba(0, 0, 0, .12);
    -webkit-transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
    transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
}

.sub-nav-header li .menu-icon {
    width: 32px;
    vertical-align: middle;
}

.sub-nav .menu-icon {
    width: 48px;
    vertical-align: middle;
}

.sub-nav-header > li {
    border-top: 1px solid #111;
}

.sub-nav-header li a {
    color: #000000;
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
}

.sub-nav-header li a:hover {
    background: #c8c8c8;
}

.init-bottom {
    position: relative;
}

.init-bottom:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 0;
    display: block;
    width: 1px;
    height: 22px;
    margin: -11px 0 0 0;
    background-color: #ddd;
}


.nav-list:before,
.nav-list:after {
    content: " ";
    display: table;
}

.nav-list:after {
    clear: both;
}

.nav-list {
    *zoom: 1;
}

li.sub-nav .sub-nav-header {
    position: fixed;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 2%;
    background: #ffffff;
    height: 50px;
}

li.sub-nav:hover .sub-nav-header {
    visibility: visible;
    opacity: 1;
}

li.sub-nav ul.sub-nav-header > li {
    position: relative;
    float: left;
    width: 10%;
    border: none;
    height: 30px;
    line-height: 30px;
}

li.sub-nav ul.sub-nav-header > li:nth-child(3n+2) {
    margin: 0 1%;
}

ul.nav-list.hide {
    display: none;
}

.header-search {
    display: table;
    margin-left: auto;
    height: 100%;
}

.header-search.hide {
    display: none;
}

.header-search label {
    color: #000000;
    font-weight: bold;
}

#header-search-icon {
    position: relative;
    width: 64px;
    text-align: right;
    line-height: 50px;
    color: #000000;
    font-weight: bold;
    cursor: pointer;
}

#header-search-icon img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 26px;
    margin: auto;
}

.sub-nav-inner {
    position: relative;
    display: flex;
    height: 30px;
    width: 880px;
    margin: 0 auto;
}

ul.sub-nav-inner li {
    line-height: 30px;
    padding: 0 20px;
}




.view-more-button {
    display: inline-block;
    margin: 0 auto;
    height: 40px;
    line-height: 40px;
    padding: 0 30px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    border-radius: 20px;
    color: #000;
    background: var(--brand-color);
}

#related-movie .flex-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 5px;
}

#related-movie .flex-container a {
    margin-right: 5px;
}

#related-movie p {
    color: #0f0f0f;
}

#hall-flyer-container {
    width: 100%;
    min-height: 595px;
}






/*
採用関連フォーム
 */
main.recruit .form-body .content-detail {
    width: 100%;
}

main.recruit .form-body .content-detail input[type=text] {
    width: 100%;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.4;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

main.recruit .form-body .content-detail textarea {
    resize: vertical;
    width: 100%;
    border-radius: 4px;
    padding: 6px 12px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

main.recruit .form-body label.error {
    font-size: 12px;
    font-weight: normal;
    color: #d40000;
}

.contact-submit {
    text-align: center;

}

.contact-submit button {
    width: 166px;
    font-size: 16px;
    height: 40px;
    border-radius: 4px;
    color: #333;
    background-color: var(--brand-color);
    cursor: pointer;
    border-style: solid;
    border-width: 0;
    font-weight: bold;
}

.contact-submit input {
    width: 166px;
    font-size: 16px;
    font-weight: bold;
    height: 40px;
    border-radius: 4px;
    color: #333;
    cursor: pointer;
    background: #fff;
    border: 1px solid #e5e5e5;
}

.contact-content .content-item {
    margin-bottom: 18px;
}

.contact-content select {
    width: 319px;
    height: 33px;
    border-radius: 4px;
    border: 1px solid #ccc;
}

#form-recruit .annotation {
    display: inline-block;
    float: left;
    width: 58px;
    height: 100%;
}

main.recruit .overview table,
main.recruit .overview table th,
main.recruit .overview table td {
    border: 1px solid #181818;
    border-spacing: 0;
    border-collapse: collapse
}

main.recruit .overview table {
    font-size: 12px;
    border-radius: 4px;
    margin: 10px 0 20px 0;
    width: 100%;
}

main.recruit .overview table th {
    width: 80px;
}

main.recruit .overview table th,
main.recruit .overview table td {
    padding: 6px;
    text-align: left;
}

main.recruit .photo-annotation {
    font-size: 12px;
    color: #d40000;
    margin-top: 5px;
    padding-left: 1em;
    text-indent: -1em;
}

.heading-title {
    position: relative;
}

.heading-title h3 {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-color);
    padding: 0 0 0 16px;
    text-align: left;
    line-height: 1.1;
}

.heading-title h3:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    font-size: 0;
    letter-spacing: 0;
    background: #181818;
    border-radius: 20px;
}

.inner-content {
    padding: 10px;
    background: #ffffff;
}

.emoji {
    font-family: "Apple Color Emoji";
}


.breadcrumb__item + .breadcrumb__item::before {
    content: ">";
    margin: 0 8px;
}

/* CSS Document */

/* ----
@_clearfix
---- */
#contents:after,
.clearfix:after {
    clear: both;
    content: "";
    display: block;
    font-size: 0;
    height: 0;
    visibility: hidden;
}

/*

@_defaults

 */
body, div,
h1, h2, h3, h4, h5, h6,
p, dl, dt, dd, ul, ol, li,
brockquote, pre,  address,
table, caption, th, td,
form, fieldset, legend, object, hr {
    margin:0;
    padding:0;
}

a {
    color: #333333;
    text-decoration: none;
}

a:link {
    text-decoration: none;
}
a:visited {
    text-decoration: none;
}

a:hover {
    text-decoration: none;
}

a:active {
    text-decoration: none;
}

address, em, cite, dfn, var {
    font-style: normal;
}

input, textarea {
    font-weight: inherit;
    line-height: normal;
}

img {
    vertical-align: bottom;
    border: none;
}

a img {
    border: none;
}

ul {
    list-style-type: none;
}

html {
    font-size: 10px;
    *font-size: 62.5%;
    line-height: 1.5;
    overflow-y: scroll;
    height: 100%;
}

@font-face {
    font-family: 'Quicksand';
    src: url('/fonts/Quicksand-Regular.ttf') format('ttf');
}

:root {
    --link-color: #11A0CF;
    --hover-color: #f5f8fa;
    --brand-color:  #ff679a;
    --primary-color: #181818;
    --secondary-color: #333333;
    --tertiary-color: #666666;
}

body {
    height: 100%;
    margin: 0;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smoothing: antialiased;
    font-family: "Montserrat","游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","メイリオ",Meiryo,sans-serif;
    text-align: center;
    color: var(--primary-color);
}

.error_msg {
    color: #ff0000;
    padding-bottom: 4px;
}

.box-shadow {
    box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
}

.button-shadow {
    box-shadow: 0 2px 4px rgb(0 0 0 / 70%);
}

.internal-link a {
    color: var(--link-color);
}

.internal-link a::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: ">";
    transform: scale(0.5, 1) translateY(-50%);
}

.external-link a::after {
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    content: "";
    width: 1em;
    height: 1em;
    background-image: url(../images/new_window.png);
    background-repeat: no-repeat;
    background-size: contain;
}

/*

@_header

*/
#header {
    background: var(--brand-color);
    width: 100%;
    margin: 0;
    height: 160px;
    color: #ffffff;
}

#header-inner {
    width: 880px;
    margin: 0 auto;
    height: 100%;
}

#header-inner-L {
    float: left;
}

#header-inner-R {
    float: right;
    margin-top: 5px;
    width: 540px;
    text-align: right;
}

#headline {
    display: flex;
    flex-direction: row;
    float: left;
}

#headline h1 {
    font-size: 13px;
}

#headline ul {
    margin: 0;
}


#scoop-logo a {
    display: block;
}
/*

@_header end


*/


/*

@_メイン部


*/
#contents {
    margin: 10px auto 0;
    width: 880px;
    background: #FFF;
}

/*
バナー共通
 */
.banner a {
    display: block;
}

.banner a img {
    transition: opacity .4s ease-out;
    width: 100%;
}

.banner a img:hover {
    opacity: .4;
}

/*
Twitter TimeLine
 */
.twitter-timeline-frame {
    display: flex;
    justify-content: space-between;
    width: 540px;
    height: 602px;
    margin-bottom: 15px;
    border: 1px solid rgba(15,70,100,.12);
    box-sizing: border-box
}

/*
Facebook
 */
.fb-like-box {
    margin-bottom: 5px;
}

.fb-like-box iframe {
    transform: scale(1.08);
}

/*

@_左サイドバー


*/
#sidebar-left {
    float: left;
    text-align: left;
    color: #6A6A6A;
    width: 160px;
    margin-right: 10px;
}


/*
    サイドバー共通部
*/
.sidebar-box {
    background: #ffffff;
    padding: 10px;
}

.sidebar-box a {
    display: block;
    padding: 8px 0;
}

.sidebar-box .flex-container {
    display: flex;
    flex-direction: column;
}

.sidebar-box .flex-item {
    font-size: 11px;
    font-weight: bold;
}

.sidebar-box .flex-item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}

.sidebar-box .flex-item .thumb {
    overflow: hidden;
}

.sidebar-box .flex-item a:hover {
    text-decoration: none;
}

.sidebar-box .flex-item a:hover img {
    transform: scale(1.2);
    transition-duration: 0.3s;
}


.sidebar-head {
    color: var(--primary-color);
    text-align: left;
    margin-bottom: 5px;
}

.sidebar-head h2 {
    font-size: 14px;
    line-height: 14px;
}



/*
    トピックス
 */
main.topics {
    float: left;
    width: 710px;
    background: #ffffff;
}

main.topics .inner-content {
    font-size: 14px;
}

main.topics .inner-content h3 {
    margin-bottom: 15px;
}

#sidebar-left .topics {
    padding: 10px;
    margin-bottom: 10px;
    background: #ffffff;
}

#sidebar-left .topics .flex-item {
    position: relative;
    padding: 0;
}

#sidebar-left .topics a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 4px 0;
}

#sidebar-left .topics a:hover {
    background: var(--hover-color);
}

#sidebar-left .topics h2 {
    color: var(--brand-color);
}

#sidebar-left .topics .update {
    font-size: 12px;
    position: relative;
}

#sidebar-left .topics .contents {
    font-size: 11px;
    font-weight: bold;
    word-break: break-all;
    color: #333333;
}

#sidebar-left .topics .pinned::after {
    content: url(../images/pin.png);
    display: block;
    width: 12px;
    height: 12px;
}

.new {
    color: #d40000;
    font-weight: 700;
}

/* 点滅 */
.blinking {
    animation:blink 1.5s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink {
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink {
    0% {opacity:0;}
    100% {opacity:1;}
}

/*
    公式ブログ
*/
#sidebar-left .recent-posts {
    padding: 10px;
    margin-bottom: 10px;
    background: #ffffff;
}


/*
    収録・来店予定
*/
#schedules {
    margin-bottom: 10px;
}

#schedules .flex-item {
    position: relative;
    padding: 0;
}

#schedules a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 4px 0;
}

#schedules a:hover {
    background: #f6faf5;
}

#schedules .hall {
    margin: 2px 0 0;
}

#schedules a .hall {
    color: #6F9E0D;
}

/*
    ホールランキング（サイドバー）
 */
#hall-ranking .flex-container {
    display: flex;
    flex-direction: column;
}

#hall-ranking .flex-container .photo {
    overflow: hidden;
}

#hall-ranking .flex-container img {
    width: 100%;
}

#hall-ranking p {
    font-weight: bold;
    color: var(--link-color);
    font-size: 11px;
    line-height: 11px;
    margin-top: 5px;
}

#hall-ranking .flex-item:not(:last-child), #popular-movie .flex-item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}


/*
    @_左サイドバー
*/


/*

@_メイン部


*/

#main {
    float: left;
    width: 540px;
    height: auto;
    color: #727272;
}

/*

@_右サイドバー


*/
#sidebar-right {
    float: left;
    width: 160px;
    margin-left: 10px;
    font-size: 11px;
    text-align: left;
}

/*
センターバナー
 */
.center-banner {
    margin: 10px auto 0 auto;
    width: 540px;
    height: 150px;
}

.center-banner a {
    display: inline-block;
}

/*

@_メイン部 end


*/
#footer {
    background: var(--brand-color);
    width: 100%;
    height: 150px;
    color: #ffffff;
}

.footer-inner-content {
    margin:0 auto;
    width: 880px;
    height: 100%
}

#footer .menu {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0 auto;
    font-size: 12px;
    font-weight: bold;
    padding-top: 5px;
}

#footer .menu li {
    width: 100px;
}

#footer .menu a {
    display: block;
    text-decoration: none;
    color: #ffffff;
    transition: opacity .25s ease;
}

#footer .menu a:hover {
    opacity: .5;
}

#footer .menu > li {
    border-left: 1px solid #ffffff;
}

#footer .menu > li:first-child {
    border: none;
}

#footer small {
    font-size: 13px;
    font-weight: bold;
    letter-spacing: 0.1em;
    font-family: 'Quicksand';
}


.swiper-container {
    position: relative;
    overflow: hidden;
    margin: 0 auto;
}

/*
    最新動画ピックアップ
*/

#latest-video {
    margin:0 0 10px;
    background: #ffffff;
    padding: 10px;
}

#latest-video .heading-title {
    margin-bottom: 10px;
}

#latest-video .main-slider {
    position: relative;
}

#latest-video .play-btn-layer {
    position: absolute;
    width: 100%;
    height: 100%;

}

#latest-video .main-slider a {
    display: inline-block;
}

#latest-video .swiper-container {
    overflow: hidden;
}

#latest-video .main-slider img {
    width: 100%;
}

#latest-video .thumbs-slider {
    background: #000;
}

#latest-video .thumbs-slider .swiper-slide {
    width: 93px;
    opacity: 0.6;
}

#latest-video .thumbs-slider .swiper-slide img {
    width: 100%;
}

#latest-video .thumbs-slider .swiper-slide-active {
    opacity: 1;
    transform: scale(1.3);
    transition-duration: 0.4s;
    z-index: 1;
}

.play-btn {
    position: absolute;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background-color: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

.play-btn-icon {
    position: absolute;
    z-index: 30;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 30%;
    height: calc(30% * 0.67);
    transition: opacity .25s cubic-bezier(0.0,0.0,0.2,1);
}

#latest-video .play-btn-icon {
    width: 10%;
}


.play-btn-icon .st0 {
    fill: #212121;
    fill-opacity: .8;
}

.play-btn-icon .st1 {
    fill: #ffffff;
    fill-opacity: 1;
}

.play-btn:hover .play-btn-icon .st0 {
    fill: #ff0000;
    fill-opacity: 1;
}

.carousel-new {
    position: absolute;
    top: 18px;
    z-index: 1001;
}

.carousel-new.left {
    left: 6px;
}

.carousel-new.right {
    right: 6px;
}

.carousel-title, .carousel-vol {
    color: #C0790E;
}

.carousel-hall {
    color: #ffffff;
    line-height: 1.3em;
    padding-top: 2px;
}


/* 好評配信中番組一覧 */
#top-channel-list {
    margin: 10px 0;
    padding: 10px 10px 0 10px;
    background: #ffffff;
}

#top-channel-list .heading {
    display: flex;
    justify-content: space-between;
}

#top-channel-list .flex-container {
    display: flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items: flex-start;
}

#top-channel-list .flex-container .flex-item {
    position: relative;
    display: inline-block;
    width: 167px;
    border: 1px solid #c0c0c0;
    margin-bottom: 10px;
    background: #fff;
}

#top-channel-list .flex-container .flex-item a {
    display: flex;
    flex-direction: column;
    height: 100%;
    text-decoration: none;
}

#top-channel-list .flex-container .flex-item .item-image {
    position: relative;
    background: #030303;
}

#top-channel-list .flex-container .flex-item img {
    width: 120px;
    height: 120px;
}

#top-channel-list .flex-container .flex-item .frame {
    background: #ffffff;
}

#top-channel-list .flex-container .flex-item:hover .frame {
    position: absolute;
    top: 0;
    left: 0;
    width: 107%;
    height: auto;
    z-index: 2;
    transform: scale(1.1);
    transition-duration: 0.4s;
    box-shadow: 0 0 9px rgb(0 0 0 / 70%);
}

#top-channel-list .flex-container .flex-item:hover .detail {
    display: block;
    z-index: 2;
}

#top-channel-list .flex-container .flex-item h2 {
    font-size: 13px;
    font-weight: bold;
    color: #030303;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

#top-channel-list .flex-container .flex-item .detail {
    padding: 5px 2px;
}

#top-channel-list .flex-container .flex-item .detail .release-info {
    display: flex;
    justify-content: space-between;
    font-weight: bold;
}

#top-channel-list .flex-container .flex-item .detail p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/*****************************/




/*　右サイドバー　*/
#popular-movie {
    margin-top: 10px;
}


#trend-movie p,
#popular-movie p {
    font-weight: bold;
    color: var(--link-color);
    font-size: 11px;
    line-height: 11px;
    margin-top: 5px;
}



.social {
    display: flex;
    justify-content: flex-end;
    margin: 8px 0 0;
    height: 22px;
}


/* スペシャルバナー */
.banner_fix_frame {
    width: 160px;
    height: 476px;
}

/* 動画一覧 */
main.movie-list {
    float: left;
    width: 710px;
}

main.movie-list .movie-table {
    text-align: left;
}

main.movie-list .movie-table>li {
    border-bottom: 1px solid #e5e5e5;
    padding: 10px 0;
}

main.movie-list .movie-table>li:first-child {
    border-top: 1px solid #e5e5e5;
}

main.movie-list .content-detail {
    float: left;
    width: 517px;
    font-size: 12px;
    line-height: 1.5;
    font-weight: bold;
}

main.movie-list .title {
    color: var(--brand-color);
    font-size: 16px;
}

main.movie-list .hall {
    font-size: 14px;
}

main.movie-list .description {
    margin: 6px 0 0;
    color: var(--tertiary-color);
}

main.movie-list .description p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

main.movie-list .release_date {
    margin-top: 10px;
    font-size: 12px;
}

main.movie-list .rec-date {
    font-size: 12px;
}

main.movie-list .thumbnail {
    position: relative;
    float: left;
    margin-left: 12px;
    width: 161px;
}



/* 動画検索ソート*/
main.movie-list #sort-option {
    text-align: right;
    margin-bottom: 10px;
    height: 30px;
}

main.movie-list #sort-option select {
    height: 100%;
}

/*トップ回転バナー*/
.banner-carousel {
    margin-bottom: 10px;
    width: 435px;
    height: 121px;
    overflow: hidden;
}

.banner-carousel img {
    width: 435px;
    height: 121px;
}

#header-search-form {
    display: table-cell;
    vertical-align: middle;
}

#header-search-text  {
    width: 310px;
    height: 24px;
    background: #fff;
    border: none;
    padding: 4px 10px;
    font-size: 13px;
    border-radius: 16px;
    text-align: left;
    margin: 0 10px;
}

#header-search-text:focus {
    outline: 0;
}

#header-search-form label {
    cursor: pointer;
}
/* ヘッダ 動画検索 */


/* パンクズ*/
#breadcrumb-wrapper .breadcrumb {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    background-color: var(--brand-color);
    padding: 5px 10px;
    font-size: 14px;
    font-weight: bold;
}

#breadcrumb-wrapper .breadcrumb .item {
    color: #fff;
}

#breadcrumb-wrapper .breadcrumb .item a {
    color: rgba(255, 255, 255, 0.7);
}

#breadcrumb-wrapper .breadcrumb .item:not(:last-child)::after {
    content: '>';
    color: rgba(255,255,255,0.7);
    vertical-align: top;
    display: inline-block;
    font-weight: bold;
    font-style: normal;
    margin: 0 10px 0 8px;
    -webkit-font-smoothing: antialiased;
}

#breadcrumb-wrapper .detail {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: #fff;
    background-color: #181818;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
}

#breadcrumb-wrapper .label-en {
    float: left;
}

#breadcrumb-wrapper .label-jp {
    background-color: var(--brand-color);
    border-radius: 3px;
    padding:0 10px;
    text-align: center;
}

.breadcrumb__item {
    color: #fff;
}

.breadcrumb__item a {
    color: rgba(255, 255, 255, 0.7);
}

#breadcrumb-wrapper .breadcrumb__item::after {
    content: '>';
    color: rgba(255, 255, 255, 0.7);
    vertical-align: top;
    display: inline-block;
    font-weight: bold;
    font-style: normal;
    margin: 0 10px 0 8px;
}

.breadcrumb__item:last-child::after {
    content: none;
}

.breadcrumb__current-label {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: #fff;
    background-color: #181818;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
}

.breadcrumb__label-en {
    float: left;
}

.breadcrumb__label-jp {
    background-color: var(--brand-color);
    border-radius: 3px;
    padding: 0 10px;
    text-align: center;
}


/*メニュー*/
.nav-header {
    position: relative;
    width: 100%;
    min-width: 880px;
    height: 50px;
    background: var(--brand-color);
    z-index: 101;
    border-top: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    box-shadow: 0 3px 4px rgba(0, 0, 0, .15);
}

.nav-header-logo a {
    position: relative;
    height: 100%;
}

.nav-header-logo img {
    position: absolute;
    display: block;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
}

.nav-header-inner {
    position: relative;
    display: flex;
    height: 50px;
    width: 880px;
    margin: 0 auto;
    z-index: 1000;
    font-size: 14px;
}

.nav-list {
    height: 50px;
    width: 880px;
    margin: 0 auto;
    font-size: 14px;
}

.nav-list > li {
    float: left;
    display: inline-block;
    width: 20%;
    height: 50px;
    line-height: 50px;
    background: var(--brand-color);
}

.nav-list > li a {
    display: block;
    text-decoration: none;
}

.nav-list li a.nav-link {
    color: #000000;
    text-align: center;
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
}

.nav-list li:hover a.nav-link {
    color: var(--link-color);;
}

.nav-list > li a:hover {
    color: var(--link-color);;
}

.nav-list > li:hover {
    background: #ffffff;
    max-height: 100%;
}

.sub-nav-header {
    visibility: hidden;
    opacity: 0;
    font-size: 14px;
    border-left: 1px solid #bebebe;
    border-right: 1px solid #bebebe;
    border-bottom: 1px solid #bebebe;
    box-shadow: 0 3px 4px rgba(0, 0, 0, .12);
    -webkit-transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
    transition: opacity .2s ease-in-out, visibility .2s ease-in-out;
}

.sub-nav-header li .menu-icon {
    width: 32px;
    vertical-align: middle;
}

.sub-nav .menu-icon {
    width: 48px;
    vertical-align: middle;
}

.sub-nav-header > li {
    border-top: 1px solid #111;
}

.sub-nav-header li a {
    color: #000000;
    font-family: 'Quicksand', sans-serif;
    font-weight: bold;
}

.sub-nav-header li a:hover {
    background: #c8c8c8;
}

.init-bottom {
    position: relative;
}

.init-bottom:after {
    position: absolute;
    content: '';
    top: 50%;
    right: 0;
    display: block;
    width: 1px;
    height: 22px;
    margin: -11px 0 0 0;
    background-color: #ddd;
}


.nav-list:before,
.nav-list:after {
    content: " ";
    display: table;
}

.nav-list:after {
    clear: both;
}

.nav-list {
    *zoom: 1;
}

li.sub-nav .sub-nav-header {
    position: fixed;
    left: 0;
    box-sizing: border-box;
    width: 100%;
    padding: 10px 2%;
    background: #ffffff;
    height: 50px;
}

li.sub-nav:hover .sub-nav-header {
    visibility: visible;
    opacity: 1;
}

li.sub-nav ul.sub-nav-header > li {
    position: relative;
    float: left;
    width: 10%;
    border: none;
    height: 30px;
    line-height: 30px;
}

li.sub-nav ul.sub-nav-header > li:nth-child(3n+2) {
    margin: 0 1%;
}

ul.nav-list.hide {
    display: none;
}

.header-search {
    display: table;
    margin-left: auto;
    height: 100%;
}

.header-search.hide {
    display: none;
}

.header-search label {
    color: #000000;
    font-weight: bold;
}

#header-search-icon {
    position: relative;
    width: 64px;
    text-align: right;
    line-height: 50px;
    color: #000000;
    font-weight: bold;
    cursor: pointer;
}

#header-search-icon img {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 26px;
    margin: auto;
}

.sub-nav-inner {
    position: relative;
    display: flex;
    height: 30px;
    width: 880px;
    margin: 0 auto;
}

ul.sub-nav-inner li {
    line-height: 30px;
    padding: 0 20px;
}




.view-more-button {
    display: inline-block;
    margin: 0 auto;
    height: 40px;
    line-height: 40px;
    padding: 0 30px;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    border-radius: 20px;
    color: #000;
    background: var(--brand-color);
}


#hall-info-container .hall-prefectures-table {
    width: 100%;
    margin: 0 0 10px 0;
    border-collapse: collapse;
    border: 1px solid #c0c0c0;
}

#hall-info-container .hall-prefectures-table tr th {
    width: 80px;
    font-size: 12px;
    border: 1px solid #c0c0c0;
    border-collapse: collapse;
    color: var(--primary-color);
}

#hall-info-container .hall-prefectures-table tr a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 12px;
    text-decoration: none;
    color: var(--secondary-color);
}

#hall-info-container .hall-prefectures-table tr a:hover,
#hall-list-table tr:hover,
.hall-list-content-cities li:hover {
    background-color: var(--brand-color);
    transition: background-color .25s ease, color .25s ease;
}

#hall-info-container .hall-prefectures-table tr a:hover {
    color: #fff;
}

#hall-info-container .hall-prefectures-table tr td {
    border: 1px solid #c0c0c0;
    border-radius: 2px;
    width: 48px;
    height: 30px;
    line-height: 28px;
    text-align: center;
    box-sizing: border-box;
    border-collapse: collapse;
}

#hall-info-container .hall-prefectures-table a {
    padding: 5px;
    box-sizing: border-box;
}
#hall-info-container .hall-prefectures-table a p:first-child {
    margin-bottom: 5px;
}

#hall-info-container .hall-prefectures-table p {
    line-height: 12px;
}

#pref-access-ranking {
    margin: 15px auto 10px auto;
    width: 100%;
}

#pref-access-ranking h4, #hall-info-container h2 {
    padding-left: 10px;
    text-align: left;
    height: 31px;
    line-height: 31px;
    font-size: 13px;
    font-weight: bold;
    background-color: var(--brand-color);
    color: #ffffff;
}

#pref-access-ranking .swiper-container {
    padding: 10px 0;
}

#pref-access-ranking .swiper-slide[data-ranking-badge="1"]:after {
    background-color: #b39b53;
}

#pref-access-ranking .swiper-slide[data-ranking-badge="2"]:after {
    background-color: #888ca5;
}

#pref-access-ranking .swiper-slide[data-ranking-badge="3"]:after {
    background-color: #ad8975;
}

#pref-access-ranking .swiper-slide[data-ranking-badge="4"]:after {
    background-color: #3b3b3b;
}

#pref-access-ranking .swiper-slide[data-ranking-badge="5"]:after,
#pref-access-ranking .swiper-slide[data-ranking-badge="6"]:after,
#pref-access-ranking .swiper-slide[data-ranking-badge="7"]:after,
#pref-access-ranking .swiper-slide[data-ranking-badge="8"]:after,
#pref-access-ranking .swiper-slide[data-ranking-badge="9"]:after,
#pref-access-ranking .swiper-slide[data-ranking-badge="10"]:after {
    background-color: #3b3b3b;
}

#pref-access-ranking .swiper-slide {
    width: 165px;
    height: 165px;
    background-color: #e6e6e6;
}

#pref-access-ranking .swiper-slide a {
    display: block;
    width: 100%;
    height: 100%;
    background: #030303;
}

#pref-access-ranking .swiper-slide img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

#pref-access-ranking .swiper-slide:after {
    position: absolute;
    top: -9px;
    left: 0;
    content: attr(data-ranking-badge)'';
    display: inline-block;
    font-weight: bold;
    border-radius: 50%;
    font-size: 1em;
    line-height: 1;
    min-width: 1em;
    padding: 5px;
    color: #ffffff;
    border: 2px solid #fff;
    box-shadow: 0 0 3px #999;
}

#pref-access-ranking .swiper-slide .caption {
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.8);
    color: #ffffff;
    width: 122px;
    line-height: 11px;
    padding: 5px;
    box-sizing: border-box;
    font-weight: bold;
}

.pagination-next, .pagination-previous {
    border-radius: 4px;
    width: 110px;
    height: 50px;
    font-size: 14px;
    text-align: center;
    background-color: var(--brand-color);
    transition: opacity .3s ease-in-out;
    margin-left: 5px;
}

.pagination-next:hover,
.pagination-previous:hover,
.pagination-select:hover {
    opacity: .5;
}

.pagination-next a, .pagination-previous a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 50px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.pagination-select {
    width: 150px;
    height: 50px;
    background-color: var(--brand-color);
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    border-radius: 4px;
    border: none;
    margin-left: 5px;
    transition: opacity .3s ease-in-out;
}

#related-movie .flex-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    padding: 5px;
}

#related-movie .flex-container a {
    margin-right: 5px;
}

#related-movie p {
    color: #0f0f0f;
}

#hall-flyer-container {
    width: 100%;
    min-height: 595px;
}



/*
採用関連フォーム
 */
main.recruit .form-body .content-detail {
    width: 100%;
}

main.recruit .form-body .content-detail input[type=text] {
    width: 100%;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.4;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

main.recruit .form-body .content-detail textarea {
    resize: vertical;
    width: 100%;
    border-radius: 4px;
    padding: 6px 12px;
    border: 1px solid #ccc;
    box-sizing: border-box;
}

main.recruit .form-body label.error {
    font-size: 12px;
    font-weight: normal;
    color: #d40000;
}

.contact-submit {
    text-align: center;

}

.contact-submit button {
    width: 166px;
    font-size: 16px;
    height: 40px;
    border-radius: 4px;
    color: #333;
    background-color: var(--brand-color);
    cursor: pointer;
    border-style: solid;
    border-width: 0;
    font-weight: bold;
}

.contact-submit input {
    width: 166px;
    font-size: 16px;
    font-weight: bold;
    height: 40px;
    border-radius: 4px;
    color: #333;
    cursor: pointer;
    background: #fff;
    border: 1px solid #e5e5e5;
}



#form-recruit .annotation {
    display: inline-block;
    float: left;
    width: 58px;
    height: 100%;
}

main.recruit .overview table,
main.recruit .overview table th,
main.recruit .overview table td {
    border: 1px solid #181818;
    border-spacing: 0;
    border-collapse: collapse
}

main.recruit .overview table {
    font-size: 12px;
    border-radius: 4px;
    margin: 10px 0 20px 0;
    width: 100%;
}

main.recruit .overview table th {
    width: 80px;
}

main.recruit .overview table th,
main.recruit .overview table td {
    padding: 6px;
    text-align: left;
}

main.recruit .photo-annotation {
    font-size: 12px;
    color: #d40000;
    margin-top: 5px;
    padding-left: 1em;
    text-indent: -1em;
}

.heading-title {
    position: relative;
}

.heading-title h3 {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-color);
    padding: 0 0 0 16px;
    text-align: left;
    line-height: 1.1;
}

.heading-title h3:before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    font-size: 0;
    letter-spacing: 0;
    background: #181818;
    border-radius: 20px;
}

.inner-content {
    padding: 10px;
    background: #ffffff;
}

/*
お詫び文
 */
#mistaken .date {
    padding-top: 5px;
    font-size: 12px;
    text-align: left;
}

#mistaken .title {
    font-size: 12px;
    text-align: left;
    font-weight: bold;
    padding-bottom: 5px;
}

#mistaken .content {
    padding: 5px 0;
    text-align:left;
    font-size:12px;
}

#mistaken .item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}


.emoji {
    font-family: "Apple Color Emoji";
}


.breadcrumb__list {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    background-color: var(--brand-color);
    padding: 5px 10px;
    font-size: 14px;
    font-weight: bold;
}
.breadcrumb__item + .breadcrumb__item::before {
    content: ">";
    margin: 0 8px;
}

.breadcrumb__info {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    color: #fff;
    background-color: #181818;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: bold;
}


.u-box-shadow {
    box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
}


/* 共通タイトルヘッダー */
.l-heading-title {
    position: relative;
}

.l-heading-title__text {
    font-size: 18px;
    font-weight: bold;
    color: var(--primary-color);
    padding: 0 0 0 16px;
    text-align: left;
    line-height: 1.1;
    margin: 0;
}

.l-heading-title__text::before {
    position: absolute;
    top: 0;
    left: 0;
    content: '';
    display: block;
    width: 4px;
    height: 100%;
    background: #181818;
    border-radius: 20px;
}


/* --- プレイボタン装飾 --- */
.c-play-button {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
}

/* 実際のボタン要素（透明にして全体をクリッカブルにする） */
.c-play-button__trigger {
    width: 100%;
    height: 100%;
    text-indent: -9999px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
}

/* 中央のアイコン */
.c-play-button__icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 15%;
    max-width: 80px;
    height: auto;
    transition: opacity .25s ease;
    pointer-events: none;
}

/* 背景（台座）: 透過処理 */
.c-play-button__icon .st0 {
    fill: #212121;
    fill-opacity: 0.8;
    transition: fill 0.25s, fill-opacity 0.25s;
}

/* 再生マーク（▲）: 白色 */
.c-play-button__icon .st1 {
    fill: #ffffff;
    fill-opacity: 1;
}

.c-play-button:hover .c-play-button__icon .st0 {
    fill: #ff0000;
    fill-opacity: 1;
}

.c-play-button--small .c-play-button__icon {
    width: 10%;
}


.c-link-arrow {
    position: relative;
    padding-right: 15px;
    font-weight: bold;
    font-size: 13px;
}

.c-link-arrow a {
    color: var(--link-color);
}

.c-link-arrow::after {
    position: absolute;
    top: 50%;
    right: 0;
    content: ">";
    transform: scale(0.5, 1) translateY(-50%);
    color: var(--link-color);
}


.c-announcement {
    text-align: left;
    margin: 8px 0;
    padding: 5px 15px;
    font-size: 14px;
    background: #fff;
}

.c-announcement a {
    color: var(--link-color);
}


/*
    サイドバートピックス
 */
.sidebar-topics {
    padding: 10px;
    margin-bottom: 10px;
    background: #ffffff;
}

.sidebar-topics__list {
    display: flex;
    flex-direction: column;
}

.sidebar-topics__item {
    position: relative;
    padding: 0;
}

.sidebar-topics__item a {
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 4px 0;
}

.sidebar-topics__item a:hover {
    background: var(--hover-color);
}

.sidebar-topics__head h2 {
    color: var(--brand-color);
}

.sidebar-topics__title {
    font-size: 11px;
    font-weight: bold;
    word-break: break-all;
    color: #333333;
}

.sidebar-topics__pin::after {
    content: url(../images/pin.png);
    display: block;
    width: 12px;
    height: 12px;
}

.--new {
    color: #d40000;
    font-weight: 700;
}

/* 点滅 */
.blinking {
    animation:blink 1.5s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink {
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink {
    0% {opacity:0;}
    100% {opacity:1;}
}

/*
サイドバー共通
 */
.sidebar__item:not(:last-child) {
    border-bottom: 1px solid #e5e5e5;
}

/*
共通レイアウト
 */
.l-inner {
    padding: 10px;
    background: #ffffff;
}

.pagination {
    display: flex;
    justify-content: flex-end;
    margin-top: 10px;
}

.pagination__next, .pagination__prev {
    border-radius: 4px;
    width: 110px;
    height: 50px;
    font-size: 14px;
    text-align: center;
    background-color: var(--brand-color);
    transition: opacity .3s ease-in-out;
    margin-left: 5px;
}

.pagination__next:hover,
.pagination__prev:hover,
.pagination__select:hover {
    opacity: .5;
}

.pagination__next a, .pagination__prev a {
    display: block;
    width: 100%;
    height: 100%;
    line-height: 50px;
    color: #fff;
    font-weight: bold;
    text-decoration: none;
}

.pagination__select {
    width: 150px;
    height: 50px;
    background-color: var(--brand-color);
    color: #ffffff;
    text-align: center;
    font-weight: bold;
    border-radius: 4px;
    border: none;
    margin-left: 5px;
    transition: opacity .3s ease-in-out;
}

.button-shadow {
    box-shadow: 0 2px 4px rgb(0 0 0 / 70%);
}

.c-button {
    font-size: 13px;
    font-weight: bold;
    border-radius: 4px;
    border: none;
    transition: all 0.2s ease;
}

.c-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.2);
}

.c-button--primary {
    background-color: var(--brand-color);
}

.c-button--shadow {
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}





main.movie-detail {
    width: 573px;
    float: left;
}

main.movie-detail .title {
    color: #333 ;
    font-weight: bold;
    font-size: 18px;
    margin: 0 0 4px;
    height: 30px;
    text-align: left;
}

main.movie-detail .content .heading {
    font-size: 14px;
    text-align: left;
    font-weight: bold;
}

main.movie-detail .content > .detail {
    font-size: 13px;
    color: #333333;
    text-align: left;
    margin-bottom: 10px;
}

main.movie-detail .content .rec-date,
main.movie-detail .content .release-date,
main.movie-detail .content .writer {
    display: flex;
    margin-bottom: 5px;
    font-size: 13px;
    font-weight: bold;
    color: #181818;
}

main.movie-detail .rec-hall {
    border: 1px solid #e5e5e5;
    width: 100%;
    box-sizing: border-box;
    padding: 5px;
}

main.movie-detail .rec-hall .item+.item {
    border-top: 1px solid #e5e5e5;
}


main.movie-detail .rec-hall .item a {
    display: flex;
    flex-wrap: wrap;
    padding: 8px;
    text-decoration: none;
}

main.movie-detail .rec-hall .item .photo {
    width: 178px;
    margin-right: 5px;
    overflow: hidden;
}

main.movie-detail .rec-hall .item a:hover .photo img {
    transform: scale(1.2);
    transition-duration: 0.3s;
}

main.movie-detail .hall-name {
    width: 100%;
    font-size: 14px;
}

main.movie-detail .hall-name h3 {
    color: #181818;
    font-size: 15px;
    font-weight: bold;
}

main.movie-detail .photo img {
    width: 100%;
}


main.movie-detail .rec-hall table {
    width: 342px;
    text-align: left;
    border-collapse: collapse;
    border: 1px solid #e5e5e5;
    font-size: 12px;
    color: #181818;
}

main.movie-detail .rec-hall table td,
main.movie-detail .rec-hall table th {
    padding: 4px 0 4px 4px;
}

main.movie-detail .rec-hall table th {
    border-right: 1px solid #e5e5e5;
}

main.movie-detail .rec-hall table tr:nth-of-type(odd) {
    background: #EBEBEB;
}

.movie-detail-sidebar {
    float: right;
    width: 280px;
    background: #ffffff;
}

.movie-detail-sidebar a {
    display: flex;
}

.movie-detail-sidebar .thumb {
    overflow: hidden;
}

.movie-detail-sidebar .thumb img {
    width: 120px;
    height: 90px;
}

.movie-detail-sidebar .detail {
    margin: 0 0 0 8px;
    width: 152px;
    color: var(--link-color);
    text-align: left;
}

.movie-detail-sidebar .detail h1,
.movie-detail-sidebar .detail h2 {
    font-size: 14px;
    font-weight: normal;
    color: #030303;
}

.movie-detail-sidebar .detail .hall,
.movie-detail-sidebar .detail .writer,
.movie-detail-sidebar .detail .release-date {
    font-size: 12px;
    font-weight: normal;
    color: #333333;
}
