@charset "UTF-8";
/*
 * HTML5 ✰ Boilerplate
 *
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 *
 * Detailed information about this CSS: h5bp.com/css
 *
 * ==|== normalize ==========================================================
 */
/* =============================================================================
	 HTML5 display definitions
	 ========================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
  display: block;
}

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

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

[hidden] {
  display: none;
}

/* =============================================================================
	 Base
	 ========================================================================== */
/*
 * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units
 * 2. Force vertical scrollbar in non-IE
 * 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g
 */
html {
  font-size: 100%;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}

body {
  margin: 0;
  font-size: 100%;
  line-height: 1.231;
}

body, button, input, select, textarea {
  font-family: "Times New Roman", "游明朝", YuMincho, "Hiragino Mincho ProN", Meiryo, serif;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection declarations have to be separate
 * Also: hot pink! (or customize the background color to match your design)
 */
::-moz-selection {
  text-shadow: none;
  background-color: highlight;
  color: highlighttext;
}
::selection {
  text-shadow: none;
  background-color: highlight;
  color: highlighttext;
}

/* =============================================================================
	 Links
	 ========================================================================== */
a {
  color: #00e;
}

a:visited {
  color: #551a8b;
}

a:hover {
  color: #06e;
}

a:focus {
  outline: thin dotted;
}

/* Improve readability when focused and hovered in all browsers: h5bp.com/h */
a:hover, a:active {
  outline: 0;
}

/* =============================================================================
	 Typography
	 ========================================================================== */
abbr[title] {
  border-bottom: 1px dotted;
}

b, strong {
  font-weight: bold;
}

blockquote {
  margin: 1em 40px;
}

dfn {
  font-style: italic;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

ins {
  background: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background: #ff0;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

/* Redeclare monospace font family: h5bp.com/j */
pre, code, kbd, samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em;
}

/* Improve readability of pre-formatted text in all browsers */
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: 85%;
}

/* Position subscript and superscript content without affecting line-height: h5bp.com/k */
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* =============================================================================
	 Lists
	 ========================================================================== */
ul, ol {
  margin: 1em 0;
  padding: 0 0 0 40px;
}

dd {
  margin: 0 0 0 40px;
}

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

/* =============================================================================
	 Embedded content
	 ========================================================================== */
/*
 * 1. Improve image quality when scaled in IE7: h5bp.com/d
 * 2. Remove the gap between images and borders on image containers: h5bp.com/e
 */
img {
  border: 0;
  -ms-interpolation-mode: bicubic;
  vertical-align: middle;
}

/*
 * Correct overflow not hidden in IE9
 */
svg:not(:root) {
  overflow: hidden;
}

/* =============================================================================
	 Figures
	 ========================================================================== */
figure {
  margin: 0;
}

/* =============================================================================
	 Forms
	 ========================================================================== */
form {
  margin: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/* Indicate that 'label' will shift focus to the associated form element */
label {
  cursor: pointer;
}

/*
 * 1. Correct color not inheriting in IE6/7/8/9
 * 2. Correct alignment displayed oddly in IE6/7
 */
legend {
  border: 0;
  *margin-left: -7px;
  padding: 0;
}

/*
 * 1. Correct font-size not inheriting in all browsers
 * 2. Remove margins in FF3/4 S5 Chrome
 * 3. Define consistent vertical alignment display in all browsers
 */
button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle;
}

/*
 * 1. Define line-height as normal to match FF3/4 (set using !important in the UA stylesheet)
 */
button, input {
  line-height: normal;
}

/*
 * 1. Display hand cursor for clickable form elements
 * 2. Allow styling of clickable form elements in iOS
 * 3. Correct inner spacing displayed oddly in IE7 (doesn't effect IE6)
 */
button, input[type="button"], input[type="reset"], input[type="submit"] {
  cursor: pointer;
  -webkit-appearance: button;
  *overflow: visible;
}

/*
 * Consistent box sizing and appearance
 */
input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

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

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

/*
 * Remove inner padding and border in FF3/4: h5bp.com/l
 */
button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/*
 * 1. Remove default vertical scrollbar in IE6/7/8/9
 * 2. Allow only vertical resizing
 */
textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

/* Colors for form validity */
input:invalid, textarea:invalid {
  background-color: #f0dddd;
}

/* =============================================================================
	 Tables
	 ========================================================================== */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td {
  vertical-align: top;
}

/* ==|== primary styles =====================================================
	 Author:
	 ========================================================================== */
/* ==|== media queries ======================================================
	 PLACEHOLDER Media Queries for Responsive Design.
	 These override the primary ('mobile first') styles
	 Modify as content requires.
	 ========================================================================== */
@media only screen and (min-width: 480px) {
  /* Style adjustments for viewports 480px and over go here */
}

@media only screen and (min-width: 768px) {
  /* Style adjustments for viewports 768px and over go here */
}

/* ==|== non-semantic helper classes ========================================
	 Please define your styles before this section.
	 ========================================================================== */
/* For image replacement */
.ir {
  display: block;
  border: 0;
  text-indent: -999em;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  text-align: left;
  direction: ltr;
}

.ir br {
  display: none;
}

/* Hide from both screenreaders and browsers: h5bp.com/u */
.hidden {
  display: none !important;
  visibility: hidden;
}

/* Hide only visually, but have it available for screenreaders: h5bp.com/v */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: h5bp.com/p */
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/* Hide visually and from screenreaders, but maintain layout */
.invisible {
  visibility: hidden;
}

/* Contain floats: h5bp.com/q */
.clearfix:before, .clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

.clearfix {
  *zoom: 1;
}

/* ==|== print styles =======================================================
	 Print styles.
	 Inlined to avoid required HTTP connection: h5bp.com/r
	 ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -ms-filter: none !important;
  }
  /* Black prints faster: h5bp.com/s */
  a, a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {
    content: "";
  }
  /* Don't show links for images, or javascript/internal links */
  pre, blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  table {
    display: table-header-group;
  }
  /* h5bp.com/t */
  tr, img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }
  h2, h3 {
    page-break-after: avoid;
  }
}

/* reflow reset for -webkit-margin-before: 1em */
p {
  margin: 0;
}

html {
  overflow-y: auto;
  background-color: transparent;
  height: 100%;
}

body {
  background: #fff;
  font: normal 100%;
  position: relative;
  height: 100%;
}

body, div, img, p, button, input, select, textarea, a {
  box-sizing: border-box;
}

.image {
  display: block;
}

input {
  cursor: default;
  display: block;
}

input[type=button] {
  background-color: #e5e9e8;
  border: 1px solid #9daca9;
  border-radius: 4px;
  box-shadow: inset 0 1px #fff;
  font: inherit;
  letter-spacing: inherit;
  text-indent: inherit;
  color: inherit;
}

input[type=button]:hover {
  background-color: #eff1f1;
}

input[type=button]:active {
  background-color: #d2d6d6;
  border: 1px solid #9daca9;
  box-shadow: inset 0 1px rgba(0, 0, 0, 0.1);
}

/* Reset anchor styles to an unstyled default to be in parity with design surface. It
is presumed that most link styles in real-world designs are custom (non-default). */
/*
a, a:visited, a:hover, a:active {
	color: inherit;
	text-decoration: inherit;
}
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

ol, ul {
  list-style: none;
}

/*clearfix*/
/*hiding text*/
.clearfix {
  zoom: 1;
}

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

@font-face {
  font-family: "Yu Gothic";
  src: local("Yu Gothic Medium");
  font-weight: 400;
}

.yuGothic {
  font-family: "Yu Gothic", "Noto Sans Japanese", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

/* =======================================================================
base settings
========================================================================== */
body.pc {
  min-width: 1100px;
}

#wrapper {
  margin: -56px auto 0;
  position: relative;
  overflow: hidden;
  font-family: "Noto Sans Japanese", 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', 'メイリオ', 'Meiryo', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.page_comic #wrapper {
  margin-top: 0;
}

.nav_item {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.nav_item a {
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  position: relative;
}

.pc #wrapper {
  min-width: 1100px;
  width: 100%;
}

.pc #mainHeader,
.pc #mainFooter {
  position: relative;
  width: 100%;
  z-index: 1000;
}

.pc #mainHeader {
  background-color: #fff;
  min-height: 56px;
}

.pc.page_comic #mainHeader {
  display: none;
}

.pc .nav_container {
  border-top: 1px solid #e5e5e5;
  letter-spacing: 0;
  font-size: 0;
  line-height: 0;
  position: relative;
}

.pc .nav_container ul {
  position: relative;
  font-size: 0;
  margin: 0 auto;
  border-left: 1px solid #e5e5e5;
  border-right: 1px solid #e5e5e5;
}

.pc #logobox-header {
  width: 194px;
  height: 130px;
  background: url(/images/common/head_logo.png) 0 0 no-repeat;
  position: absolute;
  left: 0;
  top: 0;
}

.pc #logobox-header a {
  display: block;
  width: 100%;
  height: 120px;
}

.pc .nav_item {
  display: inline-block;
  width: 105px;
  height: 55px;
  background: url(/images/common/spr_gnav.png) 0 0 no-repeat;
  margin: 0;
  padding: 0;
}

.pc .nav_item.enabled a:before {
  width: 100%;
  content: '';
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  background: url(/images/common/spr_gnav.png) 0 0 no-repeat;
  height: 0;
  -webkit-transition: height 0.15s;
  transition: height 0.15s;
}

.pc .nav_item.enabled a:hover::before {
  height: 100%;
}

.pc .nav_item-system {
  width: 95px;
}

.pc .nav_item-comic,
.pc .nav_item-special {
  width: 110px;
}

.pc .nav_item-sns {
  width: 42px;
}

.pc .nav_container-header ul {
  width: 903px;
  position: relative;
  padding-left: 194px;
}

.pc .nav_container-header .nav_item-new {
  background-position: 0 0;
}

.pc .nav_container-header .nav_item-new a:before {
  background-position: 0 -55px;
}

.pc .nav_container-header .nav_item-new.new {
  background-position: 0 -110px;
}

.pc .nav_container-header .nav_item-new.new a:before {
  background-position: 0 -165px;
}

.pc .nav_container-header .nav_item-story {
  background-position: -105px 0;
}

.pc .nav_container-header .nav_item-story a:before {
  background-position: -105px -55px;
}

.pc .nav_container-header .nav_item-story.new {
  background-position: -105px -110px;
}

.pc .nav_container-header .nav_item-story.new a:before {
  background-position: -105px -165px;
}

.pc .nav_container-header .nav_item-chara {
  background-position: -210px 0;
}

.pc .nav_container-header .nav_item-chara a:before {
  background-position: -210px -55px;
}

.pc .nav_container-header .nav_item-chara.new {
  background-position: -210px -110px;
}

.pc .nav_container-header .nav_item-chara.new a:before {
  background-position: -210px -165px;
}

.pc .nav_container-header .nav_item-system {
  background-position: -315px 0;
}

.pc .nav_container-header .nav_item-system a:before {
  background-position: -315px -55px;
}

.pc .nav_container-header .nav_item-system.new {
  background-position: -315px -110px;
}

.pc .nav_container-header .nav_item-system.new a:before {
  background-position: -315px -165px;
}

.pc .nav_container-header .nav_item-gallery {
  background-position: -410px 0;
}

.pc .nav_container-header .nav_item-gallery a:before {
  background-position: -410px -55px;
}

.pc .nav_container-header .nav_item-gallery.new {
  background-position: -410px -110px;
}

.pc .nav_container-header .nav_item-gallery.new a:before {
  background-position: -410px -165px;
}

.pc .nav_container-header .nav_item-comic {
  background-position: -515px 0;
}

.pc .nav_container-header .nav_item-comic a:before {
  background-position: -515px -55px;
}

.pc .nav_container-header .nav_item-comic.new {
  background-position: -515px -110px;
}

.pc .nav_container-header .nav_item-comic.new a:before {
  background-position: -515px -165px;
}

.pc .nav_container-header .nav_item-special {
  background-position: -625px 0;
}

.pc .nav_container-header .nav_item-special a:before {
  background-position: -625px -55px;
}

.pc .nav_container-header .nav_item-special.disabled {
  background-position: -735px -110px;
}

.pc .nav_container-header .nav_item-special.new {
  background-position: -625px -110px;
}

.pc .nav_container-header .nav_item-special.new a:before {
  background-position: -625px -165px;
}

.pc .nav_container-header .nav_item-twtr {
  background-position: -735px 0;
}

.pc .nav_container-header .nav_item-twtr a:before {
  background-position: -735px -55px;
}

.pc .nav_container-header .nav_item-facebook {
  background-position: -777px 0;
}

.pc .nav_container-header .nav_item-facebook a:before {
  background-position: -777px -55px;
}

.pc .nav_container-header .nav_item-line {
  background-position: -819px 0;
}

.pc .nav_container-header .nav_item-line a:before {
  background-position: -819px -55px;
}

.pc .nav_container-header .nav_item-hatena {
  background-position: -861px 0;
}

.pc .nav_container-header .nav_item-hatena a:before {
  background-position: -861px -55px;
}

.pc .nav_container-footer {
  border-top: 1px solid #1b1b1b;
  border-bottom: 1px solid #1b1b1b;
}

.pc .nav_container-footer ul {
  position: relative;
  top: -1px;
  width: 903px;
  height: 53px;
  border-left: none;
  border-right-color: #1b1b1b;
}

.pc .nav_container-footer .nav_item {
  border-left-color: #1b1b1b;
}

.pc .nav_container-footer .nav_item-new {
  background-position: 0 -220px;
}

.pc .nav_container-footer .nav_item-new a:before {
  background-position: 0 -275px;
}

.pc .nav_container-footer .nav_item-new.new {
  background-position: 0 -330px;
}

.pc .nav_container-footer .nav_item-new.new a:before {
  background-position: 0 -385px;
}

.pc .nav_container-footer .nav_item-story {
  background-position: -105px -220px;
}

.pc .nav_container-footer .nav_item-story a:before {
  background-position: -105px -275px;
}

.pc .nav_container-footer .nav_item-story.new {
  background-position: -105px -330px;
}

.pc .nav_container-footer .nav_item-story.new a:before {
  background-position: -105px -385px;
}

.pc .nav_container-footer .nav_item-chara {
  background-position: -210px -220px;
}

.pc .nav_container-footer .nav_item-chara a:before {
  background-position: -210px -275px;
}

.pc .nav_container-footer .nav_item-chara.new {
  background-position: -210px -330px;
}

.pc .nav_container-footer .nav_item-chara.new a:before {
  background-position: -210px -385px;
}

.pc .nav_container-footer .nav_item-system {
  background-position: -315px -220px;
}

.pc .nav_container-footer .nav_item-system a:before {
  background-position: -315px -275px;
}

.pc .nav_container-footer .nav_item-system.new {
  background-position: -315px -330px;
}

.pc .nav_container-footer .nav_item-system.new a:before {
  background-position: -315px -385px;
}

.pc .nav_container-footer .nav_item-gallery {
  background-position: -410px -220px;
}

.pc .nav_container-footer .nav_item-gallery a:before {
  background-position: -410px -275px;
}

.pc .nav_container-footer .nav_item-gallery.new {
  background-position: -410px -330px;
}

.pc .nav_container-footer .nav_item-gallery.new a:before {
  background-position: -410px -385px;
}

.pc .nav_container-footer .nav_item-comic {
  background-position: -515px -220px;
}

.pc .nav_container-footer .nav_item-comic a:before {
  background-position: -515px -275px;
}

.pc .nav_container-footer .nav_item-comic.new {
  background-position: -515px -330px;
}

.pc .nav_container-footer .nav_item-comic.new a:before {
  background-position: -515px -385px;
}

.pc .nav_container-footer .nav_item-special {
  background-position: -625px -220px;
}

.pc .nav_container-footer .nav_item-special a:before {
  background-position: -625px -275px;
}

.pc .nav_container-footer .nav_item-special.disabled {
  background-position: -735px -330px;
}

.pc .nav_container-footer .nav_item-special.new {
  background-position: -625px -330px;
}

.pc .nav_container-footer .nav_item-special.new a:before {
  background-position: -625px -385px;
}

.pc .nav_container-footer .nav_item-twtr {
  background-position: -735px -220px;
}

.pc .nav_container-footer .nav_item-twtr a:before {
  background-position: -735px -275px;
}

.pc .nav_container-footer .nav_item-facebook {
  background-position: -777px -220px;
}

.pc .nav_container-footer .nav_item-facebook a:before {
  background-position: -777px -275px;
}

.pc .nav_container-footer .nav_item-line {
  background-position: -819px -220px;
}

.pc .nav_container-footer .nav_item-line a:before {
  background-position: -819px -275px;
}

.pc .nav_container-footer .nav_item-hatena {
  background-position: -861px -220px;
}

.pc .nav_container-footer .nav_item-hatena a:before {
  background-position: -861px -275px;
}

