@charset "utf-8";

body {
  background: url("../img/title_12/background/bg01.jpg")no-repeat center top fixed;
  background-size: cover;
}

.tbsp-bg {
  position: fixed;
  z-index: -1;
}

#bg0, #bg1, #bg2, #bg3, #bg4 {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: cover;
  z-index: -1;
}
#bg0 { background-image: url("../img/title_12/background/bg01.jpg"); }
#bg1 { background-image: url("../img/title_12/background/bg02.jpg"); }
#bg2 { background-image: url("../img/title_12/background/bg03.jpg"); }
#bg3 { background-image: url("../img/title_12/background/bg04.jpg"); }
#bg4 { background-image: url("../img/title_12/background/bg04.jpg"); }

main { background: url("../img/title_12/background/12_pattern_hs.png") repeat; }

main #play-after { top:32px;bottom:auto; }
main #play-after .gototitlelist         { top: 190px; }
main #play-after .gotorelatedpage       { background-position: 0 -320px; }
main #play-after .gotorelatedpage:hover { background-position: 0 -360px; }

main .player-frame p.anotation {
  margin: 20px 0 0 0;
  padding: 0;
  font-size: 14px;
  font-family: 'Roboto',"Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
  font-weight: normal;
  color: rgb(180,180,180);
  text-align: center;
}
main .player-frame p.anotation a { color:rgb(200,200,200);text-decoration: underline; }
main .player-frame p.anotation a:hover { color:rgb(254,0,0); }
main .player-frame p.anotation span.limited-open {
  display: block;
  margin: 0;
  font-size: 18px;
  color: rgb(255,255,255);
}

