@charset "UTF-8";
@keyframes marquee {
  0% {
    left: 0;
  }
  100% {
    left: calc(-117.5%);
  }
}
@keyframes marquee2 {
  0% {
    right: 0;
  }
  100% {
    right: calc(-117.5%);
  }
}
@keyframes swingit {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(0deg);
  }
  50.1% {
    transform: rotate(10deg);
  }
  100% {
    transform: rotate(10deg);
  }
}
@keyframes stamp {
  0% {
    transform: scale(0);
    opacity: 0;
  }
  20% {
    opacity: 1;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
  80% {
    transform: scale(0.95);
    opacity: 1;
  }
  90% {
    transform: scale(1.05);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes blink-slide {
  0% {
    background-position: 0px 0px;
    opacity: 1;
  }
  50% {
    background-position: 640px 20px;
    opacity: 0.3;
  }
  100% {
    background-position: 1280px 0px;
    opacity: 1;
  }
}
/*======================================================== */
/*  NORMALIZE */
/*======================================================== */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}

audio:not([controls]) {
  display: none;
}

[hidden] {
  display: none;
}

html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

html,
button,
input,
select,
textarea {
  font-family: sans-serif;
}

body {
  margin: 0;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

h2 {
  font-size: 1.5em;
  margin: 0.83em 0;
}

h3 {
  font-size: 1.17em;
  margin: 1em 0;
}

h4 {
  font-size: 1em;
  margin: 1.33em 0;
}

h5 {
  font-size: 0.83em;
  margin: 1.67em 0;
}

h6 {
  font-size: 0.75em;
  margin: 2.33em 0;
}

abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

p,
pre {
  margin: 1em 0;
}

pre,
code,
kbd,
samp {
  font-family: monospace, serif;
  _font-family: "courier new", monospace;
  font-size: 1em;
}

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

q {
  quotes: none;
}

q:before,
q:after {
  content: "";
  content: none;
}

small {
  font-size: 75%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

dl,
menu,
ol,
ul {
  margin: 1em 0;
}

dd {
  margin: 0 0 0 40px;
}

menu,
ol,
ul {
  padding: 0 0 0 40px;
}

nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
}

img {
  border: 0;
  -ms-interpolation-mode: bicubic;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 0;
}

form {
  margin: 0;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
  white-space: normal;
  *margin-left: -7px;
}

button,
input,
select,
textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

button,
input {
  line-height: normal;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

button[disabled],
input[disabled] {
  cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  *height: 13px;
  *width: 13px;
}

input[type="search"] {
  -webkit-appearance: textfield;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

html, body, 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-size: 100%;
  list-style: none;
  font-weight: normal;
  font-style: normal;
}

html, body {
  margin: 0;
  padding: 0;
}

/*======================================================== */
/*  TAG RESET */
/*======================================================== */
html, body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", "Osaka", "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  font-size: 14px;
  color: #000;
  width: 100%;
  min-height: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: bold;
}

a {
  color: #00f;
  text-decoration: none;
  outline: none !important;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

strong {
  font-weight: bold;
}

/*======================================================== */
html {
  overflow: auto;
}

body {
  overflow: hidden;
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/*======================================================== */
/*  GLOBAL CLASS  STYLES */
/*  場所にかかわらず使えるスタイルで、基本的に変更すべきではない */
/*======================================================== */
.ci {
  text-align: center;
}
.ci > img {
  display: inline-block;
}

.ab {
  position: absolute;
}

.debug {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #F00;
}

body.display-boxline * {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #00F;
}

.clearfix:after {
  content: "";
  clear: both;
  display: block;
}

.site-wrapper .debug-sheet {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000000;
  opacity: 0.5;
  display: none;
  overflow-x: hidden;
}
.site-wrapper .debug-sheet img {
  max-width: none;
  position: relative;
  top: 0;
  left: 50%;
  margin-left: -640px;
}

div#cboxOverlay {
  background-color: rgba(255, 255, 255, 0.85);
  opacity: 1;
}

button#cboxClose {
  background: url(../images/modal_close.png) no-repeat;
  width: 53px;
  height: 53px;
  top: -77px;
}

#colorbox {
  top: auto !important;
  left: auto !important;
  bottom: 50% !important;
  right: 50% !important;
  transform: translate(50%, 50%) !important;
  overflow: visible !important;
  max-width: 100%;
  max-height: 100%;
}

#cboxPrevious, #cboxNext {
  position: absolute;
  top: 50%;
  width: 29px;
  height: 48px;
  cursor: pointer;
  text-decoration: none;
  background: transparent url("blank.gif");
  -webkit-tap-highlight-color: transparent;
  z-index: 8040;
}

#cboxPrevious {
  left: -40px;
  background: url(../images/modal_arrow_prev.png) no-repeat;
}

#cboxNext {
  right: -40px;
  background: url(../images/modal_arrow_next.png) no-repeat;
}

body.fixed {
  width: 100%;
  position: fixed;
  top: auto;
  overflow: hidden;
  z-index: 1;
}
body .site-wrapper {
  position: relative;
}
body .site-wrapper header#left-content {
  position: fixed;
  width: 208px;
  height: 100vh;
  /*menuのスクロール */
}
body .site-wrapper header#left-content .logo {
  margin-bottom: 20px;
  padding-top: 25px;
  text-align: center;
}
body .site-wrapper header#left-content .logo a {
  display: inline-block;
}
body .site-wrapper header#left-content .logo a img {
  opacity: 1;
  transition: all 0.3s;
}
body .site-wrapper header#left-content .logo a img:hover {
  opacity: 0.8;
}
body .site-wrapper header#left-content .left-scroller {
  height: calc(100vh - 125px);
}
body .site-wrapper header#left-content .left-scroller .left-menu {
  min-height: 640px;
}
body .site-wrapper header#left-content .left-scroller .left-menu .menu-list {
  margin-bottom: 40px;
}
body .site-wrapper header#left-content .left-scroller .left-menu .menu-list li {
  margin-bottom: 12px;
}
body .site-wrapper header#left-content .left-scroller .left-menu .tw {
  margin-bottom: 45px;
  text-align: center;
}
body .site-wrapper header#left-content .left-scroller .left-menu .tw a {
  display: inline-block;
}
body .site-wrapper header#left-content .left-scroller .left-menu .sns dt {
  margin-bottom: 5px;
}
body .site-wrapper header#left-content .left-scroller .left-menu .sns dd > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
body .site-wrapper header#left-content .left-scroller .left-menu .sns dd > ul li {
  margin-left: 10px;
}
body .site-wrapper header#left-content .left-scroller .left-menu .sns dd > ul li:first-child {
  margin-left: 0;
}
body .site-wrapper header#left-content .left-scroller .mCSB_scrollTools {
  width: 10px;
}
body .site-wrapper header#left-content .left-scroller .mCSB_scrollTools .mCSB_dragger_bar {
  width: 4px;
}
body .site-wrapper header#left-content #mCSB_2_container {
  margin-right: 0px;
}
body .site-wrapper #right-content {
  width: calc(100% - 208px);
  margin-left: 208px;
  overflow-x: auto;
  /*横スクロール */
}
body .site-wrapper #right-content #mCSB_1 #mCSB_1_container {
  margin-bottom: 0 !important;
}
body .site-wrapper #right-content #right-content-inner {
  position: relative;
  min-width: 780px;
  min-height: 100vh;
  padding-bottom: 246px;
}
body .site-wrapper #right-content #right-content-inner #main-container {
  background-color: #fafafa;
}
body .site-wrapper #right-content #right-content-inner .right-footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 246px;
  padding-top: 80px;
  background-color: #e7e7e7;
  font-size: 12px;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap {
  position: absolute;
  top: calc((-20 / 1072) * (100vw - 208px));
  width: 100%;
  height: calc((40 / 1072) * (100vw - 208px));
  min-height: 29px;
  overflow: hidden;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .wave-slide {
  position: absolute;
  width: calc((2520 / 1072) * (100vw - 208px));
  height: calc((40 / 1072) * (100vw - 208px));
  min-width: 1833px;
  min-height: 29px;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .wave-slide .wave {
  position: relative;
  width: 100%;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .wave-slide .wave img {
  width: 100%;
  min-width: 1833px;
  min-height: 29px;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .slide1 {
  animation-name: marquee;
  animation-duration: 16s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .slide1 .wave {
  z-index: 3;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .slide2 {
  animation-name: marquee;
  animation-duration: 32s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .slide2 .wave {
  z-index: 2;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .slide3 {
  animation-name: marquee;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body .site-wrapper #right-content #right-content-inner .right-footer .wave-wrap .slide3 .wave {
  z-index: 1;
}
body .site-wrapper #right-content #right-content-inner .right-footer .footer-menu {
  text-align: center;
  margin-bottom: 30px;
}
body .site-wrapper #right-content #right-content-inner .right-footer .footer-menu li {
  display: inline-block;
  font-size: 13px;
}
body .site-wrapper #right-content #right-content-inner .right-footer .footer-menu li:first-child {
  margin-right: 30px;
}
body .site-wrapper #right-content #right-content-inner .right-footer .footer-menu li a {
  color: #f65f99;
  text-decoration: underline;
}
body .site-wrapper #right-content #right-content-inner .right-footer .txt {
  font-size: 13px;
  margin-bottom: 20px;
  text-align: center;
  color: #3e3e3e;
}
body .site-wrapper #right-content #right-content-inner .right-footer .copyright {
  text-align: center;
  color: #3e3e3e;
}
body .site-wrapper #right-content #right-content-inner .right-footer .btn-totop {
  display: none;
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 100;
}
body .site-wrapper #right-content #right-content-inner .right-footer .btn-totop a {
  position: relative;
  z-index: 1;
}