/* =======================================================================
footer
========================================================================== */
#logobox-footer {
  display: none;
}

.pc #mainFooter {
  background-color: #000;
  padding-bottom: 75px;
}

.pc #mainFooter .bnr_anime {
  zoom: 1;
  width: 620px;
  margin: 40px auto 0;
  padding-left: 3px;
}

.pc #mainFooter .bnr_anime:after {
  content: "";
  clear: both;
  display: block;
}

.pc #mainFooter .bnr_anime .bnr_anime-2 {
  margin-left: 26px;
}

.pc #mainFooter .bnr_anime .bnr_anime-3 {
  margin-left: 20px;
}

.pc #mainFooter .bnr_anime a {
  float: left;
  display: block;
  margin-left: 10px;
  width: 180px;
  height: 50px;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.pc #mainFooter .bnr_anime a:hover {
  opacity: 0.6;
}

.pc #mainFooter .bnr_anime a:first-child {
  width: 210px;
  margin-left: 0;
}

.pc #mainFooter .bnr_area {
  zoom: 1;
  width: 950px;
  margin: 40px auto 0;
  text-align: center;
}

.pc #mainFooter .bnr_area:after {
  content: "";
  clear: both;
  display: block;
}

.pc #mainFooter .bnr_area .banner {
  float: left;
  display: block;
  margin-left: 10px;
  width: 230px;
  height: 60px;
  border: 1px solid #444;
}

.pc #mainFooter .bnr_area .banner:first-child {
  margin-left: 0;
}

.pc #mainFooter .bnr_area a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.pc #mainFooter .bnr_area a:hover {
  opacity: 0.6;
}

.pc #mainFooter .ftr_text {
  text-align: center;
  margin-top: 30px;
  font-size: 10px;
  color: #606060;
  line-height: 2.1em;
}

.pc #mainFooter .ftr_text a {
  text-decoration: none;
  line-height: 2.1em;
  color: #606060;
}

.pc #mainFooter .ftr_text a:before {
  content: '▶';
}

.pc #mainFooter .ftr_text a:hover {
  text-decoration: underline;
}

.pc #mainFooter .ftr_text a + a {
  margin-left: 15px;
}

/* =======================================================================
hero
========================================================================== */
#sec_hero {
  background-color: #fff;
}

#sec_hero .main {
  position: relative;
  margin: 0 auto;
}

#sec_hero .lead {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  position: absolute;
}

.pc #sec_hero {
  margin-top: 56px;
  background: url(/images/top/hero/bg_hero.jpg) center top no-repeat;
  background-size: cover;
}

.pc #sec_hero .main {
  min-width: 1100px;
  max-width: 1100px;
  min-height: 530px;
  max-height: 800px;
}

.pc #sec_hero .lead {
  background: url(/images/top/hero/hero_lead.png) 0 0 no-repeat;
  width: 398px;
  height: 572px;
  left: -66px;
  top: -22px;
}

.pc #sec_hero .chara {
  position: absolute;
  background: url(/images/top/hero/hero_chara.png) 40% top no-repeat;
  width: 817px;
  height: 1025px;
  left: 32px;
  top: 7px;
}

.pc #sec_hero .addInfo {
  position: absolute;
  width: 322px;
  height: 677px;
  right: -60px;
  top: 0;
  background: url(/images/top/hero/hero_register.png) 0 0 no-repeat;
}

.pc #sec_hero .addInfo .btn_regist {
  position: absolute;
  top: 551px;
  left: 74px;
  width: 170px;
  height: 40px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background: url(/images/top/hero/hero_btn_register.png) 0 0 no-repeat;
}

.pc #sec_hero .addInfo .btn_regist:hover {
  background-position: 0 -40px;
}

.pc #sec_hero .addInfo .btn_regist.mail {
  background-position: 0 -80px;
  top: 600px;
}

.pc #sec_hero .addInfo .btn_regist.mail:hover {
  background-position: 0 -120px;
}

.pc #sec_hero .sec_hero_info {
  width: 1100px;
  height: 300px;
  margin: 0 auto;
  position: relative;
  z-index: 1000;
}

.sec_hero_info_item {
  background-color: #fff;
}

.sec_hero_info_item .header {
  zoom: 1;
  width: 100%;
}

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

.sec_hero_info_item .header h2 {
  float: left;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.sec_hero_info_item .header .link {
  float: right;
  display: block;
}

.pc .sec_hero_info_item {
  position: absolute;
  left: 0;
  top: 0;
  width: 542px;
  height: 300px;
  box-shadow: 3px 3px 4px rgba(0, 0, 0, 0.3);
  border-radius: 5px;
}

.pc .sec_hero_info_item .header {
  border-bottom: 1px solid #dadada;
  padding: 13px 15px 12px 20px;
  position: relative;
  height: 47px;
}

.pc .sec_hero_info_item .header h2, .pc .sec_hero_info_item .header .link {
  background: url(/images/top/hero/spr_sec_hero_info.png) no-repeat;
}

.pc .sec_hero_info_item .header h2 {
  width: 200px;
  height: 22px;
  position: absolute;
  left: 20px;
  top: 13px;
}

.pc .sec_hero_info_item .header .link {
  width: 20px;
  height: 22px;
  background-position: -200px 0;
  position: absolute;
  right: 15px;
  top: 13px;
}

.pc .sec_hero_info_item.info_twtr {
  left: 558px;
}

.pc .sec_hero_info_item.info_twtr .header h2 {
  background-position: 0 -22px;
}

.pc .sec_hero_info_item.info_twtr .header .link {
  background-position: -200px -22px;
}

.pc .sec_hero_info_item.info_twtr .header .link.btn_follow {
  width: 139px;
  height: 32px;
  background-position: -220px 0;
  right: 48px;
  top: 8px;
}

.pc .sec_hero_info_item.info_twtr iframe {
  height: 252px;
}

.pc .sec_hero_info_item .article {
  height: 245px;
  padding: 20px 29px 0 26px;
  overflow: scroll;
}

.pc .sec_hero_info_item .article-item {
  text-align: justify;
  padding-bottom: 8px;
  margin-bottom: 10px;
  border-bottom: 1px solid #dadada;
}

.pc .sec_hero_info_item .article-item:last-child {
  border: none;
  margin-bottom: 0;
}

.pc .sec_hero_info_item .article-item h3 a {
  font-weight: 500;
  color: #ff82ba;
  font-size: 15px;
  line-height: 1.5em;
  margin-bottom: 5px;
  text-decoration: none;
}

.pc .sec_hero_info_item .btn_more {
  display: none;
}

/* =======================================================================
intro
========================================================================== */
#sec_intro {
  position: relative;
}

#sec_intro .main {
  position: relative;
  margin: 0 auto;
}

#sec_intro .main #frame-content,
#sec_intro .main .frame-main {
  width: 100%;
  height: 100%;
}

#sec_intro .main .frame-main {
  cursor: pointer;
  position: absolute;
  left: 0;
  top: 0;
}

#sec_intro .lead,
#sec_intro .intro-text {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  position: absolute;
}

.pc #sec_intro {
  margin-top: -50px;
  height: 1270px;
  overflow: hidden;
  background: url(/images/top/intro/bg_intro.jpg) center top no-repeat;
}

.pc #sec_intro .main {
  width: 1100px;
}

.pc #sec_intro .main .frame-container {
  position: absolute;
  width: 479px;
  height: 297px;
  padding: 30px;
  left: 305px;
  top: 477px;
}

.pc #sec_intro .main .frame-main {
  background: url(/images/top/intro/frame_main.png) 0 0 no-repeat;
}

.pc #sec_intro .lead {
  width: 385px;
  height: 225px;
  background: url(/images/top/intro/intro-lead.png) center top no-repeat;
  left: 360px;
  top: 214px;
}

.pc #sec_intro .intro-text {
  width: 482px;
  height: 250px;
  background: url(/images/top/intro/intro-text.png) center top no-repeat;
  left: 306px;
  top: 815px;
}

.pc #sec_intro .frame_child_container {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}

.pc #sec_intro .frame_child {
  position: absolute;
  background: url(/images/top/intro/spr_frame_child.png) 0 0 no-repeat;
}

.pc #sec_intro .frame_child-01 {
  background-position: 0 -220px;
  width: 226px;
  height: 186px;
  left: 0px;
  top: 92px;
}

.pc #sec_intro .frame_child-02 {
  width: 264px;
  height: 219px;
  left: 184px;
  top: 0px;
}

.pc #sec_intro .frame_child-03 {
  background-position: 0 -700px;
  width: 250px;
  height: 206px;
  left: -13px;
  top: 533px;
}

.pc #sec_intro .frame_child-04 {
  background-position: 0 -410px;
  width: 322px;
  height: 284px;
  left: -177px;
  top: 317px;
}

.pc #sec_intro .frame_child-05 {
  background-position: -330px 0;
  width: 178px;
  height: 218px;
  left: 91px;
  top: 924px;
}

.pc #sec_intro .frame_child-06 {
  background-position: 0 -910px;
  width: 297px;
  height: 230px;
  left: -149px;
  top: 781px;
}

.pc #sec_intro .frame_child-07 {
  background-position: -330px -470px;
  width: 169px;
  height: 206px;
  left: 657px;
  top: 14px;
}

.pc #sec_intro .frame_child-08 {
  background-position: -330px -220px;
  width: 298px;
  height: 243px;
  left: 797px;
  top: 72px;
}

.pc #sec_intro .frame_child-09 {
  background-position: -330px -1090px;
  width: 263px;
  height: 232px;
  left: 988px;
  top: 353px;
}

.pc #sec_intro .frame_child-10 {
  background-position: 0 -1150px;
  width: 252px;
  height: 190px;
  left: 831px;
  top: 900px;
}

.pc #sec_intro .frame_child-11 {
  background-position: -330px -700px;
  width: 240px;
  height: 382px;
  left: 862px;
  top: 483px;
}

/* =======================================================================
character
========================================================================== */
#sec_character {
  position: relative;
}

#sec_character .bg .inner {
  margin: 0 auto;
  position: relative;
  height: 100%;
}

.pc #sec_character {
  background: #fff url(/images/top/character/bg_character.png) center top no-repeat;
  height: 1120px;
}

.pc #sec_character .clip {
  min-width: 100%;
  max-width: 2640px;
  height: 1260px;
  background: url(/images/top/character/mask.png) center bottom no-repeat;
  position: absolute;
  bottom: 0;
}

.pc #sec_character .bg .inner {
  width: 1100px;
}

.pc #sec_character .bg .inner .star {
  position: absolute;
  height: 180px;
  background: url(/images/top/character/spr_star.png) 0 bottom no-repeat;
  -webkit-transition: 0.8s 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: 0.8s 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.pc #sec_character .bg .inner .star.hide {
  height: 0;
}

.pc #sec_character .bg .inner .star-01 {
  width: 40px;
  left: 68px;
  top: 343px;
}

.pc #sec_character .bg .inner .star-02 {
  width: 20px;
  background-position: -40px bottom;
  left: 183px;
  top: 262px;
}

.pc #sec_character .bg .inner .star-03 {
  width: 30px;
  background-position: -60px bottom;
  left: 353px;
  top: 113px;
}

.pc #sec_character .bg .inner .star-04 {
  width: 20px;
  background-position: -90px bottom;
  left: 542px;
  top: 64px;
}

.pc #sec_character .bg .inner .star-05 {
  width: 30px;
  background-position: -110px bottom;
  left: 720px;
  top: 115px;
}

.pc #sec_character .bg .inner .star-06 {
  width: 20px;
  background-position: -140px bottom;
  left: 885px;
  top: 264px;
}

.pc #sec_character .bg .inner .star-07 {
  width: 40px;
  background-position: -160px bottom;
  left: 999px;
  top: 386px;
}

.pc #sec_character .bg .inner .curtain_left {
  width: 940px;
  height: 810px;
  background: url(/images/top/character/bg_curtain_left.png) 0 0 no-repeat;
  left: -456px;
  top: 136px;
  position: absolute;
}

.pc #sec_character .bg .inner .curtain_right {
  width: 890px;
  height: 810px;
  background: url(/images/top/character/bg_curtain_right.png) 0 0 no-repeat;
  position: absolute;
  left: 655px;
  top: 136px;
}

.pc #sec_character .curtain_top {
  position: relative;
  z-index: 1000;
  background: url(/images/top/character/bg_curtain_top.png) center top repeat-x;
  height: 200px;
}

.pc #sec_character .main {
  position: relative;
  width: 1100px;
  margin: -200px auto 0;
}

.pc #sec_character .lead {
  background: url(/images/top/character/character_lead.png) 0 0 no-repeat;
  width: 572px;
  height: 227px;
  margin: 0 auto;
  position: absolute;
  top: 289px;
  left: 265px;
  z-index: 1000;
}

.pc #sec_character .characters .character {
  position: absolute;
}

.pc #sec_character .characters .character-01 {
  width: 250px;
  height: 438px;
  background: url(/images/top/character/character-01.png) 0 0 no-repeat;
  left: -93px;
  top: 577px;
  z-index: 100;
}

.pc #sec_character .characters .character-02 {
  width: 202px;
  height: 416px;
  background: url(/images/top/character/character-02.png) 0 0 no-repeat;
  left: 112px;
  top: 592px;
  z-index: 200;
}

.pc #sec_character .characters .character-03 {
  width: 282px;
  height: 538px;
  background: url(/images/top/character/character-03.png) 0 0 no-repeat;
  left: 219px;
  top: 474px;
  z-index: 500;
}

.pc #sec_character .characters .character-04 {
  width: 249px;
  height: 436px;
  background: url(/images/top/character/character-04.png) 0 0 no-repeat;
  left: 424px;
  top: 583px;
  z-index: 700;
}

.pc #sec_character .characters .character-05 {
  width: 276px;
  height: 524px;
  background: url(/images/top/character/character-05.png) 0 0 no-repeat;
  left: 562px;
  top: 493px;
  z-index: 200;
}

.pc #sec_character .characters .character-06 {
  width: 272px;
  height: 514px;
  background: url(/images/top/character/character-06.png) 0 0 no-repeat;
  left: 746px;
  top: 501px;
  z-index: 100;
}

.pc #sec_character .characters .character-07 {
  width: 367px;
  height: 406px;
  background: url(/images/top/character/character-07.png) 0 0 no-repeat;
  left: 914px;
  top: 598px;
  z-index: 50;
}

/* =======================================================================
staff
========================================================================== */
#sec_staff .lead {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  position: relative;
}

.pc #sec_staff {
  background: #fff url(/images/top/staff/bg_staff.jpg) center top repeat-y;
  min-height: 2000px;
}

.pc #sec_staff .bg {
  position: relative;
  width: 1100px;
  margin: 0 auto;
}

.pc #sec_staff .drops {
  position: relative;
}

.pc #sec_staff .drops .drop {
  background: url(/images/top/staff/spr_drops.png) no-repeat;
  position: absolute;
  width: 60px;
  height: 100px;
}

.pc #sec_staff .drops .drop-tla1 {
  left: 369px;
  top: -7px;
  background-position: 0 0;
}

.pc #sec_staff .drops .drop-tla2 {
  left: 63px;
  top: 111px;
  background-position: -60px 0;
}

.pc #sec_staff .drops .drop-tla3 {
  left: 173px;
  top: 304px;
  background-position: -120px 0;
}

.pc #sec_staff .drops .drop-tla4 {
  left: -146px;
  top: 312px;
  background-position: -180px 0;
}

.pc #sec_staff .drops .drop-tlb1 {
  left: 54px;
  top: 484px;
  background-position: 0 -100px;
}

.pc #sec_staff .drops .drop-tlb2 {
  left: 242px;
  top: 802px;
  background-position: -60px -100px;
}

.pc #sec_staff .drops .drop-tlb3 {
  left: -236px;
  top: 932px;
  background-position: -120px -100px;
}

.pc #sec_staff .drops .drop-tlb4 {
  left: -11px;
  top: 681px;
  width: 110px;
  height: 170px;
  background-position: -240px 0;
}

.pc #sec_staff .drops .drop-tlb5 {
  width: 80px;
  height: 120px;
  left: -298px;
  top: 553px;
  background-position: -350px 0;
}

.pc #sec_staff .drops .drop-trb1 {
  left: 1233px;
  top: 495px;
  background-position: -180px -100px;
}

.pc #sec_staff .drops .drop-trb2 {
  left: 807px;
  top: 858px;
  background-position: 0 -200px;
}

.pc #sec_staff .drops .drop-trb3 {
  left: 1019px;
  top: 598px;
  background-position: -60px -200px;
}

.pc #sec_staff .drops .drop-trb4 {
  left: 1245px;
  top: 751px;
  background-position: -120px -200px;
}

.pc #sec_staff .drops .drop-trb5 {
  left: 1200px;
  top: 1056px;
  background-position: -180px -200px;
}