main > div > h2 {
  margin: 0 0 14px 0;
  padding: 0;
  font-size: 40px;
  font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
  font-weight: bold;
}
main .main-frame {
  width: 100%;
  margin: 62px auto 40px auto;
  padding: 0;
}
main .main-info {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
main .main-info .main-info-inner {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 0;
  width: 960px;
  height: 583px;
  vertical-align: middle;
}

main .main-info h2 {
  position: absolute;
  top: 1px;
  left: 30px;
  display: block;
  margin: 0;
  padding: 0;
  width: 420px;
  height: 198px;
  background: url("../img/title_12/12_title.png") no-repeat 0 0;
  background-size: 840px 198px;
  text-indent: -9999px;
}
main .main-info p {
  position: absolute;
  display: block;
  margin: 0;
  padding: 0;
  background: url("../img/title_12/12_text01.png") no-repeat 0 0;
  background-size: 680px 148px;
  text-indent: -9999px;
}
main .main-info p.name {
  top: 6px;
  right: 68px;
  width: 340px;
  height: 148px;
}
main .main-info p.info {
  top: 224px;
  left: 30px;
  width: 420px;
  height: 215px;
  background-image: url("../img/title_12/12_text02.png");
  background-size: 840px 215px;
}
main .main-info p.info-related {
  top: 528px;
  left: 38px;
  width: 820px;/*844-padding*/
  margin: 0;
  padding: 16px 12px;
  font-size: 14px;
  line-height: 1em;
  color: rgb(255,255,255);
  background: rgba(0,0,0,0.3);
  text-indent: 0;
  box-sizing: content-box;
}
main .main-info p.info-related:before,
main .main-info p.info-related:after {
  position: absolute;
  content: "";
  display: block;
  top: -9px;
  left: -8px;
  width: 860px;
  height: 4px;
  background: url("../img/title_12/12_text_frame.png") no-repeat 0 0;
  background-size: 860px 8px;
  opacity: 0.5;
}
main .main-info p.info-related:after { top:auto;bottom:-9px; }

main .main-info p.info-related a {
  color: rgb(255,255,255);
  text-decoration: underline;
}
main .main-info p.info-related a:hover { color:rgb(254,0,0); }

main .main-info .gotoniconico {
  position: absolute;
  top: 181px;
  right: 77px;
  display: block;
  margin: 0;
  padding: 0;
}
main .main-info .gotoniconico a {
  display: block;
  margin: 0;
  padding: 0;
  width: 293px;
  height: 282px;
  background: url("../img/title_12/12_gotoniconico.png") 0 0;
  background-size: 586px 564px;
  text-indent: -9999px;
  cursor: pointer;
}
main .main-info .gotoniconico a:hover { background-position:0 -282px; }

.carousel_05,
.carousel_03,
.carousel_04,
.carousel_01 {
  display: none; /* 最初に一覧で出さない */
}

main .design {
  position: relative;
  margin: 0 auto;
  padding: 80px 0 0 0;
  width: 100%;
}
main .design h2 {
  margin: 0 auto 24px auto;
  padding: 0;
  width: 1000px;
  height: 48px;
  background: url("../img/title_12/12_headlines.png") 0 0;
  background-size: 1000px 240px;
  text-indent: -9999px;
}
main .design .slick-prev,
main .design .slick-next {
  margin-top: 0;
  left: -65px;
  top: 282px;
  width: 56px;
  height: 140px;
  background: url("../img/title_12/12_carousel_arrow.png") 0 0;
  background-size: 112px 280px;
  text-indent: -9999px;
  transition: left 0.1s linear 0s;
  -webkit-transition: left 0.1s linear 0s;
}
main .design .slick-next       { background-position: -56px   0   ;left:auto;right:-65px;transition:right 0.1s linear 0s;-webkit-transition:right 0.1s linear 0s; }
main .design .slick-prev:hover { background-position:   0   -140px;left:-68px; }
main .design .slick-next:hover { background-position: -56px -140px;right:-68px; }


main .design .slick-slider {
  margin: 0 auto;
  width: 1000px;
}
main .design .slick-slider.carousel_05 {
  margin: 0 auto;
}
main .design .slick-slide {
  cursor: pointer;
}
main .design .slick-slide:hover {
  opacity: 0.7;
}
main .design .slick-slide img {
  max-width: 100%;
}

main .design p {
  margin: 12px 0;
  font-size: 13px;
  font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
  font-weight: normal;
}

main .model-sheet {
  position: relative;
  margin: 0 auto;
  padding: 120px 0 0 0;
  width: 100%;
}
main .model-sheet h2 {
  margin: 0 auto 24px auto;
  padding: 0;
  width: 1000px;
  height: 48px;
  background: url("../img/title_12/12_headlines.png") 0 -48px;
  background-size: 1000px 240px;
  text-indent: -9999px;
}
main .model-sheet .slick-prev,
main .model-sheet .slick-next {
  margin-top: 0;
  left: -65px;
  top: -352px;
  width: 56px;
  height: 140px;
  background: url("../img/title_12/12_carousel_arrow.png") 0 0;
  background-size: 112px 280px;
  text-indent: -9999px;
  transition: left 0.1s linear 0s;
  -webkit-transition: left 0.1s linear 0s;
}
main .model-sheet .slick-next       { background-position: -56px   0   ;left:auto;right:-65px;transition:right 0.1s linear 0s;-webkit-transition:right 0.1s linear 0s; }
main .model-sheet .slick-prev:hover { background-position:   0   -140px;left:-68px; }
main .model-sheet .slick-next:hover { background-position: -56px -140px;right:-68px; }

main .model-sheet .carousel_03 .slick-prev,
main .model-sheet .carousel_03 .slick-next {
  display: none !important;
}
main .model-sheet .slick-slider {
  margin: 0 auto;
  width: 1000px;
}
main .model-sheet .slick-slider.carousel_03 {
  margin: 0 auto;
}
main .model-sheet .slick-slide {
  cursor: pointer;
}
main .model-sheet .slick-slide:hover {
  opacity: 0.7;
}
main .model-sheet .slick-slide img {
  max-width: 100%;
}
main .model-sheet p {
  margin: 12px 0;
  font-size: 13px;
  font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
  font-weight: normal;
}

main .modeling {
  position: relative;
  margin: 0 auto;
  padding: 120px 0 0 0;
  width: 100%;
}
main .modeling h2 {
  margin: 0 auto 24px auto;
  padding: 0;
  width: 1000px;
  height: 48px;
  background: url("../img/title_12/12_headlines.png") 0 -96px;
  background-size: 1000px 240px;
  text-indent: -9999px;
}
main .modeling .slick-prev,
main .modeling .slick-next {
  margin-top: 0;
  left: -65px;
  top: 330px;
  width: 56px;
  height: 140px;
  background: url("../img/title_12/12_carousel_arrow.png") 0 0;
  background-size: 112px 280px;
  text-indent: -9999px;
  transition: left 0.1s linear 0s;
  -webkit-transition: left 0.1s linear 0s;
}
main .modeling .slick-next       { background-position: -56px   0   ;left:auto;right:-65px;transition:right 0.1s linear 0s;-webkit-transition:right 0.1s linear 0s; }
main .modeling .slick-prev:hover { background-position:   0   -140px;left:-68px; }
main .modeling .slick-next:hover { background-position: -56px -140px;right:-68px; }

main .modeling .slick-slider {
  margin: 0 auto;
  width: 800px;
}
main .modeling .slick-slide {
  cursor: pointer;
}
main .modeling .slick-slide:hover {
  opacity: 0.7;
}
main .modeling .slick-slide img {
  max-width: 100%;
}

main .modeling .slick-dots {
  display: table;
  font-size: 0;
  margin: 0;
  padding: 0;
  bottom: -40px;
}
main .modeling .slick-dots li {
  display: table-cell;
  margin: 0;
  padding: 0;
  width: auto;
  height: 20px;
  background: rgba(0,0,0,0.4);
  border: 1px solid rgba(255,255,255,0.6);
}
main .modeling .slick-dots li.slick-active {
  background: rgba(0,0,0,0.8);
  border: 1px solid rgba(255,255,255,0.9);
}
main .modeling .slick-dots li:hover {
  background: rgba(0,0,0,1);
  border: 1px solid rgba(255,255,255,1);
}
main .modeling .slick-dots li button {
  width: 100%;
  height: 20px;
}
main .modeling .slick-dots li button:before {
  display: none;
}

main .modeling .threesixty {
  margin: 102px auto 0 auto;
  width: 800px !important;
}
main .modeling .threesixty-control {
  position: relative;
  margin: 0 auto;
  padding: 18px 0 0 0;
  width: 800px;
  text-align: center;
}
main .modeling .threesixty-control a {
  display: inline-block;
  margin: 0 12px;
  padding: 0;
  width: 49px;
  height: 49px;
  background: url("../img/title_12/12_play_stop.png") no-repeat 0 0;
  background-size: 98px;
  text-indent: -9999px;
  cursor: pointer;
}
main .modeling .threesixty-control a.custom_play:hover { background-position: -49px   0  ; }
main .modeling .threesixty-control a.custom_stop       { background-position:   0   -49px; }
main .modeling .threesixty-control a.custom_stop:hover { background-position: -49px -49px; }

main .modeling .threesixty-control a.custom_previous,
main .modeling .threesixty-control a.custom_next {
  position: absolute;
  display: block;
  margin: 0;
  left: -65px;
  top: -328px;
  width: 56px;
  height: 140px;
  background: url("../img/title_12/12_carousel_arrow.png") 0 0;
  background-size: 112px 280px;
  text-indent: -9999px;
  transition: left 0.1s linear 0s;
  -webkit-transition: left 0.1s linear 0s;
}

main .modeling .threesixty-control a.custom_next           { background-position: -56px   0   ;left:auto;right:-65px;transition:right 0.1s linear 0s;-webkit-transition:right 0.1s linear 0s; }
main .modeling .threesixty-control a.custom_previous:hover { background-position:   0   -140px;left:-68px; }
main .modeling .threesixty-control a.custom_next:hover     { background-position: -56px -140px;right:-68px; }

main .modeling p {
  margin: 12px 0;
  font-size: 13px;
  font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
  font-weight: normal;
}

main .storyboard {
  position: relative;
  margin: 0 auto;
  padding: 120px 0 0 0;
  width: 100%;
}
main .storyboard h2 {
  margin: 0 auto 24px auto;
  padding: 0;
  width: 1000px;
  height: 48px;
  background: url("../img/title_12/12_headlines.png") 0 -144px;
  background-size: 1000px 240px;
  text-indent: -9999px;
}
main .storyboard .slick-prev,
main .storyboard .slick-next {
  margin-top: 0;
  left: -65px;
  top: -403px;
  width: 56px;
  height: 140px;
  background: url("../img/title_12/12_carousel_arrow.png") 0 0;
  background-size: 112px 280px;
  text-indent: -9999px;
  transition: left 0.1s linear 0s;
  -webkit-transition: left 0.1s linear 0s;
}
main .storyboard .slick-next       { background-position: -56px   0   ;left:auto;right:-65px;transition:right 0.1s linear 0s;-webkit-transition:right 0.1s linear 0s; }
main .storyboard .slick-prev:hover { background-position:   0   -140px;left:-68px; }
main .storyboard .slick-next:hover { background-position: -56px -140px;right:-68px; }

main .storyboard .carousel_01 .slick-prev,
main .storyboard .carousel_01 .slick-next {
  display: none !important;
}

main .storyboard .slick-slider {
  margin: 0 auto;
  width: 1000px;
}
main .storyboard .slick-slider.carousel_01 {
  margin: 0 auto;
}

main .storyboard .slick-slide {
  cursor: pointer;
}
main .storyboard .slick-slide:hover {
  opacity: 0.7;
}
main .storyboard .slick-slide img {
  max-width: 100%;
}
main .storyboard p {
  margin: 12px 0;
  font-size: 13px;
  font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W3,HiraKakuPro-W3,"ヒラギノ角ゴ ProN W3","ヒラギノ角ゴ Pro W3","メイリオ",Meiryo,"ＭＳ ゴシック",sans-serif;
  font-weight: normal;
}

main .staff {
  position: relative;
  margin: 120px auto 0 auto;
  padding: 20px 0 0 0;
  width: 100%;
}
main .staff h2 {
  margin: 0 auto 24px auto;
  padding: 0;
  width: 1000px;
  height: 48px;
  background: url("../img/title_12/12_headlines.png") 0 -192px;
  background-size: 1000px 240px;
  text-indent: -9999px;
}
.staff .content {
  position: relative;
  margin: 0 auto;
  padding: 32px 0;
  width: 1000px;
  font-family: "Yu Mincho",YuMincho,"游明朝体",HiraMinProN-W3,HiraMinPro-W3,"ヒラギノ明朝 ProN W3","ヒラギノ明朝 Pro W3","ＭＳ 明朝",serif;
  font-weight: normal;
  text-align: center;
  background: rgba(0,0,0,0.65);
  z-index: 11;
}

.staff .content dl {
  margin: 0;
  padding: 0;
}
.staff .content .mt0 {
  margin-top: 0 !important;
}

.staff .content dl dt.bold-g,
.staff .content dl dd.bold-g {
  font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W6,HiraKakuPro-W6,'ヒラギノ角ゴ ProN W6','ヒラギノ角ゴ Pro W6','メイリオ',Meiryo,'ＭＳ ゴシック',Arial,HelveticaNeue,Helvetica,'Lucida Grande',sans-serif;
  font-weight: bold !important;
}
.staff .content dl dt.bold-m,
.staff .content dl dd.bold-m {
  font-family: "Yu Mincho",YuMincho,"游明朝体",HiraMinProN-W6,HiraMinPro-W6,"ヒラギノ明朝 Pro W6","Hiragino Mincho Pro W6",'メイリオ',Meiryo,'ＭＳ ゴシック',Arial,HelveticaNeue,Helvetica,'Lucida Grande',serif;
  font-weight: bold !important;
}

.staff .content dl dt {
  margin: 22px 0 0 0;
  padding: 0;
  font-size: 14px;
  font-family: HiraMinProN-W6,HiraMinPro-W6,"ヒラギノ明朝 Pro W6","Hiragino Mincho Pro W6","Yu Mincho",YuMincho,"游明朝体",'メイリオ',Meiryo,'ＭＳ ゴシック',Arial,HelveticaNeue,Helvetica,'Lucida Grande',serif;
  font-weight: bold;
  line-height: 1.4em;
  color: rgb(255,255,255);
}
.staff .content dl dt:first-child { margin-top:0; }
.staff .content dl dd {
  margin: 0;
  padding: 0;
  font-size: 18px;
  font-family: "Yu Mincho",YuMincho,"游明朝体",HiraMinProN-W3,HiraMinPro-W3,"ヒラギノ明朝 ProN W3","ヒラギノ明朝 Pro W3","ＭＳ 明朝",serif;
  font-weight: normal;
  line-height: 1.6em;
  color: rgb(255,255,255);
}
.staff .content dl dd.company {
  margin-top: 22px;
  font-family: "Yu Mincho",YuMincho,"游明朝体",HiraMinProN-W6,HiraMinPro-W6,"ヒラギノ明朝 Pro W6","Hiragino Mincho Pro W6",'メイリオ',Meiryo,'ＭＳ ゴシック',Arial,HelveticaNeue,Helvetica,'Lucida Grande',serif;
  font-weight: bold;
}
.staff .content dl dt.only-en,
.staff .content dl dd.only-en { display:none; }

/** responsible breakpoint **/
@media (max-width: 1200px) {
  html,body { width:1200px; }
}

/** responsible breakpoint **/
@media (max-width: 640px) {
  html,body { width:auto; }
  #bg0, #bg1, #bg2, #bg3 { display:none !important; }

  main #play-after { top:24px; }

  main .player-frame p.anotation {
    padding: 0 12px;
    display: block;
    font-size: 13px;
    line-height: 1.4em;
  }
  main .player-frame p.anotation span.limited-open {
    font-size: 13px;
  }
  main .player-frame p.anotation.under {
    margin: 10px 0 0 0;
    font-size:15px;
  }

  main .main-frame {
    margin: 0 0 20px 0;
    width: 100%;
  }
  main .main-info .main-info-inner {
    width: 100%;
    height: auto;
    margin: 20px 0 0 0;
  }
  main .main-info h2 {
    position: relative;
    top: auto;
    left: auto;
    margin: 0 auto;
    width: 320px;
    height: 126px;
    background: url("../img/title_12/12_title_sp.png") no-repeat 0 0;
    background-size: 640px 126px;
  }
  main .main-info p {
    position: relative;
    top: auto !important;
    left: auto !important;
    right: auto !important;
  }
  main .main-info p.name {
    margin: 16px auto 0 auto;
    width: 320px;
    height: 148px;
    background: url("../img/title_12/12_text01_sp.png") no-repeat 0 0;
    background-size: 640px 148px;
  }
  main .main-info p.info {
    margin: 20px auto 0 auto;
    width: 320px;
    height: 266px;
    background: url("../img/title_12/12_text02_sp.png") no-repeat 0 0;
    background-size: 640px 266px;
  }
  main .main-info p.info-related {
    margin: 29px auto 0 auto;
    padding: 10px;
    width: 284px;/*304-padding*/
    font-size: 13px;
    line-height: 1.6em;

  }
  main .main-info p.info-related:before,
  main .main-info p.info-related:after {
    width: 320px;
    background-position: 0 -4px;
  }
  main .main-info .gotoniconico {
    position: relative;
    top: auto;
    right: auto;
    margin: 0 auto;
  }
  main .main-info .gotoniconico a       { margin: 32px auto 0 auto; }
  main .main-info .gotoniconico a:hover { background-position: 0 0; }

  main .design h2,
  main .model-sheet h2,
  main .modeling h2,
  main .storyboard h2,
  main .staff h2 {
    position: relative;
    left: auto;
    top: auto;
    margin: 0 12px;
    padding: 20px;
    width: auto;
    height: auto;
    font-size: 22px;
    font-family: "Yu Gothic",YuGothic,"游ゴシック体",HiraKakuProN-W6,HiraKakuPro-W6,'ヒラギノ角ゴ ProN W6','ヒラギノ角ゴ Pro W6','メイリオ',Meiryo,'ＭＳ ゴシック',Arial,HelveticaNeue,Helvetica,'Lucida Grande',sans-serif;
    font-weight: bold;
    line-height: 1.2em;
    background: rgba(0,0,0,0.4);
    border: 1px solid rgba(255,255,255,0.6);
    color: rgb(255,255,255);
    text-indent: 0;
    text-align: center;
  }
  main .design .slick-slider,
  main .model-sheet .slick-slider,
  main .modeling .slick-slider,
  main .storyboard .slick-slider {
    padding: 0 12px;
    width: 100%;
  }

  main .design,
  main .model-sheet,
  main .modeling,
  main .storyboard {
    padding-top: 32px;
  }

  main .modeling .slick-prev,
  main .modeling .slick-next,
  main .modeling .slick-dots {
    display: none !important;
  }

  main .modeling .threesixty-sp-box {
    padding: 0 12px;
  }
  main .modeling .threesixty {
    margin-top: 32px;
    width: 100% !important;
  }
  main .modeling .threesixty-control {
    display: none;
  }

  main .staff {
    margin: 0 auto;
    padding-top: 32px;
  }
  main .staff .content {
    padding: 0 12px;
    width: 100%;
    background: none;
  }
  main .staff .content dl {
    position: relative;
    margin: 0;
    width: 100%;
    padding: 24px 12px;
    background: rgba(0,0,0,0.4);
    z-index: 11;
  }
  main .staff .content dl dt {
    font-size: 13px;
    letter-spacing: -1px;
  }
  main .staff .content dl dt:first-child {
    margin-top: 0;
  }
  main .staff .content dl dd {
    font-size: 15px;
    letter-spacing: -1px;
  }

}