/*======================================================== */
/*  PAGE  STYLES */
/*======================================================== */
/* HOME */
body#page-home #main-container .kv {
  position: relative;
  min-height: 1032px;
  margin-bottom: 60px;
  overflow: hidden;
}
body#page-home #main-container .kv .kv-img {
  background-image: url(../images/top_kv.png?29dfa65c);
  background-repeat: no-repeat;
  background-position: top center;
  background-color: transparent;
  background-size: auto 100%;
  height: 100%;
}
body#page-home #main-container .kv .kv-txt {
  position: absolute;
  top: 21px;
  left: 21px;
}
body#page-home #main-container .kv .kv-date {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-home #main-container .kv .catch {
  top: 258px;
  right: 38px;
}
body#page-home #main-container .kv .ttl-area {
  width: 100%;
  bottom: 70px;
  right: 50%;
  transform: translate(50%, 0);
}
body#page-home #main-container .kv .ttl-area .kv-ttl {
  margin-bottom: 12px;
}
body#page-home #main-container .kv .ttl-area .kv-cyp {
  margin-bottom: 20px;
}
body#page-home #main-container .kv .wave-wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: calc((40 / 1072) * (100vw - 208px));
  min-height: 29px;
  overflow: hidden;
}
body#page-home #main-container .kv .wave-wrap .wave-slide {
  position: absolute;
  width: calc((2520 / 1072) * (100vw - 208px));
  height: calc((40 / 1072) * (100vw - 208px));
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .kv .wave-wrap .wave-slide .wave {
  position: relative;
  width: 100%;
}
body#page-home #main-container .kv .wave-wrap .wave-slide .wave img {
  width: 100%;
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .kv .wave-wrap .slide1 {
  animation-name: marquee;
  animation-duration: 16s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .kv .wave-wrap .slide1 .wave {
  z-index: 3;
}
body#page-home #main-container .kv .wave-wrap .slide2 {
  animation-name: marquee;
  animation-duration: 32s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .kv .wave-wrap .slide2 .wave {
  z-index: 2;
}
body#page-home #main-container .kv .wave-wrap .slide3 {
  animation-name: marquee;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .kv .wave-wrap .slide3 .wave {
  z-index: 1;
}
body#page-home #main-container .yt-sec {
  position: relative;
  margin-bottom: 70px;
}
body#page-home #main-container .yt-sec .hidden-yt {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
}
body#page-home #main-container .yt-sec .yt {
  width: 564px;
  height: 325px;
  margin: 0 auto;
  background-color: #fff;
  font-size: 0;
  border: 4px solid #fff;
  border-radius: 4px;
}
body#page-home #main-container .yt-sec .yt a {
  position: relative;
  display: inline-block;
  opacity: 1;
  transition: all 0.3s;
}
body#page-home #main-container .yt-sec .yt a:hover {
  opacity: 0.8;
}
body#page-home #main-container .yt-sec .yt a:after {
  display: block;
  content: "";
  width: 129px;
  height: 129px;
  position: absolute;
  top: 90px;
  right: 210px;
  background-image: url(../images/yt_obj_l.png?0dfa4521);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 128px 129px;
}
body#page-home #main-container .news-sec {
  position: relative;
  padding-bottom: 135px;
}
body#page-home #main-container .news-sec .wave-wrap {
  position: absolute;
  bottom: 0;
  width: 100%;
  height: calc((40 / 1072) * (100vw - 208px));
  min-height: 29px;
  overflow: hidden;
}
body#page-home #main-container .news-sec .wave-wrap .wave-slide {
  position: absolute;
  width: calc((2520 / 1072) * (100vw - 208px));
  height: calc((40 / 1072) * (100vw - 208px));
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .news-sec .wave-wrap .wave-slide .wave {
  position: relative;
  width: 100%;
}
body#page-home #main-container .news-sec .wave-wrap .wave-slide .wave img {
  width: 100%;
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .news-sec .wave-wrap .slide1 {
  animation-name: marquee2;
  animation-duration: 16s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .news-sec .wave-wrap .slide1 .wave {
  z-index: 3;
}
body#page-home #main-container .news-sec .wave-wrap .slide2 {
  animation-name: marquee2;
  animation-duration: 32s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .news-sec .wave-wrap .slide2 .wave {
  z-index: 2;
}
body#page-home #main-container .news-sec .wave-wrap .slide3 {
  animation-name: marquee2;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .news-sec .wave-wrap .slide3 .wave {
  z-index: 1;
}
body#page-home #main-container .news-sec .ttl {
  margin-bottom: 20px;
}
body#page-home #main-container .news-sec .news-list {
  margin: 0 auto -10px;
  padding: 25px 0 45px;
  width: 778px;
  background-color: #fff;
  border-radius: 10px;
}
body#page-home #main-container .news-sec .news-list li a {
  display: flex;
  margin: 0 70px;
  padding: 23px 0;
  border-bottom: 1px solid #f5f5f5;
  transition: all 0.3s;
}
body#page-home #main-container .news-sec .news-list li a:hover {
  background-color: #f5f5f5;
}
body#page-home #main-container .news-sec .news-list li a .date {
  width: 20%;
  padding-left: 15px;
  color: #2c94e4;
  font-weight: bold;
  word-break: break-word;
}
body#page-home #main-container .news-sec .news-list li a .desc {
  width: 80%;
  margin-left: 20px;
  color: #333333;
  transition: all 0.3s;
  word-break: break-word;
}
body#page-home #main-container .news-sec .more {
  position: relative;
  text-align: center;
  font-size: 0;
}
body#page-home #main-container .news-sec .more a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-home #main-container .news-sec .more a:hover {
  opacity: 0.8;
}
body#page-home #main-container .tw-sec {
  position: relative;
  padding: 100px 0 95px;
  background-color: #e1f2ff;
}
body#page-home #main-container .tw-sec .wave-wrap {
  position: absolute;
  bottom: calc((-40 / 1072) * (100vw - 208px));
  width: 100%;
  height: calc((40 / 1072) * (100vw - 208px));
  min-height: 29px;
  overflow: hidden;
}
body#page-home #main-container .tw-sec .wave-wrap .wave-slide {
  position: absolute;
  width: calc((2520 / 1072) * (100vw - 208px));
  height: calc((40 / 1072) * (100vw - 208px));
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .tw-sec .wave-wrap .wave-slide .wave {
  position: relative;
  width: 100%;
}
body#page-home #main-container .tw-sec .wave-wrap .wave-slide .wave img {
  width: 100%;
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .tw-sec .wave-wrap .slide1 {
  animation-name: marquee;
  animation-duration: 16s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .tw-sec .wave-wrap .slide1 .wave {
  z-index: 3;
}
body#page-home #main-container .tw-sec .wave-wrap .slide2 {
  animation-name: marquee;
  animation-duration: 32s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .tw-sec .wave-wrap .slide2 .wave {
  z-index: 2;
}
body#page-home #main-container .tw-sec .wave-wrap .slide3 {
  animation-name: marquee;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .tw-sec .wave-wrap .slide3 .wave {
  z-index: 1;
}
body#page-home #main-container .tw-sec .ttl {
  margin-bottom: 15px;
}
body#page-home #main-container .tw-sec .twitter-wrap {
  position: relative;
  margin: 0 auto -10px;
  padding: 35px 10px 25px 20px;
  width: 778px;
  height: 300px;
  background-color: #fff;
  border-radius: 10px;
}
body#page-home #main-container .tw-sec .twitter-wrap #twitter-widget-holder {
  height: 240px;
  overflow-y: auto;
}
body#page-home #main-container .tw-sec .twitter-wrap #twitter-widget-holder .timeline-Tweet-text {
  font-size: 20px !important;
  line-height: 30px !important;
}
body#page-home #main-container .tw-sec .twitter-wrap #twitter-widget-holder .mCS-light-3.mCSB_scrollTools .mCSB_draggerRail {
  background: #e9e9e9;
  width: 6px;
}
body#page-home #main-container .tw-sec .twitter-wrap #twitter-widget-holder .mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: #359ceb;
  width: 6px;
}
body#page-home #main-container .tw-sec .more {
  position: relative;
  text-align: center;
  font-size: 0;
}
body#page-home #main-container .tw-sec .more a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-home #main-container .tw-sec .more a:hover {
  opacity: 0.8;
}
body#page-home #main-container .movie-sec {
  position: relative;
  margin-bottom: -27px;
}
body#page-home #main-container .movie-sec .movie video {
  opacity: 0.5;
  width: 100%;
}
body#page-home #main-container .banner-sec {
  position: relative;
  padding: 113px 0 95px;
  background-color: #fafafa;
}
body#page-home #main-container .banner-sec .wave-wrap {
  position: absolute;
  top: calc((-20 / 1072) * (100vw - 208px));
  width: 100%;
  height: calc((40 / 1072) * (100vw - 208px));
  min-height: 29px;
  overflow: hidden;
}
body#page-home #main-container .banner-sec .wave-wrap .wave-slide {
  position: absolute;
  width: calc((2520 / 1072) * (100vw - 208px));
  height: calc((40 / 1072) * (100vw - 208px));
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .banner-sec .wave-wrap .wave-slide .wave {
  position: relative;
  width: 100%;
}
body#page-home #main-container .banner-sec .wave-wrap .wave-slide .wave img {
  width: 100%;
  min-width: 1833px;
  min-height: 29px;
}
body#page-home #main-container .banner-sec .wave-wrap .slide1 {
  animation-name: marquee2;
  animation-duration: 16s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .banner-sec .wave-wrap .slide1 .wave {
  z-index: 3;
}
body#page-home #main-container .banner-sec .wave-wrap .slide2 {
  animation-name: marquee2;
  animation-duration: 32s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .banner-sec .wave-wrap .slide2 .wave {
  z-index: 2;
}
body#page-home #main-container .banner-sec .wave-wrap .slide3 {
  animation-name: marquee2;
  animation-duration: 20s;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  animation-direction: noraml;
  animation-fill-mode: forwards;
}
body#page-home #main-container .banner-sec .wave-wrap .slide3 .wave {
  z-index: 1;
}
body#page-home #main-container .banner-sec .season2-bnr {
  width: 556px;
  margin: 0 auto;
  padding-bottom: 20px;
}
body#page-home #main-container .banner-sec .banner-list {
  width: 556px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