.pc #sec_staff .drops .drop-trb6 {
  width: 100px;
  height: 160px;
  left: 970px;
  top: 934px;
  background-position: -350px -140px;
}

.pc #sec_staff .drops .drop-tra1 {
  left: 100px;
  top: 1032px;
  background-position: 0 -300px;
}

.pc #sec_staff .drops .drop-tra2 {
  left: 780px;
  top: 58px;
  background-position: -60px -300px;
}

.pc #sec_staff .drops .drop-tra3 {
  left: 953px;
  top: 173px;
  background-position: -120px -300px;
}

.pc #sec_staff .drops .drop-tra4 {
  left: 841px;
  top: 368px;
  background-position: -180px -300px;
}

.pc #sec_staff .drops .drop-tra5 {
  left: 1014px;
  top: 282px;
  width: 110px;
  height: 160px;
  background-position: -240px -200px;
}

.pc #sec_staff .drops .drop-b1 {
  left: 525px;
  top: 1420px;
  background-position: 0 -400px;
}

.pc #sec_staff .drops .drop-b2 {
  left: 787px;
  top: 1366px;
  background-position: -60px -400px;
}

.pc #sec_staff .drops .drop-b3 {
  left: 877px;
  top: 1588px;
  background-position: -120px -400px;
}

.pc #sec_staff .drops .drop-b4 {
  left: 114px;
  top: 1491px;
  background-position: -180px -400px;
}

.pc #sec_staff .drops .drop-b5 {
  left: 299px;
  top: 1485px;
  background-position: -240px -400px;
}

.pc #sec_staff .drops .drop-b6 {
  left: 5px;
  top: 1249px;
  width: 80px;
  height: 120px;
  background-position: -350px -300px;
}

.pc #sec_staff .moon {
  background: url(/images/top/staff/moon.png) 0 0 no-repeat;
  width: 514px;
  height: 514px;
  position: absolute;
  left: 296px;
  top: 1547px;
}

.pc #sec_staff .main {
  width: 1100px;
  margin: 0 auto;
  position: relative;
  padding-top: 71px;
}

.pc #sec_staff .lead {
  background: url(/images/top/staff/staff_lead.png) 0 0 no-repeat;
  width: 389px;
  height: 217px;
  margin: 0 auto;
  left: 4px;
}

.pc #sec_staff .content {
  position: relative;
  min-height: 1200px;
  padding-top: 38px;
}

.pc #sec_staff .phonograph {
  width: 250px;
  height: 355px;
  left: 893px;
  top: 887px;
  position: absolute;
  background: url(/images/top/staff/phonograph.png) 0 0 no-repeat;
}

.pc #sec_staff .staff_text {
  width: 836px;
  height: 1024px;
  background: url(/images/top/staff/staff_text.png) 0 0 no-repeat;
  margin: 0 auto;
  position: relative;
  left: 22px;
}

/* =======================================================================
screen
========================================================================== */
#sec_screen .image {
  position: absolute;
  background: 0 0 no-repeat;
  background-size: 100%;
  -webkit-transition: opacity 0.4s;
  transition: opacity 0.4s;
}

#sec_screen .frame {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: 0 0 no-repeat;
}

#sec_screen .screen_frame .image {
  background-image: url(/images/top/screen/main_01.png);
}

#sec_screen .screen_childFrame-left .image {
  background-image: url(/images/top/screen/sub_01.jpg);
}

#sec_screen .screen_childFrame-right .image {
  background-image: url(/images/top/screen/sub_02.jpg);
}

.pc #sec_screen {
  background: #050505 url(/images/top/screen/bg_screen.jpg) center 70px repeat-y;
  min-height: 1230px;
  position: relative;
  margin-top: -44px;
}

.pc #sec_screen .bg_top {
  background: url(/images/top/screen/bg_screen_top.png) center top repeat-y;
  width: 100%;
  height: 300px;
  position: absolute;
  top: -230px;
  left: 0;
}

.pc #sec_screen .bg {
  position: relative;
}

.pc #sec_screen .main {
  width: 1100px;
  margin: 0 auto;
  position: relative;
  padding-top: 115px;
}

.pc #sec_screen .lead {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background: url(/images/top/screen/screen_lead.png) 0 0 no-repeat;
  width: 478px;
  height: 220px;
  margin: 0 auto;
  position: relative;
}

.pc #sec_screen .content {
  position: relative;
}

.pc #sec_screen .screen_frame,
.pc #sec_screen .screen_frame_shadow {
  position: absolute;
  left: 163px;
  top: -2px;
  width: 1375px;
  height: 940px;
  background: 0 0 no-repeat;
}

.pc #sec_screen .screen_frame {
  z-index: 900;
}

.pc #sec_screen .screen_frame .image {
  left: 115px;
  top: 94px;
  width: 550px;
  height: 313px;
}

.pc #sec_screen .screen_frame .frame {
  background-image: url(/images/top/screen/screen_frame.png);
}

.pc #sec_screen .screen_frame_shadow {
  background-image: url(/images/top/screen/screen_frame_shadow.png);
  z-index: 100;
}

.pc #sec_screen .screen_childFrame {
  position: absolute;
  z-index: 500;
  width: 360px;
  height: 230px;
}

.pc #sec_screen .screen_childFrame .image {
  left: 34px;
  top: 34px;
  width: 290px;
  height: 162px;
}

.pc #sec_screen .screen_childFrame .frame {
  background-image: url(/images/top/screen/screen_childFrame.png);
}

.pc #sec_screen .screen_childFrame-left {
  top: 478px;
  left: 187px;
}

.pc #sec_screen .screen_childFrame-right {
  top: 481px;
  left: 558px;
}

/* =======================================================================
pre_register
========================================================================== */
.pc .child #sec_pre_register {
  padding-bottom: 90px;
}

.pc .story #sec_pre_register {
  margin-top: -375px;
}

.pc #sec_pre_register {
  background: url(/images/pre_register/bg_pre_register.png) center top repeat-x;
  height: 325px;
  position: relative;
  margin: -25px 0 -40px;
  z-index: 1000;
}

.pc #sec_pre_register .main {
  background: url(/images/pre_register/bg_pre_register_content.png) center top no-repeat;
  min-width: 1100px;
  height: 384px;
  margin: 0 auto;
  position: relative;
  top: -111px;
}

.pc #sec_pre_register .content {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}

.pc #sec_pre_register .btn_regist {
  position: absolute;
  top: 267px;
  left: 756px;
  width: 281px;
  height: 46px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background: url(/images/pre_register/btn_register.png) 0 0 no-repeat;
}

.pc #sec_pre_register .btn_regist:hover {
  background-position: 0 -46px;
}

.pc #sec_pre_register .btn_regist.mail {
  background-position: 0 -92px;
  top: 318px;
}

.pc #sec_pre_register .btn_regist.mail:hover {
  background-position: 0 -138px;
}

/* =======================================================================
spec
========================================================================== */
.child #sec_spec {
  display: none;
}

.pc #sec_spec {
  background: #160606 url(/images/top/spec/bg_spec.jpg) center top repeat-y;
  height: 540px;
  position: relative;
  z-index: 0;
}

#sec_pre_register + .pc #sec_spec {
  margin-top: -20px;
}

.pc #sec_spec .main {
  width: 1100px;
  margin: 0 auto;
  position: relative;
}

.pc #sec_spec .logo {
  position: absolute;
  left: 130px;
  top: 97px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  width: 500px;
  height: 360px;
  background: url(/images/top/spec/spec_logo.png) center top no-repeat;
}

.pc #sec_spec .content {
  width: 340px;
  height: 220px;
  position: absolute;
  left: 641px;
  top: 168px;
  background: url(/images/top/spec/spec_text.png) center top no-repeat;
}

.pc #sec_spec .text {
  display: none;
}

.pc #sec_spec .chara {
  width: 290px;
  height: 240px;
  position: absolute;
  left: 20px;
  top: 146px;
  background: url(/images/top/spec/spec_chara.png) center top no-repeat;
}

/* =======================================================================
child contents
========================================================================== */
.bg_child {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

.bg_child .bg_child_main,
.bg_child .bg_story_main,
.bg_child .bg_comic_main,
.bg_child .bg_petal {
  width: 100%;
  height: 100%;
}

.bg_child .bg_petal {
  position: absolute;
  left: 0;
  top: 0;
}

main.child {
  position: relative;
}

.pageTitle {
  margin: 0 auto;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.pc .bg_child {
  min-width: 1100px;
}

.pc .bg_child .bg_child_main {
  min-width: 1100px;
  background: url(/images/common/bg_child.jpg) center top no-repeat;
  position: fixed;
}

.pc .bg_child .bg_story_main {
  background: url(/images/story/bg_story.jpg) center top no-repeat;
}

.pc .bg_child .bg_comic_main {
  background: #a8ebf5 url(/images/comic/bg_comic.png) center top repeat-x;
  position: fixed;
}

.pc .bg_child .bg_petal_front {
  background: url(/images/common/bg_petal_front.png) center top repeat;
}

.pc .bg_child .bg_petal_back {
  background: url(/images/common/bg_petal_back.png) center top repeat;
}

.pc main.child {
  padding-top: 134px;
}

.pc main.child .pageTitle {
  width: 300px;
  height: 20px;
  background: url(/images/common/spr_pageTitle.png) 0 0 no-repeat;
}

.pc main.child.news .pageTitle {
  background-position: 0 0;
}

.pc main.child.story .pageTitle {
  background-position: 0 -20px;
}

.pc main.child.character .pageTitle {
  background-position: 0 -40px;
}

.pc main.child.system .pageTitle {
  background-position: 0 -100px;
}

.pc main.child.gallery .pageTitle {
  background-position: 0 -60px;
}

.pc main.child.gallery .pageTitle.photo {
  background-position: 0 -80px;
}

.pc main.child.special .pageTitle {
  background-position: 0 -120px;
}

/* =======================================================================
news
========================================================================== */
#page_news {
  margin: 0 auto;
  zoom: 1;
}

#page_news:after {
  content: "";
  clear: both;
  display: block;
}

#page_news .listWrapper {
  zoom: 1;
}

#page_news .listWrapper:after {
  content: "";
  clear: both;
  display: block;
}

#page_news .pagenation .pagenation_btn {
  display: inline-block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
  width: 80px;
  height: 50px;
}

#page_news .pagenation .pagenation_btn:hover {
  opacity: 0.6;
}

.pc #page_news {
  padding: 65px 0 180px;
  width: 730px;
}

.pc #page_news .pagenation {
  /* display: none; */
  margin: 33px auto 0;
  width: 284px;
  zoom: 1;
}

.pc #page_news .pagenation:after {
  content: "";
  clear: both;
  display: block;
}

.pc #page_news .pagenation .pagenation_btn {
  float: left;
  margin: 0;
  width: 45px;
  height: 33px;
  background: url(/images/news/btn_list.png) 0 0 no-repeat;
}

.pc #page_news .pagenation .disabled {
  background: none;
}

.pc #page_news .pagenation .btn_list {
  width: 194px;
  background-position: -45px;
}

.pc #page_news .pagenation .btn_next {
  background-position: -239px;
}

.pc #page_news .listWrapper + .pagenation {
  margin-top: 18px;
}

.news_item {
  display: block;
  text-decoration: none;
  background-color: #fff;
  border-radius: 2px;
  box-shadow: 1.73px 1px 3px rgba(0, 0, 0, 0.3);
}

.news_item .news-item-header {
  position: relative;
  text-align: center;
}

.news_item .news-item-header .date {
  font-family: 'Quattrocento', serif;
}

.news_item.category-news .news-item-header {
  color: #ff80b6;
}

.news_item.category-campaign .news-item-header {
  color: #49b1ee;
}

.news_item.category-media .news-item-header {
  color: #a1a1a1;
}

.news_item.category-news .news-item-title {
  color: #ff80b6;
}

.news_item.category-campaign .news-item-title {
  color: #49b1ee;
}

.news_item.category-media .news-item-title {
  color: #a1a1a1;
}

.news_item figure {
  position: relative;
  background-color: #818181;
  width: 100%;
  background: center center no-repeat;
  background-size: cover;
}

.pc .news_item {
  height: 408px;
  float: left;
  width: 351px;
  margin-bottom: 29px;
}

.pc .news_item:nth-child(2n) {
  margin-left: 28px;
}

.pc .news_item .news-item-header {
  height: 44px;
  font-size: 15px;
  line-height: 44px;
}

.pc .news_item .news-item-header .date {
  font-size: 17px;
  letter-spacing: 0.1em;
}

.pc .news_item figure {
  height: 178px;
}

.pc .news_item .news-item-inner {
  padding: 17px 26px 26px;
}

.pc .news_item .news-item-inner .news-item-title {
  margin: 0 1px 14px;
  padding-left: 15px;
  border-left: 3px solid;
}

.pc .news_item .news-item-title {
  font-weight: bold;
  font-size: 17px;
  line-height: 1.37;
}

.pc .news_item p {
  overflow: hidden;
  color: #474747;
  font-size: 13px;
  line-height: 1.57;
}

.pc #page_news.list .news_item p {
  height: 60px;
  overflow: hidden;
}

.pc #page_news.list .news_item figure,
.pc #page_news.list .news_item header {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.pc #page_news.list .news_item:hover figure,
.pc #page_news.list .news_item:hover header {
  opacity: 0.6;
}

.pc #page_news.list .news-item-inner {
  padding-bottom: 0;
  height: 141px;
  overflow: hidden;
}

#page_news.single .news_item {
  zoom: 1;
  margin-bottom: 0;
  height: auto;
}

#page_news.single .news_item:after {
  content: "";
  clear: both;
  display: block;
}

#page_news.single .news_item figure:after {
  display: none;
}

.pc #page_news.single .news_item {
  width: 100%;
}

.pc #page_news.single .news_item .news-item-header {
  padding-top: 30px;
  width: 730px;
  float: none;
  position: relative;
  height: auto;
  padding-bottom: 24px;
}

.pc #page_news.single .news_item .news-item-header .date {
  display: block;
  padding: 0 10px 0 20px;
  width: 107px;
  height: 42px;
  position: absolute;
  left: -10px;
  top: 36px;
  line-height: 42px;
  background-color: #ff80b6;
  color: #fff;
}

.pc #page_news.single .news_item .news-item-header .date:before, .pc #page_news.single .news_item .news-item-header .date:after {
  position: absolute;
  content: '';
  display: block;
  width: 0;
  height: 0;
}

.pc #page_news.single .news_item .news-item-header .date:before {
  left: 0;
  bottom: -10px;
  border: 5px solid #c15d8a;
  border-left-color: transparent;
  border-bottom-color: transparent;
}

.pc #page_news.single .news_item .news-item-header .date:after {
  right: -26px;
  top: 0;
  border: 13px solid transparent;
  border-top-width: 21px;
  border-bottom-width: 21px;
  border-left-color: #ff80b6;
}

.pc #page_news.single .news_item .news-item-header .split, .pc #page_news.single .news_item .news-item-header .category {
  display: none;
}

.pc #page_news.single .news_item .news-item-header .news-item-title {
  text-align: left;
  padding: 0 30px 0 153px;
}

.pc #page_news.single .news_item figure {
  margin: 30px 0;
  min-height: 200px;
  background: center top no-repeat;
  background-size: contain;
}

.pc #page_news.single .news_item .news-item-inner {
  padding: 0 0 30px;
  margin: 30px 23px 0;
}

.pc #page_news.single .news_item .news-item-inner .news-item-title {
  display: none;
}

.pc #page_news.single .news_item p {
  margin-bottom: 30px;
}

.pc #page_news.single .news_item .news-text {
  padding-bottom: 13px;
}

.pc #page_news.single .news_item .news-text img {
  width: auto;
  height: auto;
  max-width: 684px;
}

.pc #page_news.single .news_item .share {
  width: 315px;
  zoom: 1;
}

.pc #page_news.single .news_item .share:after {
  content: "";
  clear: both;
  display: block;
}

.pc #page_news.single .news_item .share_item {
  margin-left: 5px;
  float: left;
  width: 75px;
  height: 20px;
  background: url(/images/news/news_share.png) 0 0 no-repeat;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.pc #page_news.single .news_item .share_item:hover {
  opacity: 0.6;
}

.pc #page_news.single .news_item .share_item:first-child {
  margin-left: 0;
}

.pc #page_news.single .news_item .share_item.share_item-twtr {
  background-position: 0 -0px;
}

.pc #page_news.single .news_item .share_item.share_item-facebook {
  background-position: 0 -20px;
}

.pc #page_news.single .news_item .share_item.share_item-line {
  background-position: 0 -40px;
}

.pc #page_news.single .news_item .share_item.share_item-hatena {
  background-position: 0 -60px;
}

.pc #page_news.single .news_item .share_item a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

