@charset "UTF-8";
/* Initialize
----------------------------------------*/
body {
  font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  font-size: 14px;
  letter-spacing: 0.07em;
  line-height: 1.7; }
  
a { color: #ccc; }

small {
  font-size: 100%; }

img {
  vertical-align: top; }

ul, ol {
  list-style: none; }

.cf {
  zoom: 1; }
  .cf:before, .cf:after {
    content: '';
    display: table; }
  .cf:after {
    clear: both; }

/* Common
----------------------------------------*/
/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999; }

#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  max-width: none; }

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%; }

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left; }

#cboxContent {
  position: relative; }

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch; }

#cboxTitle {
  margin: 0; }

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer; }

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic; }

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0; }

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box; }

/*
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background-color: #000;
  opacity: 0.85 !important;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=85)"; }

#colorbox {
  outline: 0;
  overflow: visible !important; }

.cboxIframe {
  background: #000; }

#cboxError {
  padding: 50px;
  border: 1px solid #ccc; }

#cboxLoadedContent {
  padding: 28px 0; }

#cboxTitle {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  color: #000;
  font-size: 18px; }

#cboxLoadingOverlay {
  background-color: #000; }

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none; }

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0; }

#cboxClose {
  position: absolute;
  width: 28px;
  height: 27px;
  font-size: 0;
  right: 0;
  top: -20px;
  background: url(../img/btn_x.png) no-repeat left top; }
  #cboxClose:hover {
    background-position: left bottom; }

/* Main
----------------------------------------*/
body {
  background-color: #000; }

#wrap {
  background-size: cover;
  min-width: 1100px;
  color: #fff;
  background-color: rgba(31, 22, 20, 0.4);
  transition: background-color .3s ease; }
  #wrap.is-introduction {
    background-color: #000; }
  #wrap:before {
    content: url(../img/barcode.png);
    position: fixed;
    top: -2px;
    left: 27px;
    z-index: 1; }

.container {
  min-height: 960px;
  position: relative; }

.container--top {
  height: 100vh;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }

.left-container {
  padding-left: 105px; position: relative;  }
  .left-container .logo {
    margin-bottom: 58px; }
  .left-container .release-catch {
    margin-bottom: 103px; }
  .btn_radio { position: absolute; top: 0; left: 540px; border:1px solid #fff; }
  .btn_present { margin: 24px auto 60px; }

.bottom-content {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-align-items: flex-end;
      -ms-flex-align: end;
          align-items: flex-end;
  /*height: 144px;*/ }

.movie-content { margin: 0 24px 4px 0; /*width: 640px;*/}
  .movie-content li{ display: inline-block; }
  .movie-content h3{ margin-bottom: 4px; font-size: 12px; font-weight: normal; line-height: 1.2em; }
  .movie-l li a {
    display: block;
    position: relative;
    width: 260px;
    height: 146px;
    overflow: hidden;
    border: solid 1px #fff;
    background-color: #fff; }
  .movie-s li a {
    display: block;
    position: relative;
    width: 171px;
    height: 96px;
    overflow: hidden;
    border: solid 1px #fff;
    background-color: #fff; }
    
    
    .movie-content a:hover > img {
      opacity: .8;
      -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; }
    .movie-content a:after {
      content: url(../img/icon_play.png);
      width: 65px;
      height: 65px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto; }

.movie-thumbnail {
  width: 100%;
  height: auto; }

.btn:hover, .btn_present:hover {
  opacity: 0.6;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)"; }

.share-links {
  margin-top: 16px; }
  .share-links > a {
    display: block;
    float: left; }
    .share-links > a + a {
      margin-left: 12px; }

.icon {
  display: inline-block; }

.icon--facebook:before {
  content: url(../img/btn_fb.png); }

.icon--twitter:before {
  content: url(../img/btn_tw.png); }

.right-container {
  position: absolute;
  top: 27px;
  bottom: 0;
  margin: 0;
  right: 60px; }

.products, .comments-content, .footer {
  width: 960px;
  margin: 0 auto; }

.product {
  width: 50%;
  float: left;
  padding-right: 130px;
  margin-bottom: 130px;  }

/*.product--soundtrack .product-description {
  margin-bottom: 130px; }*/

.product-name { height: 100px;}
.product-name-box { height: 40px;}
 .product-img img{ display: block; margin: 0 auto 16px; }

.product-description {
  font-size: 14px;
  margin-bottom: 30px; }

.content-title {
  font-size: 12px; }

.include-items {
  font-size: 12px;
  margin-bottom: 58px; }

.include-item {
  padding-left: 1em;
  text-indent: -1em;
  margin-right: 1em; }

.btn-buy {
  display: block;
  margin-bottom: 47px; }
.btn-tokuten {
  display: block;
  margin-top: -25px !important; }
  
.product--soundtrack,.product--tshirt { clear: both; }

.product-serial {
  font-size: 12px; }

.comments-content {
  padding-right: 380px; }

.comments__caption {
  margin-bottom: 48px; }

.comment {
  margin-bottom: 63px; }

.comment__person {
  margin-bottom: 27px; }

.comments__source {
  margin-bottom: 90px; font-size: 12px; }

.footer {
  margin-top: 84px;
  padding-bottom: 98px; }
  .footer .logo {
    margin-bottom: 16px; }

.copyright {
  font-size: 10px; }

.lazy-show {
  visibility: hidden; }

.is-introduction {
  overflow: hidden;
  height: 100vh; }
  
/* GDN */
iframe[name="google_conversion_frame"] { position: absolute; height: 0;}