body#page-home #main-container .banner-sec .banner-list li {
  margin: 0 0 15px 20px;
}
body#page-home #main-container .banner-sec .banner-list li a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-home #main-container .banner-sec .banner-list li a:hover {
  opacity: 0.8;
}
body#page-home #main-container .banner-sec .banner-list li:nth-child(2n-1) {
  margin-left: 0;
}

/* news-index */
body#page-news-index #main-container {
  background-image: url(../images/news_bg.png?14d52d77);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 120px;
}
body#page-news-index #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-news-index #main-container .news-list {
  width: 780px;
  padding-top: 205px;
  margin: 0 auto 70px;
}
body#page-news-index #main-container .news-list li a {
  position: relative;
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 23px 20px;
  border-bottom: 1px solid #c5c5c5;
  transition: all 0.3s;
}
body#page-news-index #main-container .news-list li a:hover {
  background-color: #f5f5f5;
}
body#page-news-index #main-container .news-list li a:hover:after {
  display: block;
  content: "";
  width: 10px;
  height: 12px;
  position: absolute;
  top: 44%;
  right: 20px;
  background-image: url(../images/news_hover-arrow.png?d024c510);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 10px 12px;
}
body#page-news-index #main-container .news-list li a .date {
  margin-bottom: 5px;
  font-size: 14px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-news-index #main-container .news-list li a .desc {
  width: 97%;
  font-size: 16px;
  color: #333333;
}
body#page-news-index #main-container .more {
  position: relative;
  padding-bottom: 115px;
  text-align: center;
  font-size: 0;
}
body#page-news-index #main-container .more a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-news-index #main-container .more a:hover {
  opacity: 0.8;
}