/* =======================================================================
story
========================================================================== */
.pc #page_story {
  padding: 65px 0 575px;
}

.pc #page_story .text_story {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  margin: 0 auto;
  width: 366px;
  height: 642px;
  background: url(/images/story/text_story.png) 0 0 no-repeat;
}

/* =======================================================================
character
========================================================================== */
#page_character .text {
  position: absolute;
  color: #5b5b5b;
}

.pc #page_character {
  padding: 0 0 250px;
  margin-top: 40px;
}

.pc #page_character .character_item {
  position: relative;
  margin: 0 auto;
  width: 778px;
  height: 620px;
}

.pc #page_character .character_item .video_container {
  position: absolute;
  width: 346px;
  height: 195px;
  background-color: #000;
}

.pc #page_character .character_item .gallery_item_link {
  position: absolute;
  width: 346px;
  height: 195px;
}

.pc #page_character .character_item .video_tgt {
  width: 346px;
  height: 195px;
}

.pc #page_character .character_item .image {
  position: relative;
  width: 100%;
  height: 100%;
}

.pc #page_character .character_item .text {
  display: none;
}

.pc #page_character .character_item-01 {
  left: 15px;
  margin-bottom: 84px;
}

.pc #page_character .character_item-01 .video_container,
.pc #page_character .character_item-01 .gallery_item_link {
  left: 24px;
  top: 91px;
}

.pc #page_character .character_item-01 .image {
  background: url(/images/character/chara_01.png) center top no-repeat;
}

.pc #page_character .character_item-02 {
  left: -62px;
  margin-top: -83px;
  width: 854px;
  height: 743px;
}

.pc #page_character .character_item-02 .video_container,
.pc #page_character .character_item-02 .gallery_item_link {
  left: 485px;
  top: 218px;
}

.pc #page_character .character_item-02 .image {
  background: url(/images/character/chara_02.png) left top no-repeat;
}

.pc #page_character .character_item-03 {
  left: 52px;
  margin-top: 10px;
  width: 852px;
  height: 798px;
}

.pc #page_character .character_item-03 .video_container,
.pc #page_character .character_item-03 .gallery_item_link {
  left: 24px;
  top: 249px;
}

.pc #page_character .character_item-03 .image {
  background: url(/images/character/chara_03.png) left top no-repeat;
}

.pc #page_character .character_item-04 {
  left: -70px;
  margin-top: 35px;
  width: 864px;
  height: 712px;
}

.pc #page_character .character_item-04 .video_container,
.pc #page_character .character_item-04 .gallery_item_link {
  left: 497px;
  top: 181px;
}

.pc #page_character .character_item-04 .image {
  background: url(/images/character/chara_04.png) left top no-repeat;
}

.pc #page_character .character_item-05 {
  width: 815px;
  height: 763px;
  left: 35px;
  margin-top: 23px;
}

.pc #page_character .character_item-05 .video_container,
.pc #page_character .character_item-05 .gallery_item_link {
  left: 23px;
  top: 223px;
}

.pc #page_character .character_item-05 .image {
  background: url(/images/character/chara_05.png) left top no-repeat;
}

.pc #page_character .character_item-06 {
  width: 864px;
  height: 720px;
  margin-top: 53px;
  left: -63px;
}

.pc #page_character .character_item-06 .video_container,
.pc #page_character .character_item-06 .gallery_item_link {
  left: 497px;
  top: 191px;
}

.pc #page_character .character_item-06 .image {
  background: url(/images/character/chara_06.png) left top no-repeat;
}

.pc #page_character .character_item-07 {
  width: 809px;
  height: 641px;
  margin-top: 125px;
  left: -63px;
}

.pc #page_character .character_item-07 .video_container,
.pc #page_character .character_item-07 .gallery_item_link {
  left: 26px;
  top: 101px;
}

.pc #page_character .character_item-07 .image {
  background: url(/images/character/chara_07.png) left top no-repeat;
}

/* =======================================================================
gallery
========================================================================== */
.child.gallery .caption {
  position: relative;
  font-family: 'Quattrocento', serif;
}

.pc .child.gallery {
  padding: 121px 0 0;
}

.pc .child.gallery .gallery_wrapper {
  margin: 66px auto 195px;
  padding: 40px 48px 22px;
  width: 732px;
  zoom: 1;
}

.pc .child.gallery .gallery_wrapper:after {
  content: "";
  clear: both;
  display: block;
}

.pc .child.gallery .gallery_wrapper.photo {
  padding: 52px 146px;
}

.pc .child.gallery .gallery_item {
  float: left;
  width: 348px;
  margin-bottom: 30px;
}

.pc .child.gallery .caption {
  font-size: 17px;
  letter-spacing: 0.1em;
  text-align: center;
  color: #565656;
}

.pc .child.gallery .caption .title {
  margin-top: 16px;
  display: block;
  font-size: 22px;
}

.pc .child.gallery .caption .date {
  margin-top: 5px;
  display: block;
  font-size: 12px;
}

.pc .child.gallery .gallery_item_link {
  width: 100%;
  height: 209px;
  display: block;
  margin: 0 auto;
  outline: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.pc .child.gallery .gallery_item_link:hover {
  opacity: 0.6;
}

.pc .child.gallery .gallery_item_link img {
  width: 100%;
  height: 100%;
}

.pc .child.gallery .gallery_movie .gallery_item:nth-child(2n) {
  margin-left: 35px;
}

.pc .child.gallery .gallery_photo {
  text-align: center;
  padding: 40px 35px 22px;
  width: 660px;
  font-size: 0;
}

.pc .child.gallery .gallery_photo .gallery_item {
  float: none;
  display: inline-block;
  width: 213px;
}

.pc .child.gallery .gallery_photo .gallery_item .gallery_item_link {
  width: 205px;
  height: 118px;
}

/* =======================================================================
comic
========================================================================== */
.pc main.child.comic {
  padding-top: 47px;
}

.pc main.child.comic #sec_pre_register {
  margin-top: 75px;
}

.pc main.child.comic .pageTitle {
  width: 920px;
  height: 242px;
  background: url(/images/comic/pageTitle_comic.png) 0 0 no-repeat;
}

#page_comic .sec_pre_register_comicTop {
  position: relative;
}

#page_comic .sec_pre_register_comicTop .btn_register {
  display: block;
  position: absolute;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

#page_comic .comic_wrapper {
  position: relative;
  zoom: 1;
}

#page_comic .comic_wrapper:after {
  content: "";
  clear: both;
  display: block;
}

#page_comic .comic_wrapper .ordinalNumber {
  position: absolute;
  z-index: 200;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

#page_comic .comic_wrapper .comic_title {
  position: relative;
  z-index: 100;
  margin: 0 auto;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

#page_comic .comic_wrapper .comic_share {
  margin: 0 auto;
  zoom: 1;
}

#page_comic .comic_wrapper .comic_share:after {
  content: "";
  clear: both;
  display: block;
}

#page_comic .comic_wrapper .comic_share .comic_share_item {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  float: left;
}

#page_comic .comic_wrapper .comic_share .comic_share_item:hover {
  opacity: 0.6;
}

#page_comic .comic_index {
  zoom: 1;
}

#page_comic .comic_index:after {
  content: "";
  clear: both;
  display: block;
}

#page_comic .comic_index .comic_index_item {
  float: left;
  position: relative;
  border-radius: 5px;
}

#page_comic .comic_index .comic_index_item.new a:after {
  position: absolute;
  content: '';
  display: block;
}

#page_comic .comic_index .comic_index_item img {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

#page_comic .comic_index .comic_index_item img:hover {
  opacity: 0.6;
}

#page_comic .profile {
  background-color: #aaa;
  position: relative;
  margin: 0 auto;
}

#page_comic .profile h2,
#page_comic .profile p {
  display: none;
}

.pc #page_comic {
  min-width: 1100px;
}

.pc #page_comic .sec_pre_register_comicTop {
  margin: 40px auto 0;
  width: 944px;
  height: 235px;
  background: url(/images/comic/register_comicTop.png) right top no-repeat;
}

.pc #page_comic .sec_pre_register_comicTop .btn_register {
  width: 250px;
  height: 45px;
  background: url(/images/comic/btn_comic_register.png) 0 0 no-repeat;
  top: 128px;
}

.pc #page_comic .sec_pre_register_comicTop .btn_register.btn_register_twtr {
  left: 141px;
  background-position: 0 0;
}

.pc #page_comic .sec_pre_register_comicTop .btn_register.btn_register_twtr:hover {
  background-position: 0 -45px;
}

.pc #page_comic .sec_pre_register_comicTop .btn_register.btn_register_mail {
  left: 406px;
  background-position: -250px 0;
}

.pc #page_comic .sec_pre_register_comicTop .btn_register.btn_register_mail:hover {
  background-position: -250px -45px;
}

.pc #page_comic .comic_wrapper {
  margin: 54px auto 0px;
  padding: 0 3px 13px;
  width: 720px;
  background: url(/images/comic/comic_wrapper_rep.png) right top repeat-y;
}

.pc #page_comic .comic_wrapper:before, .pc #page_comic .comic_wrapper:after {
  content: '';
  position: absolute;
  right: 0;
  display: block;
  width: 100%;
  height: 20px;
}

.pc #page_comic .comic_wrapper:before {
  top: -20px;
  background: url(/images/comic/comic_wrapper_hdr.png) right top no-repeat;
}

.pc #page_comic .comic_wrapper:after {
  bottom: -20px;
  background: url(/images/comic/comic_wrapper_ftr.png) right bottom no-repeat;
}

.pc #page_comic .comic_wrapper .ordinalNumber {
  left: 34px;
  top: -27px;
  width: 108px;
  height: 140px;
  background: url(/images/comic/spr_ordinalNumber.png) 0 0 no-repeat;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-01 {
  background-position: 0px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-02 {
  background-position: -110px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-03 {
  background-position: -220px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-04 {
  background-position: -330px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-05 {
  background-position: -440px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-06 {
  background-position: -550px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-07 {
  background-position: -660px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-08 {
  background-position: -770px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-09 {
  background-position: -880px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-10 {
  background-position: -990px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-11 {
  background-position: -1100px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-12 {
  background-position: -1210px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-13 {
  background-position: -1320px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-14 {
  background-position: -1430px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-15 {
  background-position: -1540px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-16 {
  background-position: -1650px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-17 {
  background-position: -1760px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-18 {
  background-position: -1870px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-19 {
  background-position: -1980px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-20 {
  background-position: -2090px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-21 {
  background-position: -2200px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-22 {
  background-position: -2310px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-23 {
  background-position: -2420px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-24 {
  background-position: -2530px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-25 {
  background-position: -2640px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-26 {
  background-position: -2750px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-27 {
  background-position: -2860px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-28 {
  background-position: -2970px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-29 {
  background-position: -3080px 0;
}

.pc #page_comic .comic_wrapper .ordinalNumber.number-30 {
  background-position: -3190px 0;
}
.pc #page_comic .comic_wrapper .ordinalNumber.number-31 {
  background-position: -3300px 0;
}
.pc #page_comic .comic_wrapper .ordinalNumber.number-32 {
  background-position: -3410px 0;
}
.pc #page_comic .comic_wrapper .ordinalNumber.number-33 {
  background-position: -3520px 0;
}
.pc #page_comic .comic_wrapper .ordinalNumber.number-34 {
  background-position: -3630px 0;
}
.pc #page_comic .comic_wrapper .ordinalNumber.number-35 {
  background-position: -3740px 0;
}

.pc #page_comic .comic_wrapper .comic_title {
  width: 594px;
  height: 111px;
  background: url(/images/comic/bg_comic_title.png) right 0 no-repeat;
}

.pc #page_comic .comic_wrapper .comic_content {
  position: relative;
  width: 720px;
}

.pc #page_comic .comic_wrapper .comic_content img {
  width: 720px;
  height: auto;
}

.pc #page_comic .comic_wrapper .comic_share {
  padding: 15px 0 0;
  width: 205px;
}

.pc #page_comic .comic_wrapper .comic_share .comic_share_item {
  width: 43px;
  height: 43px;
  display: block;
  background: url(/images/comic/btn_comic_share.png) 0 0 no-repeat;
  margin-left: 11px;
}

.pc #page_comic .comic_wrapper .comic_share .comic_share_item:first-child {
  margin-left: 0;
}

.pc #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_twtr {
  background-position: 0 0;
}

.pc #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_fb {
  background-position: -50px 0;
}

.pc #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_line {
  background-position: -100px 0;
}

.pc #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_hatebu {
  background-position: -150px 0;
}

.pc #page_comic .comic_index {
  width: 720px;
  padding-left: 5px;
  margin: 87px auto 0;
}

.pc #page_comic .comic_index .comic_index_item {
  width: 114px;
  height: 116px;
  background: url(/images/comic/thumb_blank.png) 0 0 no-repeat;
  margin-left: 7px;
  margin-bottom: 7px;
}

.pc #page_comic .comic_index .comic_index_item:nth-child(6n+1) {
  margin-left: 0;
}

.pc #page_comic .comic_index .comic_index_item .placeholder {
  background: url(/images/comic/thumb_blank.png) 0 0 no-repeat;
  width: 115px;
  height: 116px;
  border-radius: 5px;
}

.pc #page_comic .comic_index .comic_index_item.number-06 .placeholder {
  background-position: 0 -120px;
}

.pc #page_comic .comic_index .comic_index_item.number-07 .placeholder {
  background-position: 0 -240px;
}

.pc #page_comic .comic_index .comic_index_item.number-08 .placeholder {
  background-position: 0 -360px;
}

.pc #page_comic .comic_index .comic_index_item.number-09 .placeholder {
  background-position: 0 -480px;
}

.pc #page_comic .comic_index .comic_index_item.number-10 .placeholder {
  background-position: 0 -600px;
}

.pc #page_comic .comic_index .comic_index_item.number-11 .placeholder {
  background-position: 0 -720px;
}

.pc #page_comic .comic_index .comic_index_item.number-12 .placeholder {
  background-position: 0 -840px;
}

.pc #page_comic .comic_index .comic_index_item.new a:after {
  width: 51px;
  height: 49px;
  right: -6px;
  top: -15px;
  background: url(/images/comic/badge_new.png) 0 0 no-repeat;
}

.pc #page_comic .comic_index .comic_index_item img {
  width: 111px;
  height: 112px;
  border-radius: 5px;
}

.pc #page_comic .profile {
  margin-top: 36px;
  background: url(/images/comic/profile.png) 0 0 no-repeat;
  width: 777px;
  height: 203px;
  padding-bottom: 60px;
}

/* =======================================================================
system
========================================================================== */
#page_system .system_section {
  margin-top: 42px;
  position: relative;
}

#page_system .system_section p {
  font-weight: 500;
  color: #727272;
}

#page_system .system_section .red {
  color: #ff80b6;
}

#page_system .section_title {
  margin: 0 auto;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

#page_system .section_small {
  position: relative;
}

#page_system .section_small + .section_small:before {
  position: absolute;
  left: 50%;
  top: 0;
  display: block;
  content: '';
  height: 1px;
  background-color: #bbb;
}

.pc #page_system {
  padding-bottom: 170px;
}

.pc #page_system .system_section {
  width: 730px;
  margin: 58px auto 0;
  padding: 58px 0 49px;
  border-radius: 3px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), 1.5px 2.6px 3px rgba(0, 0, 0, 0.3);
  background-color: #fff;
  opacity: 1;
}

.pc #page_system .system_section.comming {
  display: none;
}

.pc #page_system .system_section .inner {
  width: 590px;
  margin: 0 auto 0;
}

.pc #page_system .system_section.system_section-point-2 h3,
.pc #page_system .system_section.system_section-point-2 .red {
  color: #6acbf4;
}

.pc #page_system .system_section.system_section-point-3 .red {
  color: #68d0a3;
}

.pc #page_system .system_section.system_section-point-4 .red {
  color: #b08dc5;
}

.pc #page_system .system_section p {
  font-size: 13px;
  line-height: 1.77em;
  margin-top: -4px;
}

.pc #page_system .system_section article {
  zoom: 1;
}

.pc #page_system .system_section article:after {
  content: "";
  clear: both;
  display: block;
}

.pc #page_system .section_title {
  width: 590px;
  height: 120px;
  margin: 0 auto;
  background: url(/images/system/spr_section_title.png) 0 0 no-repeat;
}

.pc #page_system .section_title.section_title-2 {
  background-position: 0 -360px;
}

.pc #page_system .section_title.section_title-3 {
  background-position: 0 -490px;
}

.pc #page_system .section_title.section_title-4 {
  background-position: 0 -620px;
}

.pc #page_system .header_number {
  position: absolute;
  top: -7px;
  left: 38px;
  width: 70px;
  height: 110px;
  background: url(/images/system/spr_header_number.png) 0 0 no-repeat;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.pc #page_system .header_number.header_number-1 {
  background-position: 0 0;
}