/* news-detail */
body#page-news-detail #main-container {
  background-image: url(../images/news_bg.png?14d52d77);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
}
body#page-news-detail #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-news-detail #main-container .detail {
  width: 780px;
  padding: 230px 0 0;
  margin: 0 auto 70px;
}
body#page-news-detail #main-container .detail .detail-ttl {
  padding-bottom: 25px;
  margin-bottom: 43px;
  border-bottom: 1px solid #c5c5c5;
}
body#page-news-detail #main-container .detail .detail-ttl .date {
  margin-bottom: 5px;
  font-size: 14px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-news-detail #main-container .detail .detail-ttl .name {
  font-size: 24px;
  color: #333333;
}
body#page-news-detail #main-container .detail .news-body {
  margin-bottom: 80px;
}
body#page-news-detail #main-container .detail .news-body p {
  font-size: 16px;
  margin-bottom: 18px;
}
body#page-news-detail #main-container .detail .news-body p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-news-detail #main-container .detail .news-body a {
  color: #f55291;
  text-decoration: underline;
}
body#page-news-detail #main-container .detail .news-body .detail-img {
  margin-bottom: 90px;
}
body#page-news-detail #main-container .detail .news-body img {
  display: inline-block;
}
body#page-news-detail #main-container .btns {
  position: relative;
  width: 780px;
  margin: 0 auto;
  padding-bottom: 95px;
  font-size: 0;
  text-align: center;
}
body#page-news-detail #main-container .btns li {
  display: inline-block;
}
body#page-news-detail #main-container .btns li.arrow-prev {
  position: absolute;
  top: 0;
  left: 0px;
}
body#page-news-detail #main-container .btns li.arrow-next {
  position: absolute;
  top: 0;
  right: 0px;
}
body#page-news-detail #main-container .btns li a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-news-detail #main-container .btns li a:hover {
  opacity: 0.8;
}

/* movie */
body#page-movie #main-container {
  background-image: url(../images/movie_bg.png?0f60be5d);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 75px;
}
body#page-movie #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-movie #main-container section {
  width: 866px;
  margin: 0 auto 15px;
}
body#page-movie #main-container section:nth-of-type(1) {
  padding-top: 225px;
}
body#page-movie #main-container section .subttl {
  margin-bottom: 20px;
}
body#page-movie #main-container section .list {
  display: flex;
  flex-wrap: wrap;
}
body#page-movie #main-container section .list li {
  margin-left: 10px;
  margin-bottom: 30px;
}
body#page-movie #main-container section .list li:nth-child(3n+1) {
  margin-left: 0;
}
body#page-movie #main-container section .list li figure {
  margin-bottom: 10px;
  border: 4px solid #fff;
  border-radius: 4px;
  font-size: 0;
}
body#page-movie #main-container section .list li figure a {
  position: relative;
  display: inline-block;
  transition: all 0.3s;
}
body#page-movie #main-container section .list li figure a:hover {
  opacity: 0.8;
}
body#page-movie #main-container section .list li figure a:after {
  display: block;
  content: "";
  width: 64px;
  height: 64px;
  position: absolute;
  top: 46px;
  right: 105px;
  background-image: url(../images/yt_obj.png?b585320b);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 64px 64px;
}
body#page-movie #main-container section .list li .name {
  font-size: 16px;
  color: #555555;
  line-height: 20px;
}

/* character */
body#page-character #main-container {
  background-image: url(../images/char_bg.png?a9a6c631);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 160px;
}
body#page-character #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-character #main-container .list {
  display: flex;
  width: 840px;
  margin: 0 auto;
  flex-wrap: wrap;
  align-items: flex-end;
}
body#page-character #main-container .list li {
  margin-left: 17px;
}
body#page-character #main-container .list li:first-child {
  margin-left: 0;
}
body#page-character #main-container .list li figure {
  margin-bottom: 10px;
  font-size: 0;
}
body#page-character #main-container .list li figure a {
  position: relative;
  display: inline-block;
  outline: none;
}
body#page-character #main-container .list li figure a img {
  position: relative;
  top: 0;
  transition: all 0.3s;
}
body#page-character #main-container .list li figure a:hover img {
  top: -15px;
}
body#page-character #main-container .list li .name {
  font-size: 16px;
  font-weight: bold;
  color: #2c94e4;
  line-height: 20px;
  text-align: center;
  text-shadow: 0px 0px 5px #fff;
}
body#page-character #main-container .main-list {
  padding-top: 190px;
}
body#page-character #main-container .sub-list li {
  margin-left: 13px;
}
body#page-character #main-container .sub-list li:nth-child(5n+1) {
  margin-left: 0;
}
body#page-character button#cboxClose {
  top: 0;
}

/* onair */
body#page-onair #main-container {
  background-image: url(../images/onair_bg.png?f70a12c4);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 125px;
}
body#page-onair #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-onair #main-container .main-txt {
  padding-top: 225px;
  margin-bottom: 77px;
}
body#page-onair #main-container .main-txt img {
  position: relative;
  left: -5px;
}
body#page-onair #main-container section {
  width: 700px;
  margin: 0 auto 15px;
}
body#page-onair #main-container section .subttl {
  margin-bottom: 20px;
}
body#page-onair #main-container section .list li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0 38px;
  font-size: 18px;
  line-height: 45px;
  color: #333333;
  border-bottom: 1px solid #dfdfdf;
}
body#page-onair #main-container section .list li .name a {
  color: #f55190;
  transition: all 0.3s;
}
body#page-onair #main-container section .list li .name a:hover {
  color: #f8adca;
}
body#page-onair #main-container section .list li .date {
  text-align: left;
}
body#page-onair #main-container section .reair-list.list li {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 12px 38px;
  font-size: 18px;
  line-height: 24px;
  color: #333333;
  border-bottom: 1px solid #dfdfdf;
}
body#page-onair #main-container section .reair-list.list li:last-child {
  border-bottom: none;
}
body#page-onair #main-container section .reair-list.list li .small {
  font-size: 12px;
}
body#page-onair #main-container section .reair-list.list li .name a {
  color: #f55190;
  transition: all 0.3s;
}
body#page-onair #main-container section .reair-list.list li .name a:hover {
  color: #f8adca;
}
body#page-onair #main-container section .reair-list.list li .date {
  width: 520px;
  text-align: left;
}
body#page-onair #main-container section .reair-list.list li .single {
  margin-left: 100px;
  text-align: left;
}
body#page-onair #main-container .reair-sec {
  padding-top: 225px;
  margin-bottom: 95px;
}
body#page-onair #main-container .onair-sec {
  margin-bottom: 95px;
}

/* staff */
body#page-staffcast #main-container {
  background-image: url(../images/staff_bg.png?f7d9385c);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 110px;
}
body#page-staffcast #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-staffcast #main-container section {
  width: 780px;
  margin: 0 auto 15px;
}
body#page-staffcast #main-container section .subttl {
  margin-bottom: 35px;
}
body#page-staffcast #main-container section .list > li ul li {
  display: flex;
  padding-bottom: 12px;
  line-height: 28px;
}
body#page-staffcast #main-container section .list > li ul li .role {
  width: 50%;
  padding-right: 12px;
  font-size: 14px;
  font-weight: bold;
  color: #118dec;
  text-align: right;
  text-shadow: 0px 0px 5px #fff;
  word-break: break-word;
}
body#page-staffcast #main-container section .list > li ul li .name {
  max-width: calc(50% - 42px);
  padding-left: 5px;
  font-size: 20px;
  color: #333333;
  text-shadow: 0px 0px 5px #fff;
  word-break: break-word;
}
body#page-staffcast #main-container section .cast-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body#page-staffcast #main-container section .cast-list > li {
  width: 50%;
}
body#page-staffcast #main-container section .cast-list > li ul li .role {
  width: 39%;
}
body#page-staffcast #main-container section .cast-list > li ul li .name {
  max-width: calc(61% - 42px);
}
body#page-staffcast #main-container .staff-sec {
  padding-top: 245px;
  margin-bottom: 90px;
}
body#page-staffcast button#cboxClose {
  top: -65px;
}

/* introduction */
body#page-introduction #main-container {
  background-image: url(../images/intro_bg.png?d6880b45);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  margin-bottom: -75px;
}
body#page-introduction #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-introduction #main-container .main-txt {
  background-image: url(../images/intro_bg-footer.png?94b945af);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-color: transparent;
  background-size: 100% auto;
  padding-top: 260px;
}
@media (max-width: 988px) {
  body#page-introduction #main-container .main-txt {
    padding-bottom: 400px;
  }
}
@media (min-width: 989px) {
  body#page-introduction #main-container .main-txt {
    padding-bottom: calc((500 / 1072) * (100vw - 208px));
  }
}

/* story */
body#page-story #main-container {
  background-image: url(../images/story_bg.png?c2bc6b8e);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  margin-bottom: -75px;
}
body#page-story #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-story #main-container .story-num {
  width: 680px;
  margin: 0 auto 0;
  display: flex;
  flex-wrap: wrap;
  padding-top: 230px;
  margin-bottom: 34px;
}
body#page-story #main-container .story-num li {
  font-size: 20px;
  flex-basis: 7.6%;
}
body#page-story #main-container .story-num li a {
  color: #118dec;
}
body#page-story #main-container .story-num li:hover {
  text-decoration: underline;
}
body#page-story #main-container .story-num .active {
  color: #f55190;
}
body#page-story #main-container .story-sec {
  width: 840px;
  margin: 0 auto 0;
  padding-bottom: 200px;
}
body#page-story #main-container .story-sec .story-ttl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: -8px;
  font-size: 40px;
  color: #118dec;
}
body#page-story #main-container .story-sec .story-ttl > dt dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  line-height: normal;
}
body#page-story #main-container .story-sec .story-ttl > dt dl dt {
  margin-left: -5px;
}
body#page-story #main-container .story-sec .story-ttl > dt dl .num {
  margin-left: 5px;
  font-size: 78px;
}
body#page-story #main-container .story-sec .story-ttl > dd {
  flex-basis: 83%;
  margin: -5px 0 0 10px;
  font-size: 28px;
  line-height: 32px;
}
body#page-story #main-container .slide_images-wrap {
  margin-bottom: 80px;
}
body#page-story #main-container .slide_images-wrap .img-list .slick-dots {
  bottom: -37px;
  z-index: 2;
}
body#page-story #main-container .slide_images-wrap .img-list .slick-dots li {
  margin: 0;
}
body#page-story #main-container .slide_images-wrap .img-list .slick-dots li button:before {
  font-size: 30px;
  color: #118dec;
  opacity: 1;
}
body#page-story #main-container .slide_images-wrap .img-list .slick-dots .slick-active button:before {
  color: #f55190;
}
body#page-story #main-container .subttl {
  position: relative;
  padding-left: 1em;
  margin-bottom: 20px;
  font-size: 24px;
  color: #118dec;
}
body#page-story #main-container .subttl:after {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  top: 8px;
  left: 0px;
  background-image: url(../images/story_obj.png?8a3d87cd);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
}
body#page-story #main-container .txt {
  margin-bottom: 60px;
  font-size: 16px;
  line-height: 29px;
  color: #333333;
}
body#page-story #main-container .yt {
  text-align: center;
}
body#page-story #main-container .yt a {
  display: inline-block;
}

/* media-index */
body#page-media-index #main-container {
  background-image: url(../images/media_bg.png?14f70d2a);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 50px;
}
body#page-media-index #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-media-index #main-container .media-list {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  width: 866px;
  padding-top: 235px;
  margin: 0 auto;
}
body#page-media-index #main-container .media-list li {
  width: 270px;
  margin-left: 28px;
  margin-bottom: 50px;
}
body#page-media-index #main-container .media-list li:nth-child(3n+1) {
  margin-left: 0;
}
body#page-media-index #main-container .media-list li a {
  position: relative;
  display: inline-block;
}
body#page-media-index #main-container .media-list li a .thumb {
  margin-bottom: 15px;
}
body#page-media-index #main-container .media-list li a .thumb img {
  border: solid 1px #ddd;
}
body#page-media-index #main-container .media-list li a .desc-wrap {
  min-height: 120px;
}
body#page-media-index #main-container .media-list li a .desc-wrap .date {
  margin-bottom: 5px;
  font-size: 14px;
  line-height: 18px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-media-index #main-container .media-list li a .desc-wrap .desc {
  font-size: 20px;
  line-height: 24px;
  color: #555555;
}

/* media-detail */
body#page-media-detail #main-container {
  background-image: url(../images/media_bg.png?14f70d2a);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
}
body#page-media-detail #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-media-detail #main-container .detail {
  width: 866px;
  padding: 225px 0 70px;
  margin: 0 auto;
}
body#page-media-detail #main-container .detail .up-content {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 65px;
}
body#page-media-detail #main-container .detail .up-content .left-content {
  width: 400px;
  margin-bottom: 80px;
}
body#page-media-detail #main-container .detail .up-content .left-content figure {
  width: 340px;
  padding-top: 10px;
  margin-bottom: 30px;
}
body#page-media-detail #main-container .detail .up-content .left-content figure img {
  border: solid 1px #ddd;
}
body#page-media-detail #main-container .detail .up-content .left-content .btn-buy {
  text-align: center;
}
body#page-media-detail #main-container .detail .up-content .left-content .btn-buy a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 340px;
  height: 70px;
  border-radius: 40px;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background-color: #f55190;
  transition: all 0.3s;
}
body#page-media-detail #main-container .detail .up-content .left-content .btn-buy a:hover {
  background-color: #f8adca;
}
body#page-media-detail #main-container .detail .up-content .left-content .btn-buy a:after {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  right: 25px;
  bottom: 27px;
  background-image: url(../images/media_btn_arrow.png?4cf697d3);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
}
body#page-media-detail #main-container .detail .up-content .right-content {
  width: 466px;
}
body#page-media-detail #main-container .detail .up-content .right-content .name {
  margin-bottom: 25px;
  font-size: 26px;
  color: #555;
}
body#page-media-detail #main-container .detail .up-content .right-content .price {
  padding-left: 5px;
  margin-bottom: 25px;
  font-size: 18px;
  line-height: 26px;
  color: #555;
}
body#page-media-detail #main-container .detail .up-content .right-content .info {
  padding-left: 5px;
  margin-bottom: 25px;
  font-size: 16px;
  line-height: 26px;
}
body#page-media-detail #main-container .detail .up-content .yt {
  margin: 0 auto 30px;
}
body#page-media-detail #main-container .detail .up-content .yt iframe {
  display: inline-block;
}
body#page-media-detail #main-container .detail .media-body {
  padding-top: 60px;
  margin-bottom: 80px;
  border-top: 4px dashed #f8bfd5;
}
body#page-media-detail #main-container .detail .media-body h2 {
  font-size: 20px;
  font-weight: bold;
}
body#page-media-detail #main-container .detail .media-body p {
  font-size: 16px;
  margin-bottom: 18px;
}
body#page-media-detail #main-container .detail .media-body p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-media-detail #main-container .detail .media-body a {
  color: #f55291;
  text-decoration: underline;
}
body#page-media-detail #main-container .detail .media-body .detail-img {
  margin-bottom: 90px;
}
body#page-media-detail #main-container .detail .media-body img {
  display: inline-block;
}
body#page-media-detail #main-container .detail .btn {
  text-align: center;
}
body#page-media-detail #main-container .detail .btn a {
  display: inline-block;
  opacity: 1;
  transition: all 0.3s;
}
body#page-media-detail #main-container .detail .btn a:hover {
  opacity: 0.8;
}