.pc #page_system .header_number.header_number-2 {
  background-position: -70px 0;
}

.pc #page_system .header_number.header_number-3 {
  background-position: -140px 0;
}

.pc #page_system .header_number.header_number-4 {
  background-position: -210px 0;
}

.pc #page_system .pc_ss-none {
  display: none;
}

.pc #page_system .pc_ss-large {
  width: 590px;
  height: 340px;
  background: url(/images/system/pc_ss-large.jpg) 0 0 no-repeat;
}

.pc #page_system .pc_ss-large.pc_ss-large-2 {
  background-position: 0 -340px;
}

.pc #page_system .pc_ss-large.pc_ss-large-3 {
  background-position: 0 -680px;
}

.pc #page_system .pc_ss-large.pc_ss-large-4 {
  background-position: 0 -1020px;
}

.pc #page_system .pc_ss-small {
  width: 400px;
  height: 230px;
  background: url(/images/system/pc_ss-small.jpg) 0 0 no-repeat;
}

.pc #page_system .pc_ss-small.pc_ss-small-1 {
  width: 330px;
  height: 190px;
}

.pc #page_system .pc_ss-small.pc_ss-small-2 {
  background-position: 0 -230px;
}

.pc #page_system .pc_ss-small.pc_ss-small-3 {
  background-position: 0 -460px;
}

.pc #page_system .pc_ss-small.pc_ss-small-4 {
  background-position: 0 -690px;
}

.pc #page_system .pc_ss2-large {
  width: 590px;
  height: 340px;
  background: url(/images/system/pc_ss-large_2.jpg) 0 0 no-repeat;
}

.pc #page_system .pc_ss2-large.pc_ss2-large-2 {
  background-position: 0 -340px;
}

.pc #page_system .pc_ss2-large.pc_ss2-large-3 {
  background-position: 0 -680px;
}

.pc #page_system .pc_ss2-large.pc_ss2-large-4 {
  background-position: 0 -1020px;
}

.pc #page_system .pc_ss2-large.pc_ss2-large-5 {
  background-position: 0 -1360px;
}

.pc #page_system .pc_ss2-large.pc_ss2-large-6 {
  background-image: url(/images/system/pc_ss-large_4.jpg);
  height: 368px;
}

.pc #page_system .system_section-top .inner {
  margin-top: 30px;
}

.pc #page_system .system_section-top .section_title {
  height: 70px;
}

.pc #page_system .system_section-top .image {
  margin-bottom: 21px;
}

.pc #page_system .section_small {
  position: relative;
}

.pc #page_system .section_small + .section_small:before {
  margin-left: -300px;
  width: 600px;
}

.pc #page_system .system_section-point-1 {
  padding-bottom: 66px;
}

.pc #page_system .system_section-point-1 .inner {
  margin-top: 28px;
}

.pc #page_system .system_section-point-1 .section_small-1 {
  padding-bottom: 60px;
}

.pc #page_system .system_section-point-1 .section_small-1 .section_title {
  height: 110px;
  background-position: 0 -90px;
}

.pc #page_system .system_section-point-1 .article-1-1-1 {
  margin-top: 22px;
}

.pc #page_system .system_section-point-1 .article-1-1-1 p {
  width: 240px;
  float: left;
  text-align: justify;
  line-height: 1.7;
}

.pc #page_system .system_section-point-1 .article-1-1-1 .image {
  float: right;
}

.pc #page_system .system_section-point-1 .section_small-2 {
  padding-top: 51px;
}

.pc #page_system .system_section-point-1 .section_small-2 .section_title {
  height: 120px;
  background-position: 0 -220px;
}

.pc #page_system .system_section-point-1 .article-1-2-1 {
  position: relative;
  z-index: 200;
  margin-top: 52px;
}

.pc #page_system .system_section-point-1 .article-1-2-1 p {
  width: 170px;
  float: left;
}

.pc #page_system .system_section-point-1 .article-1-2-1 .image {
  float: right;
}

.pc #page_system .system_section-point-1 .article-1-2-2 {
  position: relative;
}

.pc #page_system .system_section-point-1 .article-1-2-2 p {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 160px;
}

.pc #page_system .system_section-point-1 .article-1-2-2 .image {
  margin-top: -44px;
}

.pc #page_system .system_section-point-1 .pc_ss-large-4 {
  margin-top: 55px;
}

.pc #page_system .system_section-point-1 .article-1-2-3 {
  margin-top: 24px;
}

.pc #page_system .system_section-point-1 .article-1-2-3 p {
  width: 170px;
  float: right;
  line-height: 1.69;
  text-align: justify;
}

.pc #page_system .system_section-point-1 .article-1-2-3 .image {
  float: left;
}

.pc #page_system .system_section-point-2 {
  padding-top: 56px;
  padding-bottom: 60px;
}

.pc #page_system .system_section-point-2 .section_title {
  margin-bottom: 30px;
}

.pc #page_system .system_section-point-2 article + article {
  margin-top: 60px;
}

.pc #page_system .system_section-point-2 .desc {
  zoom: 1;
}

.pc #page_system .system_section-point-2 .desc:after {
  content: "";
  clear: both;
  display: block;
}

.pc #page_system .system_section-point-2 .desc h3, .pc #page_system .system_section-point-2 .desc p {
  float: left;
}

.pc #page_system .system_section-point-2 .desc h3 {
  font-size: 23px;
  letter-spacing: 0.025em;
  padding-top: 13px;
}

.pc #page_system .system_section-point-2 .desc p {
  padding-top: 17px;
  line-height: 1.47em;
}

.pc #page_system .system_section-point-2 .article-2-1-1 h3 {
  width: 145px;
}

.pc #page_system .system_section-point-2 .article-2-1-1 p {
  width: 445px;
}

.pc #page_system .system_section-point-2 .article-2-1-2 h3 {
  width: 170px;
}

.pc #page_system .system_section-point-2 .article-2-1-2 p {
  line-height: 29px;
  width: 420px;
}

.pc #page_system .system_section-point-2 .article-2-1-3 h3 {
  width: 95px;
}

.pc #page_system .system_section-point-2 .article-2-1-3 p {
  width: 495px;
}

.pc #page_system .system_section-point-2 .article-2-1-4 h3 {
  width: 200px;
}

.pc #page_system .system_section-point-2 .article-2-1-4 p {
  width: 390px;
}

.pc #page_system .system_section-point-3 {
  padding-top: 56px;
  padding-bottom: 67px;
}

.pc #page_system .system_section-point-3 .section_title {
  margin-bottom: 20px;
}

.pc #page_system .system_section-point-3 p {
  margin-top: 12px;
  line-height: 1.7em;
}

.pc #page_system .system_section-point-3 .section_small-2 {
  margin-top: 60px;
  padding-top: 60px;
}

.pc #page_system .system_section-point-3 .section_small-2 .section_title {
  width: 600px;
  height: 70px;
  background: url(/images/system/section_title_3b.png) 0 0 no-repeat;
  margin-bottom: 38px;
  position: relative;
  left: -4px;
}

.pc #page_system .system_section-point-3 .section_small-2 p {
  line-height: 2.3em;
  text-align: center;
}

.pc #page_system .system_section-point-4 {
  padding-top: 53px;
  padding-bottom: 70px;
}

.pc #page_system .system_section-point-4 .section_title {
  margin-bottom: 23px;
}

.pc #page_system .system_section-point-4 p {
  margin-top: 16px;
  line-height: 1.7em;
}

.pc #page_system .anchor_point {
  zoom: 1;
  width: 732px;
  margin: 54px auto 0;
}

.pc #page_system .anchor_point:after {
  content: "";
  clear: both;
  display: block;
}

.pc #page_system .anchor_point .anchor_point_item {
  background: url(/images/system/spr_anchor_point.png) 0 0 no-repeat;
  width: 177px;
  height: 166px;
  float: left;
  margin-left: 8px;
  position: relative;
  cursor: pointer;
  -webkit-transition: 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  transition: 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
}

.pc #page_system .anchor_point .anchor_point_item.comming {
  cursor: default;
}

.pc #page_system .anchor_point .anchor_point_item.current {
  -webkit-transform: translateY(10px);
  -ms-transform: translateY(10px);
  transform: translateY(10px);
}

.pc #page_system .anchor_point .anchor_point_item.item-1 {
  background-position: 0 0;
  margin-left: 0;
}

.pc #page_system .anchor_point .anchor_point_item.item-2 {
  background-position: -180px 0;
}

.pc #page_system .anchor_point .anchor_point_item.item-3 {
  background-position: -360px 0;
}

.pc #page_system .anchor_point .anchor_point_item.item-4 {
  background-position: -540px 0;
}

.pc #page_system .anchor_point .anchor_point_item.new:after {
  content: '';
  position: absolute;
  left: 1px;
  top: 1px;
  width: 53px;
  height: 53px;
  display: block;
  background: url(/images/system/new.png) 0 0 no-repeat;
}

.pc #page_system .anchor_point .anchor_point_item a {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  display: block;
  width: 100%;
  height: 100%;
}

.pc #page_system .anchor_point .anchor_point_item.comming a {
  display: none;
}

.pc #page_system .closed {
  display: none;
}

/* =======================================================================
special
========================================================================== */
#page_special {
  margin: 0 auto;
  zoom: 1;
}

#page_special:after {
  content: "";
  clear: both;
  display: block;
}

#page_special .listWrapper {
  zoom: 1;
}

#page_special .listWrapper:after {
  content: "";
  clear: both;
  display: block;
}

#page_special .pagenation {
  zoom: 1;
}

#page_special .pagenation:after {
  content: "";
  clear: both;
  display: block;
}

#page_special .pagenation .pagenation_btn {
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

#page_special .pagenation .pagenation_btn:hover {
  opacity: 0.6;
}

.pc #page_special {
  padding: 65px 0 180px;
  width: 730px;
}

.pc #page_special .pagenation {
  margin: 33px auto 0;
  width: 194px;
}

.pc #page_special .pagenation .pagenation_btn {
  margin: 0;
  width: 45px;
  height: 33px;
  background: url(/images/special/btn_list.png) 0 0 no-repeat;
}

.pc #page_special .pagenation .btn_list {
  width: 194px;
  background-position: -45px;
}

.pc #page_special .listWrapper + .pagenation {
  margin-top: 18px;
}

.special_item {
  display: block;
  text-decoration: none;
  background-color: #fff;
  border-radius: 2px;
  box-shadow: 1.73px 1px 3px rgba(0, 0, 0, 0.3);
}

.special_item.category-special .special-item-title {
  color: #ff80b6;
}

.special_item.category-campaign .special-item-title {
  color: #49b1ee;
}

.special_item.category-media .special-item-title {
  color: #a1a1a1;
}

.special_item figure {
  position: relative;
  background-color: #818181;
  width: 100%;
  background: center center no-repeat;
  background-size: cover;
}

.pc .special_item figure {
  height: 225px;
}

.pc .special_item .special-item-title {
  font-size: 17px;
  font-weight: bold;
}

#page_special.list figure {
  border-radius: 2px 2px 0 0;
}

.pc #page_special.list .pagenation {
  display: none;
}

.pc #page_special.list .special_item {
  height: 306px;
  float: left;
  width: 358px;
  margin-bottom: 15px;
}

.pc #page_special.list .special_item:nth-child(2n) {
  margin-left: 14px;
}

.pc #page_special.list .special_item figure,
.pc #page_special.list .special_item header {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.pc #page_special.list .special_item:hover figure,
.pc #page_special.list .special_item:hover header {
  opacity: 0.6;
}

.pc #page_special.list .special-item-header {
  height: 44px;
  font-size: 15px;
  line-height: 44px;
}

.pc #page_special.list .special-item-inner {
  padding: 16px 24px 19px;
  height: 46px;
}

.pc #page_special.list .special-item-title {
  line-height: 23px;
  height: 46px;
  overflow: hidden;
}

#page_special.single .special_item {
  margin-bottom: 0;
  height: auto;
}

.pc #page_special.single .special_item {
  width: 100%;
}

.pc #page_special.single .special-item-header {
  padding: 30px 100px 23px;
}

.pc #page_special.single .special-item-header .special-item-title {
  text-align: center;
}

.pc #page_special.single .special-item-inner {
  padding: 0 0 32px;
  margin: 0 35px 0;
}

.pc #page_special.single .special-item-inner .special-item-title {
  display: none;
}

.pc #page_special.single .special-text p {
  color: #474747;
  font-size: 13px;
  line-height: 1.65em;
  letter-spacing: -0.019em;
}

.pc #page_special.single .special-text p + p {
  margin-top: 30px;
}

.pc #page_special.single .special-text img {
  width: 100%;
  width: 730px;
  margin-left: -35px;
  height: auto;
  margin-bottom: 23px;
}

br.SP,
.onlySP {
  display: none;
}

.sp br.PC,
.sp .onlyPC {
  display: none;
}

.sp br.SP {
  display: inline;
}

.sp .onlySP {
  display: block;
}

/* =======================================================================
base settings
========================================================================== */
body.sp {
  width: 750px;
  margin: 0 auto;
}

#btn_navMenu {
  display: none;
}

.sp #wrapper {
  margin-top: 0;
  width: 750px;
}

.sp #btn_navMenu {
  cursor: pointer;
  display: block;
  width: 114px;
  height: 114px;
  position: fixed;
  right: 23px;
  top: 19px;
  background: url(/images_sp/common/navBtn.png) 0 0 no-repeat;
  z-index: 1000;
  opacity: 1;
  -webkit-transition: opacity 0.9s cubic-bezier(0.075, 0.82, 0.165, 1) 0.4s;
  transition: opacity 0.9s cubic-bezier(0.075, 0.82, 0.165, 1) 0.4s;
}

.sp #btn_navMenu.trans {
  -webkit-transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  transition: opacity 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  opacity: 0;
}

.sp #mainHeader {
  -webkit-transform: translateX(350px);
  -ms-transform: translateX(350px);
  transform: translateX(350px);
  -webkit-transition: -webkit-transform 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  transition: -webkit-transform 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  transition: transform 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  transition: transform 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s, -webkit-transform 0.3s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1200;
  width: 345px;
  height: 110%;
  overflow: scroll;
}

.sp #mainHeader.shown {
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
}

.sp .nav_container-header {
  position: relative;
  height: 1400px;
  background-color: rgba(255, 255, 255, 0.95);
}

.sp .nav_container-header ul {
  position: relative;
  font-size: 0;
  margin: 0 auto;
}

.sp .nav_container-header .nav_item {
  display: block;
  width: 345px;
  height: 110px;
  background: url(/images_sp/common/spr_gnav.png) 0 0 no-repeat;
  margin: 0;
  padding: 0;
  position: absolute;
}

.sp .nav_container-header .nav_item-sns {
  width: 173px;
}

.sp .nav_container-header #logobox-header {
  position: absolute;
  width: 345px;
  height: 233px;
  background: url(/images_sp/common/spr_gnav.png) -700px -770px no-repeat;
}

.sp .nav_container-header #logobox-header a {
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  width: 100%;
  height: 100%;
  position: relative;
}

.sp .nav_container-header .nav_item-new {
  top: 233px;
  background-position: 0 0;
}

.sp .nav_container-header .nav_item-new:hover {
  background-position: -350px 0;
}

.sp .nav_container-header .nav_item-new.new {
  background-position: -700px 0;
}

.sp .nav_container-header .nav_item-new.new:hover {
  background-position: -1050px 0;
}

.sp .nav_container-header .nav_item-story {
  top: 343px;
  background-position: 0 -110px;
}

.sp .nav_container-header .nav_item-story:hover {
  background-position: -350px -110px;
}

.sp .nav_container-header .nav_item-story.new {
  background-position: -700px -110px;
}

.sp .nav_container-header .nav_item-story.new:hover {
  background-position: -1050px -110px;
}

.sp .nav_container-header .nav_item-chara {
  top: 453px;
  background-position: 0 -220px;
}

.sp .nav_container-header .nav_item-chara:hover {
  background-position: -350px -220px;
}

.sp .nav_container-header .nav_item-chara.new {
  background-position: -700px -220px;
}

.sp .nav_container-header .nav_item-chara.new:hover {
  background-position: -1050px -220px;
}

.sp .nav_container-header .nav_item-system {
  top: 563px;
  background-position: 0 -330px;
}

.sp .nav_container-header .nav_item-system.enabled:hover {
  background-position: -350px -330px;
}

.sp .nav_container-header .nav_item-system.new {
  background-position: -700px -330px;
}

.sp .nav_container-header .nav_item-system.new:hover {
  background-position: -1050px -330px;
}

.sp .nav_container-header .nav_item-gallery {
  top: 673px;
  background-position: 0 -440px;
}

.sp .nav_container-header .nav_item-gallery:hover {
  background-position: -350px -440px;
}

.sp .nav_container-header .nav_item-gallery.new {
  background-position: -700px -440px;
}