/* music-index */
body#page-music-index #main-container {
  background-image: url(../images/music_bg.png?5b07be1c);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 50px;
}
body#page-music-index #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-music-index #main-container .music-list {
  width: 866px;
  padding-top: 235px;
  margin: 0 auto;
}
body#page-music-index #main-container .music-list li {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 58px;
}
body#page-music-index #main-container .music-list li .thumb {
  margin-bottom: 15px;
  width: 320px;
}
body#page-music-index #main-container .music-list li .right-content {
  width: 510px;
  margin: -5px 0 0 30px;
  word-break: break-word;
}
body#page-music-index #main-container .music-list li .right-content .subttl {
  margin-bottom: 8px;
}
body#page-music-index #main-container .music-list li .right-content .desc {
  margin-bottom: 10px;
  font-size: 20px;
  line-height: 24px;
  color: #555555;
}
body#page-music-index #main-container .music-list li .right-content .date {
  margin-bottom: 12px;
  font-size: 18px;
  line-height: 18px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-music-index #main-container .music-list li .right-content .price {
  margin-bottom: 15px;
  font-size: 12px;
  color: #333333;
}
body#page-music-index #main-container .music-list li .right-content .btn {
  text-align: center;
}
body#page-music-index #main-container .music-list li .right-content .btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 222px;
  height: 45px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: bold;
  color: #fff;
  background-color: #f55190;
  transition: all 0.3s;
}
body#page-music-index #main-container .music-list li .right-content .btn a:hover {
  background-color: #f8adca;
}
body#page-music-index #main-container .music-list li .right-content .btn a:after {
  display: block;
  content: "";
  width: 9px;
  height: 10px;
  position: absolute;
  right: 14px;
  bottom: 18px;
  background-image: url(../images/music_btn_arrow.png?f4ef3bb6);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
}

/* music-detail */
body#page-music-detail #main-container {
  background-image: url(../images/music_bg.png?5b07be1c);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
}
body#page-music-detail #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-music-detail #main-container .detail {
  width: 866px;
  padding: 225px 0 70px;
  margin: 0 auto;
  word-break: break-word;
}
body#page-music-detail #main-container .detail .up-content {
  display: flex;
  flex-wrap: wrap;
  padding-bottom: 65px;
}
body#page-music-detail #main-container .detail .up-content .left-content {
  width: 400px;
  word-break: break-word;
}
body#page-music-detail #main-container .detail .up-content .left-content figure {
  padding-top: 10px;
  margin-bottom: 28px;
}
body#page-music-detail #main-container .detail .up-content .left-content .shop-wrap {
  margin-bottom: 40px;
}
body#page-music-detail #main-container .detail .up-content .left-content .shop-wrap .shop-ttl {
  margin-bottom: 10px;
}
body#page-music-detail #main-container .detail .up-content .left-content .shop-wrap .btn-buy {
  margin-bottom: 15px;
  text-align: center;
}
body#page-music-detail #main-container .detail .up-content .left-content .shop-wrap .btn-buy a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 340px;
  height: 40px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background-color: #f55190;
  transition: all 0.3s;
}
body#page-music-detail #main-container .detail .up-content .left-content .shop-wrap .btn-buy a:hover {
  background-color: #f8adca;
}
body#page-music-detail #main-container .detail .up-content .left-content .shop-wrap .btn-buy a:after {
  display: block;
  content: "";
  width: 16px;
  height: 16px;
  position: absolute;
  right: 15px;
  bottom: 9px;
  background-image: url(../images/music_btn_icon.png?348ec3d7);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
}
body#page-music-detail #main-container .detail .up-content .right-content {
  padding-top: 7px;
  width: 466px;
  word-break: break-word;
}
body#page-music-detail #main-container .detail .up-content .right-content .subttl {
  margin-bottom: 15px;
}
body#page-music-detail #main-container .detail .up-content .right-content .name {
  margin-bottom: 33px;
  font-size: 26px;
  line-height: 30px;
  color: #555;
}
body#page-music-detail #main-container .detail .up-content .right-content .date {
  padding-left: 5px;
  margin-bottom: 12px;
  font-size: 20px;
  line-height: 18px;
  color: #2c94e4;
}
body#page-music-detail #main-container .detail .up-content .right-content .price {
  padding-left: 7px;
  margin-bottom: 35px;
  font-size: 14px;
  line-height: 18px;
  color: #555;
}
body#page-music-detail #main-container .detail .up-content .right-content .info-ttl {
  padding-left: 6px;
  margin-bottom: 5px;
  font-size: 14px;
  font-weight: bold;
}
body#page-music-detail #main-container .detail .up-content .right-content .info {
  padding-left: 5px;
  margin-bottom: 80px;
  color: #555;
}
body#page-music-detail #main-container .detail .up-content .right-content .info dt {
  margin-bottom: 2px;
  font-size: 18px;
  font-weight: bold;
}
body#page-music-detail #main-container .detail .up-content .right-content .info dd {
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 18px;
}
body#page-music-detail #main-container .detail .up-content .yt {
  margin: 0 auto 30px;
}
body#page-music-detail #main-container .detail .up-content .yt iframe {
  display: inline-block;
}
body#page-music-detail #main-container .detail .music-body {
  padding-top: 60px;
  margin-bottom: 80px;
  border-top: 4px dashed #f8bfd5;
}
body#page-music-detail #main-container .detail .music-body p {
  font-size: 16px;
  margin-bottom: 18px;
}
body#page-music-detail #main-container .detail .music-body p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-music-detail #main-container .detail .music-body a {
  color: #f55291;
  text-decoration: underline;
}
body#page-music-detail #main-container .detail .music-body .detail-img {
  margin-bottom: 90px;
}
body#page-music-detail #main-container .detail .music-body img {
  display: inline-block;
}
body#page-music-detail #main-container .detail .btn {
  text-align: center;
}
body#page-music-detail #main-container .detail .btn a {
  display: inline-block;
  opacity: 1;
  transition: all 0.3s;
}
body#page-music-detail #main-container .detail .btn a:hover {
  opacity: 0.8;
}

/* event-index */
body#page-event-index #main-container {
  background-image: url(../images/event_bg.png?94e8d5bd);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 120px;
}
body#page-event-index #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-event-index #main-container ul.event-list {
  width: 780px;
  padding-top: 234px;
  margin: 0 auto 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
body#page-event-index #main-container ul.event-list li {
  width: 380px;
  min-height: 300px;
}
body#page-event-index #main-container ul.event-list li:nth-child(2n-1) {
  margin-right: 20px;
}
body#page-event-index #main-container ul.event-list li a {
  position: relative;
  display: block;
}
body#page-event-index #main-container ul.event-list li a:hover figure {
  opacity: 0.8;
}
body#page-event-index #main-container ul.event-list li a figure {
  transition: opacity 0.5s;
  margin-bottom: 10px;
}
body#page-event-index #main-container ul.event-list li a .title {
  font-size: 16px;
  color: #333333;
}
body#page-event-index #main-container ul.event-list li a .date {
  margin-bottom: 45px;
  font-size: 14px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-event-index #main-container .more {
  position: relative;
  padding-bottom: 115px;
  text-align: center;
  font-size: 0;
}
body#page-event-index #main-container .more a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-event-index #main-container .more a:hover {
  opacity: 0.8;
}

/* event-detail */
body#page-event-detail #main-container {
  background-image: url(../images/event_bg.png?94e8d5bd);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
}
body#page-event-detail #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-event-detail #main-container .detail {
  width: 780px;
  padding: 230px 0 0;
  margin: 0 auto 70px;
}
body#page-event-detail #main-container .detail .detail-ttl {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #c5c5c5;
}
body#page-event-detail #main-container .detail .detail-ttl .name {
  margin-bottom: 5px;
  font-size: 24px;
  color: #333333;
}
body#page-event-detail #main-container .detail .detail-ttl .date {
  font-size: 14px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-event-detail #main-container .detail .event-body {
  margin-bottom: 80px;
}
body#page-event-detail #main-container .detail .event-body p {
  font-size: 16px;
  margin-bottom: 18px;
}
body#page-event-detail #main-container .detail .event-body p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-event-detail #main-container .detail .event-body a {
  color: #f55291;
  text-decoration: underline;
}
body#page-event-detail #main-container .detail .event-body .detail-img {
  margin-bottom: 90px;
}
body#page-event-detail #main-container .detail .event-body img {
  display: inline-block;
}
body#page-event-detail #main-container .btns {
  position: relative;
  width: 780px;
  margin: 0 auto;
  padding-bottom: 95px;
  font-size: 0;
  text-align: center;
}
body#page-event-detail #main-container .btns li {
  display: inline-block;
}
body#page-event-detail #main-container .btns li.arrow-prev {
  position: absolute;
  top: 0;
  left: 0px;
}
body#page-event-detail #main-container .btns li.arrow-next {
  position: absolute;
  top: 0;
  right: 0px;
}
body#page-event-detail #main-container .btns li a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-event-detail #main-container .btns li a:hover {
  opacity: 0.8;
}

/* goods */
body#page-goods #main-container {
  background-image: url(../images/goods_bg.png?77f40e0f);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  margin-bottom: -75px;
}
body#page-goods #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-goods #main-container .category-selector {
  width: 866px;
  margin: 0 auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  padding-top: 230px;
  margin-bottom: 34px;
}
body#page-goods #main-container .category-selector li {
  margin-left: 20px;
  font-size: 20px;
}
body#page-goods #main-container .category-selector li a {
  color: #118dec;
}
body#page-goods #main-container .category-selector li:hover {
  text-decoration: underline;
}
body#page-goods #main-container .category-selector li:first-child {
  margin-left: 0;
}
body#page-goods #main-container .category-selector .active {
  color: #f55190;
}
body#page-goods #main-container .goods-sec {
  width: 866px;
  margin: 0 auto 0;
  padding-bottom: 200px;
}
body#page-goods #main-container .goods-sec ul {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
}
body#page-goods #main-container .goods-sec ul li {
  width: 270px;
  margin: 0 0 58px 25px;
  word-break: break-word;
}
body#page-goods #main-container .goods-sec ul li .thumb {
  margin-bottom: 22px;
}
body#page-goods #main-container .goods-sec ul li .thumb img {
  margin: 0 auto;
}
body#page-goods #main-container .goods-sec ul li .name {
  font-size: 14px;
  color: #555;
}
body#page-goods #main-container .goods-sec ul li:nth-child(3n+1) {
  margin-left: 0;
}
body#page-goods #modal-wrap {
  display: none;
}
body#page-goods .modal-detail {
  width: 100%;
  min-width: 840px;
  height: 510px;
  position: absolute;
}
body#page-goods .modal-detail .inner {
  display: flex;
  flex-wrap: wrap;
  width: 840px;
  height: 510px;
  padding: 60px 30px 60px 60px;
  margin: 0 auto;
  position: relative;
  background-color: #fff;
  border-radius: 20px;
}
body#page-goods .modal-detail .inner .left-content {
  position: relative;
  width: 430px;
  height: 390px;
  margin-left: 50px;
}
body#page-goods .modal-detail .inner .left-content .name {
  margin-bottom: 25px;
  font-size: 22px;
  line-height: 26px;
  font-weight: bold;
}
body#page-goods .modal-detail .inner .left-content .desc {
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 26px;
}
body#page-goods .modal-detail .inner .left-content .desc p {
  margin-bottom: 18px;
}
body#page-goods .modal-detail .inner .left-content .desc p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-goods .modal-detail .inner .left-content .desc a {
  color: #f55291;
  text-decoration: underline;
}
body#page-goods .modal-detail .inner .left-content .desc .detail-img {
  margin-bottom: 90px;
}
body#page-goods .modal-detail .inner .left-content .desc img {
  display: inline-block;
}
body#page-goods .modal-detail .inner .left-content .info {
  margin-bottom: 25px;
  font-size: 14px;
  line-height: 26px;
}
body#page-goods .modal-detail .inner .left-content .info p {
  font-size: 16px;
  margin-bottom: 18px;
}
body#page-goods .modal-detail .inner .left-content .info p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-goods .modal-detail .inner .left-content .info a {
  color: #f55291;
  text-decoration: underline;
}
body#page-goods .modal-detail .inner .left-content .info .detail-img {
  margin-bottom: 90px;
}
body#page-goods .modal-detail .inner .left-content .info img {
  display: inline-block;
}
body#page-goods .modal-detail .inner .left-content .mCS-light-3.mCSB_scrollTools .mCSB_draggerRail {
  background: #efefef;
  width: 6px;
}
body#page-goods .modal-detail .inner .left-content .mCS-light-3.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: #f574a6;
  width: 6px;
}
body#page-goods .close {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-goods .close .modal-close:hover {
  opacity: 0.7;
}
body#page-goods div#cboxOverlay {
  background-color: rgba(238, 238, 238, 0.85);
}

/* special-index */
body#page-special-index #main-container {
  background-image: url(../images/special_bg.png?9005dd5e);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
  padding-bottom: 120px;
}
body#page-special-index #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-special-index #main-container ul.special-list {
  width: 780px;
  padding-top: 234px;
  margin: 0 auto 70px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-wrap: wrap;
}
body#page-special-index #main-container ul.special-list li {
  width: 380px;
  min-height: 300px;
  word-break: break-word;
}
body#page-special-index #main-container ul.special-list li:nth-child(2n-1) {
  margin-right: 20px;
}
body#page-special-index #main-container ul.special-list li a {
  position: relative;
  display: block;
}
body#page-special-index #main-container ul.special-list li a:hover figure {
  opacity: 0.8;
}
body#page-special-index #main-container ul.special-list li a figure {
  transition: opacity 0.5s;
  margin-bottom: 10px;
}
body#page-special-index #main-container ul.special-list li a .title {
  font-size: 16px;
  color: #333333;
}
body#page-special-index #main-container ul.special-list li a .date {
  margin-bottom: 45px;
  font-size: 14px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-special-index #main-container .more {
  position: relative;
  padding-bottom: 115px;
  text-align: center;
  font-size: 0;
}
body#page-special-index #main-container .more a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-special-index #main-container .more a:hover {
  opacity: 0.8;
}