.sp .nav_container-header .nav_item-gallery.new:hover {
  background-position: -1050px -440px;
}

.sp .nav_container-header .nav_item-comic {
  top: 783px;
  background-position: 0 -550px;
}

.sp .nav_container-header .nav_item-comic.enabled:hover {
  background-position: -350px -550px;
}

.sp .nav_container-header .nav_item-comic.new {
  background-position: -700px -550px;
}

.sp .nav_container-header .nav_item-comic.new:hover {
  background-position: -1050px -550px;
}

.sp .nav_container-header .nav_item-special {
  top: 893px;
  background-position: 0 -660px;
}

.sp .nav_container-header .nav_item-special.enabled:hover {
  background-position: -350px -660px;
}

.sp .nav_container-header .nav_item-special.disabled {
  background-position: -1050px -770px;
}

.sp .nav_container-header .nav_item-special.new {
  background-position: -700px -660px;
}

.sp .nav_container-header .nav_item-special.new:hover {
  background-position: -1050px -660px;
}

.sp .nav_container-header .nav_item-twtr {
  top: 1003px;
  background-position: 0 -770px;
}

.sp .nav_container-header .nav_item-twtr:hover {
  background-position: -350px -770px;
}

.sp .nav_container-header .nav_item-line {
  top: 1003px;
  left: 173px;
  background-position: -173px -770px;
}

.sp .nav_container-header .nav_item-line:hover {
  background-position: -523px -770px;
}

.sp .nav_container-header .nav_item-facebook {
  top: 1113px;
  background-position: 0 -880px;
}

.sp .nav_container-header .nav_item-facebook:hover {
  background-position: -350px -880px;
}

.sp .nav_container-header .nav_item-hatena {
  top: 1113px;
  left: 173px;
  background-position: -173px -880px;
}

.sp .nav_container-header .nav_item-hatena:hover {
  background-position: -523px -880px;
}

/* =======================================================================
footer
========================================================================== */
.sp #mainFooter {
  background-color: #000;
  padding-bottom: 75px;
  position: relative;
  z-index: 1000;
}

.sp #mainFooter #nav-footer {
  padding-top: 93px;
  width: 516px;
  margin: 0 auto;
  zoom: 1;
  position: relative;
}

.sp #mainFooter #nav-footer:after {
  content: "";
  clear: both;
  display: block;
}

.sp #mainFooter .nav_item {
  display: none;
}

.sp #mainFooter .nav_item-sns {
  width: 87px;
  height: 145px;
  display: block;
  float: left;
  margin-left: 56px;
}

.sp #mainFooter .nav_item-sns,
.sp #mainFooter .bnr_anime_item {
  background: url(/images_sp/common/spr_gnav_foot.png) 0 0 no-repeat;
}

.sp #mainFooter .nav_item-twtr {
  margin-left: 0;
  background-position: 0 0;
}

.sp #mainFooter .nav_item-facebook {
  background-position: -100px 0;
}

.sp #mainFooter .nav_item-line {
  background-position: -200px 0;
}

.sp #mainFooter .nav_item-hatena {
  background-position: -300px 0;
}

.sp #mainFooter .bnr_anime {
  width: 410px;
  margin: 96px auto 0;
}

.sp #mainFooter .bnr_anime .bnr_anime_item {
  width: 410px;
  height: 116px;
  margin-top: 50px;
}

.sp #mainFooter .bnr_anime .bnr_anime-1 {
  height: 95px;
  background-position: 0 -155px;
  margin-top: 0;
}

.sp #mainFooter .bnr_anime .bnr_anime-2 {
  background-position: 0 -255px;
}

.sp #mainFooter .bnr_anime .bnr_anime-3 {
  height: 120px;
  background-position: 0 -375px;
}

.sp #mainFooter .bnr_anime img {
  display: none;
}

.sp #mainFooter .bnr_anime a {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.sp #mainFooter .bnr_anime a:hover {
  opacity: 0.6;
}

.sp #mainFooter .bnr_area {
  width: 590px;
  margin: 95px auto 0;
  text-align: center;
}

.sp #mainFooter .bnr_area .banner {
  display: block;
  width: 590px;
  height: 155px;
  border: 1px solid #444;
  margin-top: 25px;
}

.sp #mainFooter .bnr_area .banner:first-child {
  margin-top: 0;
}

.sp #mainFooter .bnr_area a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.sp #mainFooter .bnr_area a:hover {
  opacity: 0.6;
}

.sp #mainFooter .ftr_text {
  text-align: center;
  margin-top: 85px;
  font-size: 21px;
  color: #a1a1a1;
  line-height: 1.66em;
}

.sp #mainFooter .copyright {
  margin-top: 41px;
}

.sp #mainFooter .footerLink {
  margin-top: 70px;
}

.sp #mainFooter .footerLink a {
  text-decoration: none;
  line-height: 2.1em;
  color: #a1a1a1;
}

.sp #mainFooter .footerLink a:before {
  content: '▶';
}

.sp #mainFooter .footerLink a:hover {
  text-decoration: underline;
}

.sp #mainFooter .footerLink a + a {
  margin-left: 15px;
}

/* =======================================================================
hero
========================================================================== */
.sp #sec_hero {
  background: url(/images_sp/top/hero/bg_hero.jpg) center top no-repeat;
  background-size: contain;
}

.sp #sec_hero .main {
  width: 750px;
}

.sp #sec_hero .lead {
  width: 40px;
  height: 1220px;
  left: 33px;
  top: 39px;
}

.sp #sec_hero .chara {
  height: 1300px;
}

.sp #sec_hero .addInfo {
  position: relative;
  width: 750px;
  height: 825px;
  background: url(/images_sp/top/hero/hero_register.jpg) 0 0 no-repeat;
}

.sp #sec_hero .addInfo .btn_regist {
  position: absolute;
  top: 557px;
  left: 49px;
  width: 653px;
  height: 90px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background: url(/images_sp/pre_register/btn_register.png) 0 0 no-repeat;
}

.sp #sec_hero .addInfo .btn_regist:hover {
  background-position: 0 -90px;
}

.sp #sec_hero .addInfo .btn_regist.mail {
  background-position: 0 -180px;
  top: 662px;
}

.sp #sec_hero .addInfo .btn_regist.mail:hover {
  background-position: 0 -270px;
}

.sp #sec_hero .sec_hero_info {
  width: 750px;
  margin: 0 auto;
  position: relative;
  z-index: 1000;
}

.sp .sec_hero_info_item {
  width: 750px;
  padding-bottom: 60px;
}

.sp .sec_hero_info_item .header {
  height: 90px;
  padding: 25px 47px 25px 45px;
  background-color: #ff80b6;
}

.sp .sec_hero_info_item .header h2, .sp .sec_hero_info_item .header .link {
  background: url(/images_sp/top/hero/spr_sec_hero_info.png) no-repeat;
}

.sp .sec_hero_info_item .header h2 {
  width: 470px;
  height: 40px;
}

.sp .sec_hero_info_item .header .link {
  width: 38px;
  height: 38px;
  background-position: -500px 0;
}

.sp .sec_hero_info_item .content {
  margin: 29px 0;
}

.sp .sec_hero_info_item.info_new .btn_more {
  border-color: #ff80b6;
  color: #ff80b6;
  font-family: 'Quattrocento', serif;
  font-size: 34px;
}

.sp .sec_hero_info_item.info_twtr {
  padding-bottom: 40px;
}

.sp .sec_hero_info_item.info_twtr .header {
  background-color: #4bc5eb;
}

.sp .sec_hero_info_item.info_twtr .header h2 {
  background-position: 0 -40px;
}

.sp .sec_hero_info_item.info_twtr .btn_more {
  border-color: #4bc5eb;
  color: #4bc5eb;
}

.sp .sec_hero_info_item.info_twtr .btn_follow {
  display: none;
}

.sp .sec_hero_info_item .article {
  height: 371px;
  padding: 0 45px;
  overflow: scroll;
}

.sp .sec_hero_info_item .article-item {
  text-align: justify;
  padding: 23px 0 31px;
  border-bottom: 1px solid #dadada;
}

.sp .sec_hero_info_item .article-item:last-child {
  border: none;
  padding-bottom: 20px;
}

.sp .sec_hero_info_item .article-item h3 a {
  font-weight: 500;
  color: #ff82ba;
  font-size: 26px;
  line-height: 1.56em;
  text-decoration: none;
}

.sp .sec_hero_info_item .btn_more {
  display: block;
  width: 660px;
  height: 80px;
  margin: 0 auto;
  border: 1px solid;
  line-height: 78px;
  text-decoration: none;
  text-align: center;
  font-size: 30px;
}

/* =======================================================================
intro
========================================================================== */
.sp #sec_intro {
  height: 2250px;
  overflow: hidden;
  background: url(/images_sp/top/intro/bg_intro.png) center 6px no-repeat;
}

.sp #sec_intro .main {
  z-index: 500;
}

.sp #sec_intro .main .frame-container {
  position: absolute;
  width: 662px;
  height: 444px;
  padding: 40px;
  left: 44px;
  top: 1282px;
}

.sp #sec_intro .main #frame-content {
  background: #fff url(/images_sp/top/intro/frame_placeholder.jpg) center center no-repeat;
}

.sp #sec_intro .main .frame-main {
  background: url(/images_sp/top/intro/frame_main.png) 0 0 no-repeat;
}

.sp #sec_intro .lead {
  width: 546px;
  height: 267px;
  background: url(/images_sp/top/intro/intro-lead.png) center top no-repeat;
  left: 101px;
  top: 126px;
}

.sp #sec_intro .intro-text {
  width: 644px;
  height: 464px;
  background: url(/images_sp/top/intro/intro-text.png) center top no-repeat;
  left: 52px;
  top: 457px;
}

.sp #sec_intro .frame_child_container {
  position: absolute;
  left: 0;
  top: 900px;
  width: 100%;
  height: 1350px;
}

.sp #sec_intro .frame_child {
  position: absolute;
  background: url(/images_sp/top/intro/spr_frame_child.png) 0 0 no-repeat;
}

.sp #sec_intro .frame_child-01 {
  width: 242px;
  height: 218px;
  left: 136px;
  top: 216px;
}

.sp #sec_intro .frame_child-02 {
  background-position: -250px 0;
  width: 169px;
  height: 254px;
  left: 0;
  top: 64px;
}

.sp #sec_intro .frame_child-03 {
  background-position: 0 -220px;
  width: 231px;
  height: 193px;
  left: 74px;
  top: 987px;
}

.sp #sec_intro .frame_child-04 {
  background-position: 0 -420px;
  width: 192px;
  height: 232px;
  left: 0;
  top: 696px;
}

.sp #sec_intro .frame_child-05 {
  background-position: -250px -260px;
  width: 207px;
  height: 384px;
  left: 543px;
  top: 136px;
}

.sp #sec_intro .frame_child-06 {
  background-position: -260px -650px;
  width: 127px;
  height: 158px;
  left: 462px;
  top: 102px;
}

.sp #sec_intro .frame_child-07 {
  background-position: -260px -810px;
  width: 146px;
  height: 224px;
  left: 604px;
  top: 664px;
}

.sp #sec_intro .frame_child-08 {
  background-position: 0 -650px;
  width: 252px;
  height: 193px;
  left: 422px;
  top: 912px;
}

.sp #sec_intro .frame_child-09 {
  background-position: 0 -850px;
  width: 189px;
  height: 156px;
  left: 279px;
  top: 803px;
}

.sp #sec_intro .frame_child-10,
.sp #sec_intro .frame_child-11 {
  display: none;
}

/* =======================================================================
character
========================================================================== */
.sp #sec_character {
  background: #000 url(/images_sp/top/character/bg_character.jpg) center 300px no-repeat;
  height: 2736px;
}

.sp #sec_character .clip {
  display: none;
}

.sp #sec_character .bg .inner {
  margin: 0 auto;
  position: relative;
  height: 100%;
}

.sp #sec_character .bg .inner .star {
  position: absolute;
  z-index: 200;
  width: 20px;
  height: 180px;
  background: url(/images_sp/top/character/spr_star.png) 0 bottom no-repeat;
  -webkit-transition: 0.8s 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: 0.8s 0.5s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.sp #sec_character .bg .inner .star.hide {
  height: 0;
}

.sp #sec_character .bg .inner .star-01 {
  left: 152px;
  top: 211px;
}

.sp #sec_character .bg .inner .star-02 {
  width: 25px;
  background-position: -20px bottom;
  left: 176px;
  top: 89px;
}

.sp #sec_character .bg .inner .star-03 {
  background-position: -50px bottom;
  left: 366px;
  top: 39px;
}

.sp #sec_character .bg .inner .star-04 {
  width: 25px;
  background-position: -70px bottom;
  left: 542px;
  top: 91px;
}

.sp #sec_character .bg .inner .star-05 {
  background-position: -100px bottom;
  left: 576px;
  top: 220px;
}

.sp #sec_character .bg .inner .star-06 {
  background-position: -120px bottom;
  width: 40px;
  height: 260px;
  left: 21px;
  top: 466px;
}

.sp #sec_character .bg .inner .star-07 {
  background-position: -160px bottom;
  height: 260px;
  left: 701px;
  top: 473px;
}

.sp #sec_character .bg .inner .curtain_left,
.sp #sec_character .bg .inner .curtain_right {
  background: url(/images_sp/top/character/bg_curtain_side.png) 0 0 no-repeat;
  position: absolute;
  z-index: 200;
  height: 462px;
  top: 153px;
}

.sp #sec_character .bg .inner .curtain_left {
  width: 260px;
  left: 0;
}

.sp #sec_character .bg .inner .curtain_right {
  background-position: -260px 0;
  width: 240px;
  right: 0;
}

.sp #sec_character .curtain_top {
  position: relative;
  z-index: 1000;
  background: url(/images_sp/top/character/bg_curtain_top.png) center top repeat-x;
  height: 184px;
}

.sp #sec_character .main {
  position: relative;
}

.sp #sec_character .lead {
  background: url(/images_sp/top/character/character_lead.png) 0 0 no-repeat;
  width: 551px;
  height: 372px;
  margin: 0 auto;
  position: absolute;
  top: 113px;
  left: 97px;
  z-index: 1000;
}

.sp #sec_character .characters {
  position: absolute;
  z-index: 100;
  top: 539px;
  right: 0;
  background: url(/images_sp/top/character/characters.jpg) 0 0 no-repeat;
  width: 750px;
  height: 2030px;
}

.sp #sec_character .characters .character {
  display: none;
}

/* =======================================================================
staff
========================================================================== */
.sp #sec_staff {
  background: #fff url(/images_sp/top/staff/bg_staff.png) center 215px no-repeat;
  min-height: 4000px;
}

.sp #sec_staff .bg {
  position: relative;
  margin: 0 auto;
}

.sp #sec_staff .drops {
  position: relative;
}

.sp #sec_staff .drops .drop {
  background: url(/images_sp/top/staff/spr_drops.png) no-repeat;
  position: absolute;
  width: 50px;
  height: 70px;
}

.sp #sec_staff .drops .drop-tla1 {
  left: 25px;
  top: 267px;
  background-position: -50px 0;
}

.sp #sec_staff .drops .drop-tla2 {
  left: 673px;
  top: 1016px;
  background-position: -200px 0;
}

.sp #sec_staff .drops .drop-tla3 {
  left: 231px;
  top: 32px;
  background-position: 0 0;
}

.sp #sec_staff .drops .drop-tla4 {
  top: 494px;
  left: 457px;
  background-position: -100px 0;
}

.sp #sec_staff .drops .drop-tlb2 {
  height: 80px;
  left: 53px;
  top: 1099px;
  background-position: 0 -70px;
}

.sp #sec_staff .drops .drop-tlb1 {
  left: 638px;
  top: 624px;
  background-position: -150px 0;
}

.sp #sec_staff .drops .drop-tlb3 {
  left: 675px;
  top: 1723px;
  height: 80px;
  background-position: -150px -70px;
}

.sp #sec_staff .drops .drop-tlb4 {
  left: 651px;
  top: 105px;
  width: 80px;
  height: 120px;
  background-position: -250px 0;
}

.sp #sec_staff .drops .drop-tlb5 {
  left: -2px;
  top: 2066px;
  height: 80px;
  background-position: -200px -70px;
}

.sp #sec_staff .drops .drop-trb1 {
  left: 653px;
  top: 3146px;
  height: 80px;
  background-position: -50px -160px;
}

.sp #sec_staff .drops .drop-trb2 {
  left: 349px;
  top: 3403px;
  height: 80px;
  background-position: -100px -160px;
}

.sp #sec_staff .drops .drop-trb3 {
  left: 59px;
  top: 1721px;
  background-position: -50px -70px;
}

.sp #sec_staff .drops .drop-trb4 {
  left: 655px;
  top: 1945px;
  background-position: -100px -70px;
}

.sp #sec_staff .drops .drop-trb5 {
  left: 437px;
  top: 3084px;
  background-position: 0 -160px;
}

.sp #sec_staff .drops .drop-trb6 {
  width: 80px;
  height: 120px;
  left: 189px;
  top: 1216px;
  background-position: -330px 0;
}

.sp #sec_staff .drops .drop-tra4 {
  height: 110px;
  width: 70px;
  left: 615px;
  top: 2358px;
  background-position: -250px -120px;
}

.sp #sec_staff .drops .drop-tra5 {
  width: 80px;
  height: 120px;
  left: 84px;
  top: 3270px;
  background-position: -330px -120px;
}

.sp #sec_staff .moon {
  background: url(/images_sp/top/staff/moon.png) 0 0 no-repeat;
  width: 514px;
  height: 514px;
  position: absolute;
  left: 116px;
  top: 3519px;
}

.sp #sec_staff .main {
  margin: 0 auto;
  position: relative;
  padding-top: 182px;
}

.sp #sec_staff .lead {
  background: url(/images_sp/top/staff/staff_lead.png) 0 0 no-repeat;
  width: 567px;
  height: 262px;
  margin: 0 auto;
  left: -1px;
}

.sp #sec_staff .content {
  position: relative;
  padding-top: 67px;
}

.sp #sec_staff .phonograph {
  width: 247px;
  height: 355px;
  left: 478px;
  top: 2763px;
  position: absolute;
  background: url(/images_sp/top/staff/phonograph.png) 0 0 no-repeat;
}

.sp #sec_staff .staff_text {
  position: relative;
  width: 750px;
  height: 2800px;
  background: url(/images_sp/top/staff/staff_text.png) 0 0 no-repeat;
}

/* =======================================================================
screen
========================================================================== */
.sp #sec_screen {
  background: url(/images_sp/top/screen/bg_screen.jpg) center top no-repeat;
  min-height: 1170px;
  position: relative;
  margin-top: -96px;
}

.sp #sec_screen .bg_top {
  background: url(/images_sp/top/screen/bg_screen_top.png) center top repeat-y;
  width: 100%;
  height: 230px;
  position: absolute;
  top: -230px;
  left: 0;
}

.sp #sec_screen .bg {
  position: relative;
}

.sp #sec_screen .main {
  margin: 0 auto;
  position: relative;
  padding-top: 41px;
}

.sp #sec_screen .lead {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background: url(/images_sp/top/screen/screen_lead.png) 0 0 no-repeat;
  width: 463px;
  height: 331px;
  margin: 0 auto;
  position: relative;
  right: -2px;
  padding-bottom: 14px;
}

.sp #sec_screen .content {
  position: relative;
}

.sp #sec_screen .screen_frame_shadow {
  display: none;
}

.sp #sec_screen .screen_frame {
  position: absolute;
  right: 0;
  top: 0;
  z-index: 500;
  width: 703px;
  height: 477px;
}

.sp #sec_screen .screen_frame .image {
  left: 100px;
  top: 79px;
  width: 458px;
  height: 257px;
}

.sp #sec_screen .screen_frame .frame {
  background-image: url(/images_sp/top/screen/screen_frame.png);
}

.sp #sec_screen .screen_childFrame {
  position: absolute;
  width: 290px;
  height: 184px;
}

.sp #sec_screen .screen_childFrame .image {
  left: 25px;
  top: 25px;
  width: 246px;
  height: 138px;
}

.sp #sec_screen .screen_childFrame .frame {
  background-image: url(/images_sp/top/screen/screen_childFrame.png);
}

.sp #sec_screen .screen_childFrame-left {
  top: 451px;
  left: 75px;
}

.sp #sec_screen .screen_childFrame-right {
  top: 453px;
  left: 377px;
}

/* =======================================================================
pre_register
========================================================================== */
.sp .child #sec_pre_register {
  margin: 0;
}

.sp .story #sec_pre_register {
  margin-top: -30px;
}

.sp .gallery #sec_pre_register {
  margin-top: 130px;
}

.sp #sec_pre_register {
  background: url(/images_sp/pre_register/bg_pre_register.png) center top repeat-x;
  height: 805px;
  position: relative;
  margin: -30px 0;
  z-index: 1000;
}

.sp #sec_pre_register .content {
  margin: 0 auto;
  position: relative;
}

.sp #sec_pre_register .lead {
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.sp #sec_pre_register .chara {
  position: absolute;
}

.sp #sec_pre_register .btn_regist {
  position: absolute;
  top: 554px;
  left: 49px;
  width: 655px;
  height: 90px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  background: url(/images_sp/pre_register/btn_register.png) 0 -360px no-repeat;
}

.sp #sec_pre_register .btn_regist:hover {
  background-position: 0 -450px;
}

.sp #sec_pre_register .btn_regist.mail {
  background-position: 0 -540px;
  top: 657px;
}

.sp #sec_pre_register .btn_regist.mail:hover {
  background-position: 0 -630px;
}

/* =======================================================================
spec
========================================================================== */
.sp #sec_spec {
  background: url(/images_sp/top/spec/bg_spec.jpg) center top repeat-y;
  height: 1040px;
  position: relative;
  z-index: 0;
}

#sec_pre_register + .sp #sec_spec {
  margin-top: -20px;
}

.sp #sec_spec .main {
  padding-top: 125px;
  margin: 0 auto;
  position: relative;
}

.sp #sec_spec .logo {
  margin: 0 auto;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  width: 613px;
  height: 436px;
  background: url(/images_sp/top/spec/spec_logo.png) center top no-repeat;
}

.sp #sec_spec .content {
  margin: 13px auto 0;
  width: 595px;
  height: 333px;
  background: url(/images_sp/top/spec/spec_text.png) center top no-repeat;
}

.sp #sec_spec .text {
  display: none;
}

.sp #sec_spec .chara {
  width: 390px;
  height: 315px;
  position: absolute;
  left: 360px;
  top: 733px;
  background: url(/images_sp/top/spec/spec_chara.png) center top no-repeat;
}

/* =======================================================================
child contents
========================================================================== */
.sp .bg_child {
  min-height: 500px;
}

.sp .bg_child .bg_child_main,
.sp .bg_child .bg_story_main,
.sp .bg_child .bg_comic_main,
.sp .bg_child .bg_petal {
  width: 750px;
}

.sp .bg_child .bg_child_main {
  position: fixed;
  background: url(/images_sp/common/bg_child.jpg) center top no-repeat;
}

.sp .bg_child .bg_story_main {
  background: url(/images_sp/story/bg_story.jpg) center top no-repeat;
}

.sp .bg_child .bg_comic_main {
  background: #a8ebf5 url(/images_sp/comic/bg_comic.png) center top repeat-x;
}

.sp .bg_child .bg_petal_front {
  background: url(/images_sp/common/bg_petal_front.png) center top repeat;
}

.sp .bg_child .bg_petal_back {
  background: url(/images_sp/common/bg_petal_back.png) center top repeat;
}

.sp main.child {
  padding-top: 124px;
}

.sp main.child .pageTitle {
  width: 400px;
  height: 35px;
  background: url(/images_sp/common/spr_pageTitle.png) 0 0 no-repeat;
}

.sp main.child.news .pageTitle {
  background-position: 0 0;
}

.sp main.child.story .pageTitle {
  background-position: 0 -40px;
}

.sp main.child.character .pageTitle {
  background-position: 0 -80px;
}

.sp main.child.system .pageTitle {
  background-position: 0 -200px;
}

.sp main.child.gallery .pageTitle {
  background-position: 0 -120px;
}

.sp main.child.gallery .pageTitle.photo {
  background-position: 0 -160px;
}

.sp main.child.special .pageTitle {
  background-position: 0 -240px;
}

/* =======================================================================
news
========================================================================== */
.sp #page_news {
  width: 750px;
  padding: 84px 0 0;
}

.sp #page_news.list .pagenation {
  width: 100%;
  margin: 0 auto 80px;
  text-align: center;
}

.sp #page_news.list .btn_prev,
.sp #page_news.list .btn_next {
  /* display: none; */
  position: relative;
  top: -14px;
}
.sp #page_news.list .btn_prev{
	background:url(/images/news/btn_list.png) 0 0 no-repeat;
	background-size: auto 100%;
}
.sp #page_news.list .btn_next{
	background:url(/images/news/btn_list.png) right 0 no-repeat;
	background-size: auto 100%;
}
.sp #page_news.list .disabled{
	background:none;
}


.sp #page_news.list .btn_list {
  /* margin: 0 auto; */
  width: 344px;
  height: 80px;
  background: url(/images/news/btn_list.png) center no-repeat;
  background-size: auto 100%;
}

.sp #page_news.single .pagenation {
  margin: 66px auto 0;
  width: 596px;
}

.sp #page_news.single .pagenation .pagenation_btn {
  float: left;
  height: 88px;
  background: url(/images_sp/news/pagenation.png) 0 0 no-repeat;
}

.sp #page_news.single .pagenation .pagenation_btn.disabled {
  width: 255px;
  background: none;
}

.sp #page_news.single .pagenation .btn_prev {
  width: 255px;
  background-position: 0 0;
}

.sp #page_news.single .pagenation .btn_list {
  width: 86px;
  background-position: -255px 0;
}

.sp #page_news.single .pagenation .btn_next {
  width: 255px;
  background-position: -341px 0;
}

.sp .news_item {
  width: 590px;
  margin: 0 auto 50px;
}

.sp .news_item:last-child {
  margin-bottom: 130px;
}

.sp .news_item .news-item-header {
  height: 63px;
  font-size: 23px;
  line-height: 63px;
  letter-spacing: 0.2em;
}

.sp .news_item .news-item-header .news-item-title {
  display: none;
}

.sp .news_item .news-item-header .date {
  font-size: 29px;
  letter-spacing: 0.1em;
}

.sp .news_item figure {
  height: 298px;
}

.sp .news_item figure:after {
  content: '';
  position: absolute;
  right: 20px;
  bottom: 20px;
  width: 44px;
  height: 44px;
  display: block;
  background: url(/images_sp/news/news_link.png) 0 0 no-repeat;
}

.sp .news_item .news-item-inner {
  padding: 34px 52px 40px;
}

.sp .news_item .news-item-inner .news-item-title {
  margin: 0 0 33px;
  padding-left: 25px;
  border-left: 5px solid;
  font-weight: bold;
  font-size: 30px;
  line-height: 40px;
  letter-spacing: 0.05em;
  font-feature-setting: "palt";
}

.sp .news_item p {
  color: #474747;
  font-size: 20px;
  line-height: 1.65;
  text-align: justify;
}

.sp #page_news.list .news_item p {
  height: 4.8em;
  overflow: hidden;
}

.sp #page_news.single {
  padding-bottom: 131px;
}

.sp #page_news.single .news_item .news-item-title {
  margin: 0 52px 33px;
}

.sp #page_news.single .news_item .news-item-inner {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.sp #page_news.single .news_item p {
  padding: 0 52px;
  margin-bottom: 40px;
}

.sp #page_news.single .news_item .news-text {
  margin: 0 50px;
  padding-bottom: 50px;
}

.sp #page_news.single .news_item .news-text img {
  width: 100%;
  height: auto;
}

.sp #page_news.single .news_item .share {
  zoom: 1;
}

.sp #page_news.single .news_item .share:after {
  content: "";
  clear: both;
  display: block;
}

.sp #page_news.single .news_item .share_item {
  float: left;
  width: 147px;
  height: 80px;
  background: url(/images_sp/news/news_share.png) 0 0 no-repeat;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.sp #page_news.single .news_item .share_item:first-child, .sp #page_news.single .news_item .share_item:last-child {
  width: 148px;
}

.sp #page_news.single .news_item .share_item:hover {
  opacity: 0.6;
}

.sp #page_news.single .news_item .share_item.share_item-twtr {
  background-position: 0 0;
}

.sp #page_news.single .news_item .share_item.share_item-facebook {
  background-position: -148px 0;
}

.sp #page_news.single .news_item .share_item.share_item-line {
  background-position: -295px 0;
}

.sp #page_news.single .news_item .share_item.share_item-hatena {
  background-position: -442px 0;
}

.sp #page_news.single .news_item .share_item a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

/* =======================================================================
story
========================================================================== */
.sp #page_story {
  padding: 91px 0 695px;
}

.sp #page_story .text_story {
  display: block;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  margin: 0 auto;
  width: 592px;
  height: 986px;
  background: url(/images_sp/story/text_story.png) 0 0 no-repeat;
}

/* =======================================================================
character
========================================================================== */
.sp #page_character {
  padding: 111px 0 160px;
}

.sp #page_character .character_item {
  position: relative;
  margin: 0 auto;
  width: 750px;
}

.sp #page_character .character_item .video_container,
.sp #page_character .character_item .gallery_item_link {
  display: none;
}

.sp #page_character .character_item .image {
  width: 100%;
  height: 100%;
}

.sp #page_character .character_item .text {
  display: none;
}

.sp #page_character .character_item-01 {
  margin-top: -6px;
  height: 842px;
}

.sp #page_character .character_item-01 .image {
  background: url(/images_sp/character/chara_01.png) 40px top no-repeat;
}

.sp #page_character .character_item-02 {
  margin-top: 105px;
  height: 984px;
}

.sp #page_character .character_item-02 .image {
  background: url(/images_sp/character/chara_02.png) left top no-repeat;
}

.sp #page_character .character_item-03 {
  margin-top: 129px;
  height: 1049px;
}

.sp #page_character .character_item-03 .image {
  background: url(/images_sp/character/chara_03.png) right top no-repeat;
}

.sp #page_character .character_item-04 {
  margin-top: 163px;
  height: 880px;
}

.sp #page_character .character_item-04 .image {
  background: url(/images_sp/character/chara_04.png) left top no-repeat;
}

.sp #page_character .character_item-05 {
  margin-top: 87px;
  height: 1034px;
}

.sp #page_character .character_item-05 .image {
  background: url(/images_sp/character/chara_05.png) left top no-repeat;
}

.sp #page_character .character_item-06 {
  margin-top: 170px;
  height: 893px;
}

.sp #page_character .character_item-06 .image {
  background: url(/images_sp/character/chara_06.png) left top no-repeat;
}

.sp #page_character .character_item-07 {
  margin-top: 227px;
  height: 909px;
}

.sp #page_character .character_item-07 .image {
  background: url(/images_sp/character/chara_07.png) left top no-repeat;
}

/* =======================================================================
gallery
========================================================================== */
.sp .child.gallery {
  padding: 124px 0 0;
}

.sp .child.gallery .gallery_wrapper {
  margin-top: 97px;
}

.sp .child.gallery .gallery_item {
  width: 600px;
  margin: 0 auto 58px;
}

.sp .child.gallery .gallery_item .caption {
  margin-top: 20px;
  letter-spacing: 0.12em;
  text-align: center;
  color: #474747;
}

.sp .child.gallery .gallery_item .caption.PC {
  display: none;
}

.sp .child.gallery .gallery_item .caption .title {
  display: block;
  font-size: 38px;
}

.sp .child.gallery .gallery_item .caption .spacer {
  display: none;
}

.sp .child.gallery .gallery_item .caption .date {
  display: block;
  font-size: 20px;
}

.sp .child.gallery .gallery_item .gallery_item_link {
  width: 596px;
  height: 346px;
  display: block;
  margin: 0 auto;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.sp .child.gallery .gallery_item .gallery_item_link:hover {
  opacity: 0.6;
}

.sp .child.gallery .gallery_photo {
  text-align: center;
  padding: 40px 35px 22px;
  width: 660px;
  font-size: 0;
}

.sp .child.gallery .gallery_photo .gallery_item {
  float: none;
  display: inline-block;
  width: 213px;
}

.sp .child.gallery .gallery_photo .gallery_item .gallery_item_link {
  width: 205px;
  height: 118px;
}

/* =======================================================================
comic
========================================================================== */
.sp main.child.comic {
  padding-top: 38px;
}

.sp main.child.comic .pageTitle {
  width: 702px;
  height: 814px;
  background: url(/images_sp/comic/pageTitle_comic.png) right top no-repeat;
}

.sp #page_comic {
  width: 750px;
}

.sp #page_comic .sec_pre_register_comicTop {
  margin: 40px auto 0;
  width: 670px;
  height: 360px;
  background: url(/images_sp/comic/register_comicTop.png) right top no-repeat;
}

.sp #page_comic .sec_pre_register_comicTop .btn_register {
  width: 340px;
  height: 57px;
  background: url(/images_sp/comic/btn_comic_register.png) 0 0 no-repeat;
  left: 65px;
}

.sp #page_comic .sec_pre_register_comicTop .btn_register.btn_register_twtr {
  background-position: 0 0;
  top: 157px;
}

.sp #page_comic .sec_pre_register_comicTop .btn_register.btn_register_twtr:hover {
  background-position: 0 -57px;
}