/* special-detail */
body#page-special-detail #main-container {
  background-image: url(../images/special_bg.png?9005dd5e);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
  min-height: calc(100vh - 246px);
}
body#page-special-detail #main-container .ttl {
  position: absolute;
  top: 0;
  right: 0;
}
body#page-special-detail #main-container .detail {
  width: 866px;
  padding: 230px 0 0;
  margin: 0 auto 70px;
  word-break: break-word;
}
body#page-special-detail #main-container .detail .detail-ttl {
  padding-bottom: 25px;
  margin-bottom: 25px;
  border-bottom: 1px solid #c5c5c5;
}
body#page-special-detail #main-container .detail .detail-ttl .name {
  margin-bottom: 5px;
  font-size: 24px;
  color: #333333;
}
body#page-special-detail #main-container .detail .detail-ttl .date {
  font-size: 14px;
  color: #2c94e4;
  font-weight: bold;
}
body#page-special-detail #main-container .detail .special-body {
  margin-bottom: 80px;
}
body#page-special-detail #main-container .detail .special-body p {
  font-size: 16px;
  margin-bottom: 18px;
}
body#page-special-detail #main-container .detail .special-body p span {
  color: #2c94e4;
  font-weight: bold;
}
body#page-special-detail #main-container .detail .special-body a {
  color: #f55291;
  text-decoration: underline;
}
body#page-special-detail #main-container .detail .special-body .detail-img {
  margin-bottom: 90px;
}
body#page-special-detail #main-container .detail .special-body img {
  display: inline-block;
}
body#page-special-detail #main-container .dl-area {
  width: 830px;
  margin: 0 auto 0;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  margin-bottom: 50px;
}
body#page-special-detail #main-container .dl-area li {
  width: 260px;
  margin: 0 0 50px 25px;
}
body#page-special-detail #main-container .dl-area li:nth-child(3n+1) {
  margin-left: 0;
}
body#page-special-detail #main-container .dl-area li .thumb {
  margin-bottom: 15px;
}
body#page-special-detail #main-container .dl-area li .thumb img {
  margin: 0 auto;
}
body#page-special-detail #main-container .dl-area li .dl {
  position: relative;
  width: 222px;
  margin: 0 auto;
  text-align: center;
  z-index: 2;
}
body#page-special-detail #main-container .dl-area li .dl a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 222px;
  height: 45px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: bold;
  color: #f55190;
  background-color: #fff;
  transition: all 0.3s;
  border: 4px solid #f55190;
  z-index: auto;
}
body#page-special-detail #main-container .dl-area li .dl a:hover {
  border: 4px solid #f8adca;
}
body#page-special-detail #main-container .dl-area li .dl a:before {
  display: block;
  content: "";
  width: 230px;
  height: 54px;
  position: absolute;
  right: -8px;
  bottom: -8px;
  background-color: #fff;
  border-radius: 25px;
  z-index: -1;
}
body#page-special-detail #main-container .dl-area li .dl a:after {
  display: block;
  content: "";
  width: 14px;
  height: 15px;
  position: absolute;
  right: 14px;
  bottom: 12px;
  background-image: url(../images/special_btn-dl.png?9019f47b);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 100% auto;
}
body#page-special-detail #main-container .btns {
  position: relative;
  width: 866px;
  margin: 0 auto;
  padding: 80px 0 95px;
  font-size: 0;
  text-align: center;
}
body#page-special-detail #main-container .btns li {
  display: inline-block;
}
body#page-special-detail #main-container .btns li.arrow-prev {
  position: absolute;
  top: 0;
  left: 0px;
}
body#page-special-detail #main-container .btns li.arrow-next {
  position: absolute;
  top: 0;
  right: 0px;
}
body#page-special-detail #main-container .btns li a {
  display: inline-block;
  transition: all 0.3s;
}
body#page-special-detail #main-container .btns li a:hover {
  opacity: 0.8;
}

/* opning animation */
body#page-home .loading-content {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: absolute;
  top: 0;
  left: 0;
}
body#page-home .loading-content.loaded {
  display: none;
}
body#page-home .loading-content .whitemat {
  position: fixed;
  width: 100vw;
  background: #fff;
  height: 100vh;
  z-index: 100000;
  top: 0;
  left: 0;
  opacity: 1;
}
body#page-home .loading-content .whitemat.over-catch {
  z-index: 100002;
}
body#page-home .loading-content .opening-visual {
  width: 100vw;
  height: 108%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/opening_visual.png?88cca854);
  background-repeat: no-repeat;
  background-position: center top;
  background-color: transparent;
  background-size: 1920px 1472px;
  background-size: cover;
}
body#page-home .loading-content .opening-visual.animate {
  animation: moveup 8s linear 0s forwards;
}
@keyframes moveup {
  0% {
    transform: translateY(0%);
  }
  100% {
    transform: translateY(-7%);
  }
}
body#page-home .loading-content .opening-catch {
  z-index: 100001;
  width: 100vw;
  height: 49.5%;
  position: absolute;
  top: 25%;
  left: 0;
}
body#page-home .loading-content .opening-catch .img-hider {
  overflow: hidden;
  height: 100%;
  opacity: 0;
}
body#page-home .loading-content .opening-catch .img-hider.animate {
  animation: fadeImgHider 2s linear 0.5s forwards;
}
@keyframes rollDown {
  0% {
    height: 0%;
  }
  26% {
    height: 33%;
  }
  61% {
    height: 33%;
  }
  100% {
    height: 100%;
  }
}
@keyframes fadeImgHider {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body#page-home .loading-content .opening-catch .img-hider > img {
  height: 49.5vh;
  width: auto;
  margin-left: auto;
  margin-right: auto;
}
body#page-home .site-wrapper {
  opacity: 0;
  overflow: hidden;
  height: 100vh;
  transition: opacity 1s linear;
}
body#page-home .site-wrapper.immidiately {
  transition: opacity 0s;
}
body#page-home .site-wrapper.immidiately #main-container .kv-img {
  transition: transform 0s;
}
body#page-home .site-wrapper.immidiately #main-container .catch {
  transition: opacity 0s;
}
body#page-home .site-wrapper.sitewrapper-isnot-immidiately {
  transition: opacity 1s linear !important;
}
body#page-home .site-wrapper.loaded {
  overflow: auto;
  height: 100%;
}
body#page-home .site-wrapper.displayed {
  opacity: 1;
}
body#page-home .site-wrapper.displayed #main-container .kv-img {
  transform: scale(1);
}
body#page-home .site-wrapper.displayed #main-container .catch {
  opacity: 1;
}
body#page-home .site-wrapper #main-container .kv-img {
  transform: scale(1.04);
  transition: transform 2.4s ease;
}
body#page-home .site-wrapper #main-container .catch {
  opacity: 0;
  transition: opacity 1s linear 2.4s;
}

/*# sourceMappingURL=common.css.map */