.sp #page_comic .sec_pre_register_comicTop .btn_register.btn_register_mail {
  top: 229px;
  background-position: -340px 0;
}

.sp #page_comic .sec_pre_register_comicTop .btn_register.btn_register_mail:hover {
  background-position: -340px -57px;
}

.sp #page_comic .comic_wrapper {
  margin: 25px auto 0px;
  padding: 29px 0 0;
  border-bottom: 3px solid #87ccff;
  width: 750px;
  background: #fff;
}

.sp #page_comic .comic_wrapper .ordinalNumber {
  left: 76px;
  top: -5px;
  width: 94px;
  height: 153px;
  background: url(/images_sp/comic/spr_ordinalNumber.png) 0 0 no-repeat;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-01 {
  background-position: 0px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-02 {
  background-position: -100px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-03 {
  background-position: -200px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-04 {
  background-position: -300px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-05 {
  background-position: -400px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-06 {
  background-position: -500px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-07 {
  background-position: -600px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-08 {
  background-position: -700px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-09 {
  background-position: -800px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-10 {
  background-position: -900px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-11 {
  background-position: -1000px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-12 {
  background-position: -1100px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-13 {
  background-position: -1200px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-14 {
  background-position: -1300px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-15 {
  background-position: -1400px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-16 {
  background-position: -1500px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-17 {
  background-position: -1600px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-18 {
  background-position: -1700px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-19 {
  background-position: -1800px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-20 {
  background-position: -1900px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-21 {
  background-position: -2000px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-22 {
  background-position: -2100px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-23 {
  background-position: -2200px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-24 {
  background-position: -2300px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-25 {
  background-position: -2400px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-26 {
  background-position: -2500px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-27 {
  background-position: -2600px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-28 {
  background-position: -2700px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-29 {
  background-position: -2800px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-30 {
  background-position: -2900px 0;
}

.sp #page_comic .comic_wrapper .ordinalNumber.number-31 {
  background-position: -3000px 0;
}
.sp #page_comic .comic_wrapper .ordinalNumber.number-32 {
  background-position: -3100px 0;
}
.sp #page_comic .comic_wrapper .ordinalNumber.number-33 {
  background-position: -3200px 0;
}
.sp #page_comic .comic_wrapper .ordinalNumber.number-34 {
  background-position: -3300px 0;
}
.sp #page_comic .comic_wrapper .ordinalNumber.number-35 {
  background-position: -3400px 0;
}

.sp #page_comic .comic_wrapper .comic_title {
  width: 614px;
  height: 109px;
  background: url(/images_sp/comic/bg_comic_title.png) right 0 no-repeat;
}

.sp #page_comic .comic_wrapper .comic_content {
  margin-top: 4px;
  position: relative;
  width: 740px;
}

.sp #page_comic .comic_wrapper .comic_content img {
  width: 740px;
  height: auto;
}

.sp #page_comic .comic_wrapper .comic_share {
  padding: 15px 0 0;
  width: 750px;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item {
  float: left;
  width: 188px;
  height: 80px;
  background: url(/images_sp/comic/btn_comic_share.png) 0 0 no-repeat;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 1;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item:first-child, .sp #page_comic .comic_wrapper .comic_share .comic_share_item:last-child {
  width: 187px;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item:hover {
  opacity: 0.6;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_twtr {
  background-position: 0 0;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_fb {
  background-position: -187px 0;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_line {
  background-position: -375px 0;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item.comic_share_item_hatebu {
  background-position: -563px 0;
}

.sp #page_comic .comic_wrapper .comic_share .comic_share_item a {
  display: block;
  width: 100%;
  height: 100%;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.sp #page_comic .comic_index {
  width: 608px;
  margin: 67px auto 0;
  padding-left: 8px;
}

.sp #page_comic .comic_index .comic_index_item {
  width: 292px;
  height: 212px;
  background: url(/images_sp/comic/thumb_blank.png) 0 0 no-repeat;
  margin-left: 21px;
  margin-bottom: 23px;
}

.sp #page_comic .comic_index .comic_index_item:nth-child(2n+1) {
  margin-left: 0;
}

.sp #page_comic .comic_index .comic_index_item .placeholder {
  background: url(/images_sp/comic/thumb_blank.png) 0 0 no-repeat;
  width: 292px;
  height: 212px;
}

.sp #page_comic .comic_index .comic_index_item.number-06 .placeholder {
  background-position: 0 -220px;
}

.sp #page_comic .comic_index .comic_index_item.number-07 .placeholder {
  background-position: 0 -440px;
}

.sp #page_comic .comic_index .comic_index_item.number-08 .placeholder {
  background-position: 0 -660px;
}

.sp #page_comic .comic_index .comic_index_item.number-09 .placeholder {
  background-position: 0 -880px;
}

.sp #page_comic .comic_index .comic_index_item.number-10 .placeholder {
  background-position: 0 -1100px;
}

.sp #page_comic .comic_index .comic_index_item.number-11 .placeholder {
  background-position: 0 -1320px;
}

.sp #page_comic .comic_index .comic_index_item.number-12 .placeholder {
  background-position: 0 -1540px;
}

.sp #page_comic .comic_index .comic_index_item.new a:after {
  width: 79px;
  height: 76px;
  right: -13px;
  top: -17px;
  background: url(/images_sp/comic/badge_new.png) 0 0 no-repeat;
}

.sp #page_comic .comic_index .comic_index_item img {
  width: 287px;
  height: 208px;
}

.sp #page_comic .profile {
  margin-top: -4px;
  background: url(/images_sp/comic/profile.png) 0 0 no-repeat;
  width: 652px;
  height: 366px;
  padding-bottom: 60px;
}

/* =======================================================================
system
========================================================================== */
.sp #page_system {
  padding-bottom: 150px;
}

.sp #page_system .anchor_point {
  display: none;
}

.sp #page_system .system_section {
  border-radius: 3px;
  background-color: white;
  margin: 0 auto 0;
  width: 690px;
}

.sp #page_system .system_section .inner {
  margin: 0 auto 0;
}

.sp #page_system .system_section h3 {
  color: #ff80b6;
}

.sp #page_system .system_section p {
  margin: 38px 0;
  font-size: 21px;
  line-height: 1.66em;
  text-align: justify;
}

.sp #page_system .system_section article {
  zoom: 1;
}

.sp #page_system .system_section article:after {
  content: "";
  clear: both;
  display: block;
}

.sp #page_system .system_section.comming {
  border-radius: 0;
}

.sp #page_system .system_section.comming .content {
  display: none;
}

.sp #page_system .system_section .content {
  padding: 0 30px;
  margin: 0 auto;
  padding-bottom: 170px;
  position: relative;
}

.sp #page_system .section_title {
  width: 630px;
  height: 171px;
  background: url(/images_sp/system/spr_section_title.png) 0 0 no-repeat;
}

.sp #page_system .header_number {
  position: absolute;
  top: -7px;
  left: 38px;
  width: 70px;
  height: 110px;
  background: url(/images_sp/system/spr_header_number.png) 0 0 no-repeat;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.sp #page_system .header_number.item-1 {
  background-position: 0 0;
}

.sp #page_system .header_number.item-2 {
  background-position: -70px 0;
}

.sp #page_system .header_number.item-3 {
  background-position: -140px 0;
}

.sp #page_system .header_number.item-4 {
  background-position: -210px 0;
}

.sp #page_system .image {
  width: 630px;
  height: 362px;
  background: 0 0 no-repeat;
  background-size: 100%;
}

.sp #page_system .image.sp_ss-none {
  display: none;
}

.sp #page_system .image.sp_ss-1 {
  background-image: url(/images_sp/system/image_01.png);
  width: 650px;
  height: 373px;
  margin: 0 auto;
}

.sp #page_system .image.sp_ss-2 {
  background-image: url(/images_sp/system/image_02.png);
}

.sp #page_system .image.sp_ss-3 {
  background-image: url(/images_sp/system/image_03.png);
}

.sp #page_system .image.sp_ss-4 {
  background-image: url(/images_sp/system/image_04.png);
}

.sp #page_system .image.sp_ss-5 {
  background-image: url(/images_sp/system/image_05.png);
}

.sp #page_system .image.sp_ss-6 {
  background-image: url(/images_sp/system/image_06.png);
}

.sp #page_system .image.sp_ss-7 {
  background-image: url(/images_sp/system/image_07.png);
}

.sp #page_system .image.sp_ss-8 {
  background-image: url(/images_sp/system/image_08.png);
}

.sp #page_system .image.sp_ss-9 {
  background-image: url(/images_sp/system/image_09.jpg);
}

.sp #page_system .image.sp_ss-10 {
  background-image: url(/images_sp/system/image_10.jpg);
}

.sp #page_system .image.sp_ss-11 {
  background-image: url(/images_sp/system/image_11.jpg);
}

.sp #page_system .image.sp_ss-12 {
  background-image: url(/images_sp/system/image_12.jpg);
}

.sp #page_system .image.sp_ss-13 {
  background-image: url(/images_sp/system/image_13.jpg);
}

.sp #page_system .image.sp_ss-14 {
  height: 405px;
  background-image: url(/images_sp/system/image_14.jpg);
}

.sp #page_system .system_section-top {
  background: none;
  margin: 61px auto  69px;
}

.sp #page_system .system_section-top .inner {
  margin-top: 58px;
}

.sp #page_system .system_section-top .image {
  margin-bottom: 17px;
}

.sp #page_system .system_section-top p {
  margin: 0;
}

.sp #page_system .section_small + .section_small:before {
  margin-left: -50%;
  width: 100%;
}

.sp #page_system .system_section-point-1 .inner {
  margin-top: 45px;
}

.sp #page_system .system_section-point-1 .section_small-1 {
  padding-top: 70px;
}

.sp #page_system .system_section-point-1 .section_small-1 .section_title {
  background-position: 0 -190px;
}

.sp #page_system .system_section-point-1 .section_small-2 {
  margin-top: 105px;
  padding-top: 100px;
}

.sp #page_system .system_section-point-1 .section_small-2 .section_title {
  background-position: 0 -380px;
}

.sp #page_system .system_section-point-2 p,
.sp #page_system .system_section-point-3 p,
.sp #page_system .system_section-point-4 p {
  line-height: 1.7em;
  margin: 8px 0 50px;
}

.sp #page_system .system_section-point-2 .section_title {
  height: 180px;
  background-position: 0 -570px;
  margin-bottom: 40px;
}

.sp #page_system .system_section-point-2 .inner {
  padding-top: 70px;
}

.sp #page_system .system_section-point-2 .desc h3 {
  font-size: 35px;
  letter-spacing: 0.025em;
  padding-top: 25px;
}

.sp #page_system .system_section-point-3 .section_title {
  height: 240px;
  background-position: 0 -760px;
  margin-bottom: 40px;
}

.sp #page_system .system_section-point-3 .inner {
  padding-top: 70px;
}

.sp #page_system .system_section-point-3 .section_small-2 {
  margin-top: 60px;
  padding-top: 93px;
}

.sp #page_system .system_section-point-3 .section_small-2 .inner {
  padding-top: 0;
}

.sp #page_system .system_section-point-3 .section_small-2 .section_title {
  height: 170px;
  background: url(/images_sp/system/section_title_3b.png) center top no-repeat;
  margin-bottom: 46px;
}

.sp #page_system .system_section-point-3 .section_small-2 p {
  line-height: 1.95em;
  text-align: center;
}

.sp #page_system .system_section-point-4 .section_title {
  height: 240px;
  background-position: 0 -1020px;
  margin-bottom: 45px;
}

.sp #page_system .system_section-point-4 .inner {
  padding-top: 63px;
}

.sp #page_system .system_section-point-4 p {
  margin-top: 18px;
}

.sp #page_system .system_section .header {
  height: 127px;
  border-bottom: 1px solid #c1c1c1;
  position: relative;
}

.sp #page_system .system_section .header .header_number_container {
  position: absolute;
  left: 0;
  top: 16px;
  width: 145px;
  height: 95px;
  border-right: 1px solid #c1c1c1;
}

.sp #page_system .system_section .header .header_number {
  position: absolute;
  left: 48px;
  top: 12px;
  background: url(/images_sp/system/spr_anchor_point.png) 0 0 no-repeat;
  width: 53px;
  height: 70px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
}

.sp #page_system .system_section .header .header_number.header_number-1 {
  background-position: 0 0;
}

.sp #page_system .system_section .header .header_number.header_number-2 {
  background-position: 0 -70px;
}

.sp #page_system .system_section .header .header_number.header_number-3 {
  background-position: 0 -140px;
}

.sp #page_system .system_section .header .header_number.header_number-4 {
  background-position: 0 -210px;
}

.sp #page_system .system_section .header .header_title {
  margin-left: 146px;
  padding: 30px 120px 30px 40px;
  font-size: 22px;
  line-height: 1.46em;
  color: #898989;
  font-weight: 500;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

.sp #page_system .system_section .header .header_opener {
  width: 78px;
  height: 78px;
  position: absolute;
  right: 29px;
  top: 50%;
  margin-top: -39px;
  background: url(/images_sp/system/header_opener.png) -80px 0 no-repeat;
  cursor: pointer;
}

.sp #page_system .system_section.comming .header_number {
  opacity: 0.4;
}

.sp #page_system .system_section.comming .header_title {
  color: #cfcfcf;
}

.sp #page_system .system_section.comming .header_opener {
  opacity: 0.5;
  cursor: default;
}

.sp #page_system .system_section.comming + .system_section.comming .header {
  border-top: none;
}

.sp #page_system .system_section.new .header:after {
  content: '';
  position: absolute;
  left: 0px;
  top: 0px;
  width: 67px;
  height: 67px;
  display: block;
  background: url(/images_sp/system/new.png) 0 0 no-repeat;
}

.sp #page_system .header_opener.bottom {
  width: 690px;
  text-indent: -9999px;
  white-space: nowrap;
  overflow: hidden;
  vertical-align: bottom;
  display: block;
  height: 92px;
  position: absolute;
  left: 0;
  bottom: 0;
  background: #727272 url(/images_sp/system/backTop.png) center center no-repeat;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.sp #page_system .system_section .content {
  -webkit-transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  transition: 1s cubic-bezier(0.075, 0.82, 0.165, 1) 0s;
  height: auto;
  overflow: hidden;
}

.sp #page_system .system_section.system_section-point-1 .content {
  max-height: 4000px;
}

.sp #page_system .system_section.system_section-point-2 .content {
  max-height: 3000px;
}

.sp #page_system .system_section.system_section-point-3 .content {
  max-height: 1700px;
}

.sp #page_system .system_section.system_section-point-4 .content {
  max-height: 1500px;
}

.sp #page_system .system_section.closed .header .header_opener {
  background-position: 0 0;
}

.sp #page_system .system_section.closed .content {
  max-height: 0;
  padding-bottom: 0;
}

.sp #page_system .system_section.closed .header_opener.bottom {
  height: 0;
}

/* =======================================================================
special
========================================================================== */
.sp #page_special {
  width: 750px;
  padding: 84px 0 0;
}

.sp .special_item {
  width: 590px;
  margin: 0 auto 34px;
}

.sp .special_item:last-child {
  margin-bottom: 130px;
}

.sp .special_item figure {
  height: 298px;
}

.sp .special_item .special-item-title {
  font-weight: 500;
  font-size: 30px;
  line-height: 40px;
  font-feature-setting: "palt";
  overflow: hidden;
}

.sp .special_item p {
  color: #474747;
  font-size: 20px;
  line-height: 1.65;
  text-align: justify;
}

.sp #page_special.list .special-item-inner {
  padding: 29px 52px;
}

.sp #page_special.list .special-item-inner .special-item-title {
  max-height: 80px;
  overflow: hidden;
}

.sp #page_special.single {
  padding-bottom: 70px;
}

.sp #page_special.single .special_item .special-item-header {
  padding: 28px 0;
}

.sp #page_special.single .special_item .special-item-title {
  margin: 0 52px;
}

.sp #page_special.single .special_item .special-item-inner {
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
}

.sp #page_special.single .special_item .special-text {
  padding: 0 52px 45px;
  margin-bottom: 45px;
}

.sp #page_special.single .special_item .special-text p {
  margin-bottom: 45px;
}

.sp #page_special.single .special_item .special-text p:last-child {
  margin-bottom: 0;
}

.sp #page_special.single .special_item .special-text img {
  margin-left: -52px;
  margin-bottom: 45px;
  width: 590px;
  height: auto;
}

.sp #page_special.single .pagenation {
  margin: 60px auto 0;
  width: 750px;
}

.sp #page_special.single .pagenation .pagenation_btn {
  background: #fff url(/images_sp/special/btn_top.png) center center no-repeat;
  width: 750px;
  height: 110px;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2), 0 2px 3px rgba(0, 0, 0, 0.4);
}