@charset "Shift-JIS";
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 */
html {
  font-family: 'Kosugi Maru', sans-serif;
  font-weight: bold;
  /* 1 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/*
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/*
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability of focused elements when they are also in an
 * active/hover state.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 8/9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: 'Kosugi Maru', sans-serif;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"], input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  box-sizing: content-box;
  /* 2 */
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

th,
td {
  padding: 0;
}

/* Modules
   ========================================================================== */
/* basic element */
html {
  font-family: 'Kosugi Maru', sans-serif;
  font-size: 10px;
  overflow-y: scroll;
  position: relative;
}

body {
  color: #f68ca2;
  font-size: 1.4rem;
  line-height: 1.75;
  min-width: 992px;
}

@media screen and (max-width: 767px) {
  body {
    min-width: 320px;
    position: relative;
    overflow: hidden;
  }
}

article {
  position: relative;
}

@media screen and (min-width: 768px) {
  article {
    width: 960px;
    margin: 0 auto;
    padding-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  article {
    z-index: 1;
  }
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
  margin: 0;
}

div {
  box-sizing: border-box;
}

a {
  color: #f68ca2;
  text-decoration: none;
  display: block;
}

@media screen and (min-width: 768px) {
  a:hover img {
    opacity: 0.7;
  }
}

p {
  word-wrap: break-word;
  margin: 0;
}

ul, ol, li {
  margin: 0;
  padding: 0;
}

ul {
  list-style: none;
}

dl, dt, dd {
  margin: 0;
}

img {
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  img {
    width: 100%;
  }
}

sup {
  line-height: 1.0;
  vertical-align: top;
}

sub {
  line-height: 1.0;
  vertical-align: bottom;
}

em {
  font-style: normal;
}

input {
  font-size: 1.4rem;
  padding: 0;
  display: block;
  border-radius: 7px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: none;
  box-sizing: border-box;
}

input::-webkit-input-placeholder {
  font-family: '‚l‚r ‚oƒSƒVƒbƒN', 'Lucida Sans Unicode', sans-serif;
  color: #f68ca2;
}

input::-moz-placeholder {
  font-family: '‚l‚r ‚oƒSƒVƒbƒN', 'Lucida Sans Unicode', sans-serif;
  color: #f68ca2;
}

input:-ms-input-placeholder {
  font-family: '‚l‚r ‚oƒSƒVƒbƒN', 'Lucida Sans Unicode', sans-serif;
  color: #f68ca2;
}

input::-ms-clear {
  visibility: hidden;
}

input[type="text"],
input[type="password"] {
  font-family: '‚l‚r ‚oƒSƒVƒbƒN', 'Lucida Sans Unicode', sans-serif;
}

input[type="text"]:focus,
input[type="password"]:focus {
  background: #fff !important;
}

input,
select {
  box-sizing: border-box;
}

input:focus,
select:focus {
  outline: none;
}

button {
  box-sizing: border-box;
  border: none;
  outline: none;
}

.clearfix:before,
.clearfix:after {
  content: "";
  display: table;
}

.clearfix:after {
  clear: both;
}

/* headerArea */
#headerArea {
  position: relative;
}

@media screen and (min-width: 768px) {
  #headerArea .logo {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #headerArea {
    z-index: 5200;
  }
  #headerArea .logo {
    position: relative;
    top: 0;
    left: 0;
    box-sizing: border-box;
    padding: 5.4% 0 10.8% 0;
    text-align: center;
  }
  #headerArea .logo img {
    width: 90%;
  }
}

#headerArea .basicBtn,
#headerArea .subBasicBtn,
#headerArea .pointBtn,
#headerArea .subBtn {
  line-height: 1;
}

@media screen and (min-width: 768px) {
  #headerArea .basicBtn,
  #headerArea .subBasicBtn,
  #headerArea .pointBtn,
  #headerArea .subBtn {
    padding: 14px 10px 8px 10px;
    min-height: 41px;
  }
}

@media screen and (max-width: 767px) {
  #headerArea .basicBtn,
  #headerArea .subBasicBtn,
  #headerArea .pointBtn,
  #headerArea .subBtn {
    padding: 5%;
  }
}

#headerArea.siteTop h1.logo {
  display: block;
}

#headerArea.siteTop .operation .ticket {
  display: none;
}

.operation {
  z-index: 5200;
  margin: 0 auto;
  width: 100%;
  position: absolute;
}

@media screen and (min-width: 768px) {
  .operation {
    min-height: 80px;
    width: 960px;
    padding-top: 10px;
    left: 50%;
    margin-left: -480px;
    background-position: 50% 100%;
  }
  .operation div {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .operation {
    background: none;
    padding: 0 3.8% 0 0;
    height: 57px;
    top: 100%;
  }
}

.operation img {
  width: 100%;
}

.operation .homeLink {
  position: absolute;
  background-image: url(/fanclub/common/img/bg_header.png);
  background-repeat: no-repeat;
  display: none;
  float: left;
}

@media screen and (min-width: 768px) {
  .operation .homeLink {
    background-image: url(/fanclub/common/img/bg_header.png);
    display: block;
    width: 322px;
    height: 87px;
    margin-top: -10px;
    padding-left: 260px;
    padding-right: 718px;
    left: 50%;
    margin-left: -740px;
    background-position: 50% 100%;
  }
  .operation .homeLink a {
    position: relative;
    top: 20px;
    left: 0;
    height: 38px;
  }
  .operation .homeLink a img {
    height: 38px;
  }
}

@media screen and (max-width: 767px) {
  .operation .homeLink {
    display: none;
    background-image: url(/fanclub/common/img/bg_header_sp.png);
    background-size: contain;
    padding-top: 4.4%;
    padding-left: 3.8%;
    padding-right: 45.6%;
    padding-bottom: 4.4%;
    width: 50%;
  }
}

.operation .toggle {
  cursor: pointer;
  position: relative;
  width: 57px;
  height: 57px;
  display: block;
  border-radius: 57px;
  float: right;
  background: #f68ca2;
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.1);
}

.operation .toggle::before,
.operation .toggle::after {
  display: block;
  position: absolute;
  content: "";
  background: #fff;
}

.operation .ticket {
  position: relative;
  float: right;
  padding: 0 2%;
}

.operation .ticket a {
  margin-top: 20%;
  height: 34.2px;
  background: #fff;
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.1);
  display: block;
  border-radius: 7px;
}

.operation .ticket img {
  width: auto;
  height: 100%;
}

.operation.close .toggle::after {
  top: 18.81px;
  left: 17.1px;
  width: 23px;
  height: 3px;
  display: block;
  border-radius: 7px;
  box-shadow: 0 8px #fff, 0 16px #fff;
}

.operation.linkage {
  position: fixed;
  top: 0;
}

.operation.linkage.open {
  position: relative;
}

.operation.linkage .logo {
  display: none;
}

@media screen and (max-width: 767px) {
  .operation.linkage {
    height: 0;
    padding: 0 3.8% 15.2% 0;
  }
  .operation.linkage.close .homeLink {
    display: block;
  }
}

.operation.open {
  background: none;
  display: none;
}

@media screen and (max-width: 767px) {
  .operation.open {
    margin-left: auto;
    margin-right: auto;
    width: 92%;
    padding: 0;
  }
}

.operation.open .toggle::before,
.operation.open .toggle::after {
  top: 27.36px;
  left: 14.25px;
  width: 30px;
  height: 4px;
  display: block;
  border-radius: 7px;
}

.operation.open .toggle::before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.operation.open .toggle::after {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.operation.open .ticket {
  display: none;
}

#globalMenu {
  z-index: 5800;
}

#globalMenu:before,
#globalMenu:after {
  content: "";
  display: table;
}

#globalMenu:after {
  clear: both;
}

#globalMenu .toggle {
  cursor: pointer;
  position: absolute;
  float: right;
  width: 57px;
  height: 57px;
  display: block;
  border-radius: 57px;
  background: #f68ca2;
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.1);
}

#globalMenu .toggle::before,
#globalMenu .toggle::after {
  display: block;
  position: absolute;
  content: "";
  background: #fff;
}

@media screen and (max-width: 767px) {
  #globalMenu.open {
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
}

#globalMenu.open .toggle::before,
#globalMenu.open .toggle::after {
  top: 27px;
  left: 14px;
  width: 30px;
  height: 4px;
  display: block;
  border-radius: 7px;
}

#globalMenu.open .toggle::before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#globalMenu.open .toggle::after {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (min-width: 768px) {
  #globalMenu {
    position: fixed;
    top: 0;
    left: 50%;
    margin-left: -496px;
  }
  #globalMenu .toggle {
    top: 10px;
    right: 16px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu {
    position: fixed;
    top: 0;
  }
  #globalMenu .toggle {
    right: 4%;
  }
}

#globalMenu img {
  width: 100%;
}

#globalMenu.open {
  display: block;
}

#globalMenu.close {
  display: none;
}

@media screen and (max-width: 767px) {
  #globalMenu.close {
    padding-bottom: 10%;
  }
}

#globalMenu.linkage {
  position: fixed;
}

#globalMenu.linkage .menuContent {
  padding-top: 8rem;
}

#globalMenu.linkage .linkLogo {
  display: block;
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #globalMenu.linkage .linkLogo img {
    width: 38%;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu.linkage .linkLogo {
    text-align: center;
  }
  #globalMenu.linkage .linkLogo img {
    width: 92%;
  }
}

@media screen and (min-width: 768px) {
  #globalMenu .menuContent {
    margin: 0 auto;
    width: 992px;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .menuContent {
    padding-top: 20%;
    width: 92%;
    margin: 0 auto;
  }
}

@media screen and (min-width: 768px) {
  #globalMenu .language {
    position: absolute;
    top: -90px;
    right: -400px;
    width: 400px;
    background: #fff;
    color: #f68ca2;
    display: block;
    border-radius: 7px;
    padding: 10px 20px;
  }
  #globalMenu .language a {
    color: #f68ca2;
  }
  #globalMenu .language a:hover {
    text-decoration: underline;
  }
  #globalMenu .language dt {
    margin-right: 20px;
  }
}

@media screen and (min-width: 768px) {
  #globalMenu .linkLogo {
    display: block;
    margin: 20px auto 45px 16px;
  }
  #globalMenu .linkLogo a {
    box-sizing: border-box;
    width: 290px;
    height: 46px;
    padding-top: 10px;
  }
  #globalMenu .linkLogo a img {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .linkLogo {
    /*margin: 15px 3.8% 20px 3.8%;*/
    margin: 5.4% 0 10.8% 0;
    text-align: center;
  }
  #globalMenu .linkLogo a img {
    width: 90%;
  }
}

#globalMenu .menuBlock {
  background: #f68ca2;
  display: block;
  border-radius: 7px;
  position: relative;
}

#globalMenu .menuBlock::before {
  content: "";
  position: absolute;
  background-image: url(/fanclub/common/img/img_gnav.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #globalMenu .menuBlock {
    width: 474px;
    float: left;
    margin-right: 12px;
    margin-left: 16px;
    padding: 13px;
  }
  #globalMenu .menuBlock::before {
    top: -35px;
    left: 275px;
    width: 135px;
    height: 81px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .menuBlock {
    padding: 6%;
  }
  #globalMenu .menuBlock::before {
    top: -60px;
    left: 35px;
    width: 120px;
    height: 72px;
  }
}

#globalMenu .menuBlock form.searchForm {
  position: relative;
  width: 204px;
  height: 36px;
}

@media screen and (max-width: 767px) {
  #globalMenu .menuBlock form.searchForm {
    width: 100%;
    height: 3.8rem;
  }
}

#globalMenu .menuBlock form.searchForm input.keywords {
  width: 100%;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  height: 36px;
  background: #fff;
  padding-left: 10px;
}

#globalMenu .menuBlock form.searchForm .searchBtn {
  position: absolute;
  top: 8px;
  right: 10px;
  padding: 0;
  background: #fff;
}

#globalMenu .menuBlock form.searchForm .searchBtn img {
  width: 22px;
  height: 22px;
}

#globalMenu .menuBlock .menuList ul {
  margin-top: -4px;
  margin-left: -4px;
}

#globalMenu .menuBlock .menuList li {
  float: left;
  margin-top: 4px;
  margin-left: 4px;
  line-height: 1.25;
}

#globalMenu .menuBlock .menuList li a {
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  text-align: center;
  display: block;
  border-radius: 7px;
}

#globalMenu .menuBlock .menuList li a span {
  display: block;
  margin: 0 -15%;
}

@media screen and (min-width: 768px) {
  #globalMenu .menuBlock .menuList {
    margin-top: 10px;
  }
  #globalMenu .menuBlock .menuList .mainMenu {
    width: 312px;
    float: left;
  }
  #globalMenu .menuBlock .menuList .mainMenu a {
    width: 100px;
    height: 107px;
    padding: 6px 12px;
  }
  #globalMenu .menuBlock .menuList .subMenu {
    width: 140px;
    float: right;
  }
  #globalMenu .menuBlock .menuList .subMenu a {
    width: 66px;
    height: 70px;
    padding: 5px 6px;
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .menuBlock .menuList ul {
    margin-top: 0;
    margin-left: -1.8%;
  }
  #globalMenu .menuBlock .menuList li {
    margin-top: 1.8%;
    margin-left: 1.8%;
    width: 31.4%;
  }
  #globalMenu .menuBlock .menuList li a {
    width: 100%;
    padding: 10% 14%;
    height: 0;
    padding-bottom: 95%;
    font-size: 1.2rem;
  }
}

#globalMenu .bannerBlock {
  display: block;
  border-radius: 7px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  #globalMenu .bannerBlock {
    width: 231px;
    position: relative;
    left: 502px;
    margin-top: 12px;
  }

  #globalMenu .bannerBlock:nth-child(2) {
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .bannerBlock {
    margin-top: 5%;
  }
}

#globalMenu .hoursBlock {
  background: #8ac4ee;
  color: #fff;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  #globalMenu .hoursBlock {
    width: 231px;
    float: left;
    margin-right: 12px;
    padding: 13px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .hoursBlock {
    margin-top: 5%;
    padding: 6%;
  }
}

#globalMenu .hoursBlock .today {
  text-align: center;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  #globalMenu .hoursBlock .today {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .hoursBlock .today {
    font-size: 2.2rem;
  }
}

#globalMenu .hoursBlock .hours {
  text-align: center;
  line-height: 1;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #globalMenu .hoursBlock .hours {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .hoursBlock .hours {
    font-size: 3.7rem;
  }
}

#globalMenu .hoursBlock .linkList {
  margin-top: 15px;
}

#globalMenu .hoursBlock .linkList li {
  float: left;
  margin-top: 3px;
  margin-left: 3px;
  width: 66px;
  line-height: 1.25;
}

#globalMenu .hoursBlock .linkList li a {
  display: block;
  color: #fff;
  text-align: center;
  font-size: 0.9rem;
}

#globalMenu .hoursBlock .linkList li a span {
  padding: 10% 14%;
  margin-bottom: 0.5rem;
  box-sizing: border-box;
  overflow: hidden;
  background: #fff;
  display: block;
  border-radius: 7px;
}

#globalMenu .hoursBlock .linkList li a:hover {
  text-decoration: underline;
}

#globalMenu .hoursBlock .linkList li.latency a,
#globalMenu .hoursBlock .linkList li.stoplist a {
  color: #8ac4ee;
}

#globalMenu .hoursBlock .linkList li.latency a:hover,
#globalMenu .hoursBlock .linkList li.stoplist a:hover {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  #globalMenu .hoursBlock .linkList li {
    letter-spacing: -1px;
  }
  #globalMenu .hoursBlock .linkList li.latency {
    padding-top: 15px;
    letter-spacing: 0px;
  }
  #globalMenu .hoursBlock .linkList li.stoplist {
    letter-spacing: 0px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .hoursBlock .linkList ul {
    margin-top: 0;
    margin-left: -1.8%;
  }
  #globalMenu .hoursBlock .linkList li {
    margin-top: 1.8%;
    margin-left: 1.8%;
    width: 32%;
  }
  #globalMenu .hoursBlock .linkList li.latency {
    padding-top: 5%;
  }
  #globalMenu .hoursBlock .linkList li a {
    font-size: 1rem;
  }
  #globalMenu .hoursBlock .linkList li span {
    width: 100%;
  }
}

#globalMenu .hoursBlock .linkList li:first-child {
  margin-left: 0;
}

#globalMenu .hoursBlock .linkList li.latency,
#globalMenu .hoursBlock .linkList li.stoplist {
  clear: both;
  float: none;
  width: 100%;
  margin-left: 0;
}

#globalMenu .hoursBlock .linkList li.latency a,
#globalMenu .hoursBlock .linkList li.stoplist a {
  font-size: 1.4rem;
}

#globalMenu .ticketBlock {
  background: #f68ca2;
  color: #fff;
  position: relative;
  display: block;
  border-radius: 7px;
}

#globalMenu .ticketBlock::before {
  content: "";
  position: absolute;
  background-image: url(/fanclub/common/img/btn_ticket.png);
  background-size: 100%;
  background-repeat: no-repeat;
  -webkit-transform: rotate(-20deg);
      -ms-transform: rotate(-20deg);
          transform: rotate(-20deg);
  top: -10%;
  left: -4.8%;
  width: 60px;
  height: 33px;
}

@media screen and (min-width: 768px) {
  #globalMenu .ticketBlock {
    clear: both;
    width: 231px;
    float: left;
    margin-top: 12px;
    margin-right: 12px;
    margin-left: 16px;
    padding: 13px;
  }
  #globalMenu .ticketBlock dd {
    margin-top: 3px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .ticketBlock {
    margin-top: 5%;
    padding: 6%;
  }
  #globalMenu .ticketBlock dd {
    margin-top: 1.8%;
  }
}

#globalMenu .fanClubBlock {
  background: #f68ca2;
  color: #fff;
  display: block;
  border-radius: 7px;
}

#globalMenu .fanClubBlock::before {
  content: "";
  position: absolute;
  background-image: url(/fanclub/common/img/img_fanclub.png);
  background-size: 100%;
  background-repeat: no-repeat;
  top: -3%;
  left: -3.6%;
  width: 135px;
  height: 81px;
}

@media screen and (min-width: 768px) {
  #globalMenu .fanClubBlock {
    position: absolute;
    top: 0;
    right: 0;
    width: 231px;
    padding: 13px;
    margin-right: 16px;
  }
  #globalMenu .fanClubBlock::before {
    width: 58px;
    height: 58px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .fanClubBlock {
    margin-top: 5%;
    padding: 6%;
    position: relative;
  }
  #globalMenu .fanClubBlock::before {
    width: 66px;
    height: 66px;
  }
}

@media screen and (min-width: 768px) {
  #globalMenu .fanClubBlock p {
    margin-top: 3px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .fanClubBlock p {
    margin-top: 1.8%;
  }
}

#globalMenu .fanClubBlock dd dt {
  margin-top: 10px;
  text-align: center;
  font-size: 1.6rem;
}

@media screen and (max-width: 767px) {
  #globalMenu .fanClubBlock dd dd {
    font-size: 1.6rem;
  }
}

#globalMenu .fanClubBlock input {
  width: 100%;
  background: #fcdde3;
  color: #f58ca2;
}

@media screen and (min-width: 768px) {
  #globalMenu .fanClubBlock input {
    padding: 10px;
    min-height: 41px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .fanClubBlock input {
    padding: 5%;
  }
}

#globalMenu .fanClubBlock input.login {
  text-align: center;
  background: #fff;
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  #globalMenu .fanClubBlock input.login:hover {
    opacity: 0.7;
  }
}

@media screen and (min-width: 768px) {
  #globalMenu .fanClubBlock input {
    margin-top: 3px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .fanClubBlock input {
    margin-top: 1.8%;
  }
}

#globalMenu .fanClubBlock p.notes {
  margin-top: 5%;
  text-align: center;
}

#globalMenu .fanClubBlock p.notes a {
  color: #fff;
}

#globalMenu .topicKeywordBlock {
  background: #f68ca2;
  color: #fff;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  #globalMenu .topicKeywordBlock {
    width: 231px;
    float: left;
    margin-top: 12px;
    margin-right: 12px;
    padding: 13px;
  }
  #globalMenu .topicKeywordBlock a:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .topicKeywordBlock {
    margin-top: 5%;
    padding: 6%;
  }
}

#globalMenu .topicKeywordBlock dt.Stit {
  position: relative;
}

#globalMenu .topicKeywordBlock dt.Stit::after {
  content: "";
  position: absolute;
  top: 3rem;
  left: 0;
  border: 1px solid #fcdde3;
  display: block;
  border-radius: 7px;
  height: 0;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #globalMenu .topicKeywordBlock dt.Stit {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .topicKeywordBlock dt.Stit {
    margin-bottom: 5%;
  }
}

#globalMenu .topicKeywordBlock .keywordList li {
  float: left;
  margin-right: 5%;
}

@media screen and (min-width: 768px) {
  #globalMenu .topicKeywordBlock .keywordList li {
    font-size: 1.2rem;
  }
}

#globalMenu .topicKeywordBlock .keywordList li a {
  color: #fff;
}

#globalMenu .SNSBlock {
  background: #f68ca2;
  color: #fff;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  #globalMenu .SNSBlock {
    width: 231px;
    float: left;
    margin-right: 12px;
    padding: 13px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .SNSBlock {
    margin-top: 5%;
    padding: 6%;
  }
}

#globalMenu .SNSBlock li {
  width: 20%;
  float: left;
  padding: 5% 0 5% 10%;
}

#globalMenu .SNSBlock dd p {
  margin-top: 5%;
}

#globalMenu dt.tit {
  font-size: 2.0rem;
  line-height: 1.2;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #globalMenu dt.tit {
    margin-bottom: 10px;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu dt.tit {
    margin-bottom: 5%;
  }
}

@media screen and (min-width: 768px) {
  .forSPFoot {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .forSPFoot {
    position: relative;
    width: 92%;
    margin: 5px auto;
  }
  .forSPFoot .toggle {
    cursor: pointer;
    position: relative;
    top: 20px;
    float: right;
    width: 57px;
    height: 57px;
    display: block;
    border-radius: 57px;
    background: #f68ca2;
  }
  .forSPFoot .toggle::before,
  .forSPFoot .toggle::after {
    display: block;
    position: absolute;
    content: "";
    background: #fff;
  }
  .forSPFoot.open .toggle::before,
  .forSPFoot.open .toggle::after {
    top: 27.36px;
    left: 14.25px;
    width: 30px;
    height: 4px;
    display: block;
    border-radius: 7px;
  }
  .forSPFoot.open .toggle::before {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .forSPFoot.open .toggle::after {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
}

@media screen and (min-width: 768px) {
  #footerArea a:hover {
    text-decoration: underline;
  }
  #footerArea .action {
    width: 960px;
    margin: 0 auto;
  }
}

#footerArea .snsBlock li {
  float: left;
}

#footerArea .snsBlock li:first-child {
  margin-left: 0;
}

#footerArea .snsBlock li a {
  display: block;
  border-radius: 7px;
  color: #fff;
  background-repeat: no-repeat;
  background-size: auto 60%;
  background-position: 10% 50%;
}

@media screen and (min-width: 768px) {
  #footerArea .snsBlock {
    padding-top: 57px;
    float: left;
  }
  #footerArea .snsBlock li {
    width: 90px;
    margin-left: 10px;
  }
  #footerArea .snsBlock li a {
    padding: 5px 5px 5px 30px;
  }
  #footerArea .snsBlock li a:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .snsBlock {
    padding: 3.8%;
  }
  #footerArea .snsBlock li {
    width: 32%;
    margin-left: 2%;
  }
  #footerArea .snsBlock li a {
    padding: 12% 8% 12% 40%;
  }
}

#footerArea .snsBlock .twitter a {
  background-color: #08aae1;
  background-image: url(/fanclub/common/img/foot_icon_twitter.png);
}

#footerArea .snsBlock .facebook a {
  background-color: #315b98;
  background-image: url(/fanclub/common/img/foot_icon_facebook.png);
}

#footerArea .snsBlock .line a {
  background-color: #00c300;
  background-image: url(/fanclub/common/img/foot_icon_line.png);
}

@media screen and (max-width: 767px) {
  #footerArea .action .goBackTop:first-child {
    margin: 9% 0;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .goBackTop {
    padding: 0 10%;
  }
  #footerArea .goBackTop a {
    display: block;
    border-radius: 7px;
    box-sizing: border-box;
    text-align: center;
    position: relative;
    padding: 7% 0;
    background: #f68ca2;
    color: #fff;
  }
  #footerArea .goBackTop a::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 13%;
    background: #fff;
    height: 24px;
    width: 24px;
    margin-top: -12px;
    display: block;
    border-radius: 24px;
  }
  #footerArea .goBackTop span {
    display: block;
    position: absolute;
    top: 50%;
    left: 13%;
    margin-top: -12px;
    z-index: 3030;
    padding-left: 20%;
  }
  #footerArea .goBackTop span::before,
  #footerArea .goBackTop span::after {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 2px;
    background-color: #f68ca2;
    display: block;
    border-radius: 7px;
    top: 40%;
    left: 3.4%;
  }
  #footerArea .goBackTop span::before {
    margin-left: 4px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #footerArea .goBackTop span::after {
    margin-left: -2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media screen and (min-width: 768px) {
  #footerArea .goBackTop {
    float: right;
  }
  #footerArea .goBackTop:before,
  #footerArea .goBackTop:after {
    content: "";
    display: table;
  }
  #footerArea .goBackTop:after {
    clear: both;
  }
  #footerArea .goBackTop p {
    position: relative;
    top: 0;
    left: 0;
    height: 113px;
    width: 100%;
  }
  #footerArea .goBackTop p:hover {
    background: none;
  }
  #footerArea .goBackTop p a {
    padding: 0;
    position: absolute;
    top: 0;
    right: 0;
    width: 68px;
    height: 113px;
    background-image: url(/fanclub/common/img/img_top_kitty.png);
    background-color: #fff;
  }
  #footerArea .goBackTop p a:hover {
    background-image: url(/fanclub/common/img/img_top_kitty.png);
    background-color: #fff;
  }
  #footerArea .goBackTop p a span {
    display: none;
  }
}

#footerArea .sponsorBnr {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #footerArea .sponsorBnr {
    padding: 15px 0;
    background: #f3f0ed;
  }
  #footerArea .sponsorBnr ul {
    width: 960px;
    margin: 0 auto;
    height: 80px;
    overflow: hidden;
  }
  #footerArea .sponsorBnr li {
    float: left;
    margin-left: 13px;
  }
  #footerArea .sponsorBnr li:first-child {
    margin: 0;
  }
  #footerArea .sponsorBnr img {
    width: 230px;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .sponsorBnr {
    margin-top: 3rem;
    padding: 4.2% 3.8% 0 3.8%;
    background: #f68ca2;
  }
  #footerArea .sponsorBnr li {
    display: none;
  }
  #footerArea .sponsorBnr li:first-child {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  #footerArea .relationBnr {
    padding: 15px 0;
    background: #f3f0ed;
  }
  #footerArea .relationBnr ul {
    width: 960px;
    margin: 0 auto;
    height: 80px;
    overflow: hidden;
  }
  #footerArea .relationBnr li {
    float: left;
    margin-left: 13px;
  }
  #footerArea .relationBnr li:first-child {
    margin: 0;
  }
  #footerArea .relationBnr img {
    width: 230px;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .relationBnr {
    padding: 4.2% 3.8%;
    background: #f68ca2;
  }
  #footerArea .relationBnr li {
    display: none;
  }
  #footerArea .relationBnr li:first-child {
    display: block;
  }
}

#footerArea .linkBlock {
  background: #f68ca2;
}

#footerArea .linkBlock li {
  float: left;
}

@media screen and (min-width: 768px) {
  #footerArea .linkBlock {
    padding: 30px 0;
  }
  #footerArea .linkBlock .siteLink {
    width: 960px;
    margin: 0 auto;
    color: #fff;
  }
  #footerArea .linkBlock .siteLink dt {
    margin-top: 13px;
    position: static;
  }
  #footerArea .linkBlock .siteLink dt::before {
    position: static;
    content: "œ";
    padding-right: 3px;
    height: auto;
    width: auto;
    border-radius: 0;
    display: inline;
  }
  #footerArea .linkBlock .siteLink dt::after {
    position: static;
    content: "";
    height: auto;
    width: auto;
    border-radius: 0;
    display: inline;
  }
  #footerArea .linkBlock .siteLink dt,
  #footerArea .linkBlock .siteLink dd {
    float: none;
  }
  #footerArea .linkBlock li {
    margin-top: 5px;
    padding-right: 10px;
    font-size: 1.2rem;
  }
  #footerArea .linkBlock li:last-child {
    padding-left: 0;
  }
  #footerArea .linkBlock li:last-child::after {
    content: "";
    padding-left: 0;
  }
  #footerArea .linkBlock li::after {
    content: "/";
    padding-left: 10px;
  }
  #footerArea .linkBlock .language li {
    padding: 0;
  }
  #footerArea .linkBlock .language li::after {
    content: "";
  }
  #footerArea .linkBlock a {
    color: #fff;
    display: inline;
  }
  #footerArea .linkBlock .mainLink {
    width: 530px;
    float: left;
  }
  #footerArea .linkBlock .mainLink .accordion .accordionToggle {
    cursor: default;
  }
  #footerArea .linkBlock .mainLink dl.about dt {
    margin-top: 0;
  }
  #footerArea .linkBlock .subLink {
    width: 335px;
    float: right;
  }
  #footerArea .linkBlock .subLink .accordion .accordionToggle {
    cursor: default;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .action + .linkBlock {
    margin-top: 10%;
  }
  #footerArea .linkBlock {
    padding: 2rem 3.8% 6rem 3.8%;
    background: #f68ca2;
    font-size: 1.2rem;
  }
  #footerArea .linkBlock .siteLink {
    position: relative;
    padding: 5.8%;
    background: #fff;
    display: block;
    border-radius: 7px;
  }
  #footerArea .linkBlock .siteLink dt {
    padding: 15px 25px 15px 20px;
    border-bottom: 1px solid #fcdde3;
  }
  #footerArea .linkBlock .siteLink dt::before {
    top: 24px;
    right: 8px;
  }
  #footerArea .linkBlock .siteLink dt::after {
    top: 16px;
    right: 16px;
  }
  #footerArea .linkBlock .siteLink li {
    width: 100%;
    box-sizing: border-box;
    position: relative;
    border-bottom: 1px solid #fcdde3;
    padding-left: 15px;
  }
  #footerArea .linkBlock .siteLink .accordion a {
    display: block;
    padding: 15px 20px 15px 15px;
    position: relative;
  }
  #footerArea .linkBlock .siteLink .accordion a::before,
  #footerArea .linkBlock .siteLink .accordion a::after {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 2px;
    background-color: #f68ca2;
    display: block;
    border-radius: 7px;
    top: 50%;
    right: 11px;
  }
  #footerArea .linkBlock .siteLink .accordion a::before {
    margin-top: -4px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #footerArea .linkBlock .siteLink .accordion a::after {
    margin-top: 2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #footerArea .linkBlock .siteLink .about ul {
    font-size: 0px;
  }
  #footerArea .linkBlock .siteLink .about li {
    width: 50%;
    padding-left: 0;
    display: inline-block;
    font-size: 1.2rem;
    float: none !important;
    vertical-align: middle;
  }
  #footerArea .linkBlock .siteLink .about li:nth-child(odd) {
    border-right: 1px solid #fcdde3;
  }
  #footerArea .linkBlock .siteLink .about li:nth-child(14) {
    letter-spacing: -0.2rem;
  }
  #footerArea .linkBlock .siteLink .about li.info {
    letter-spacing: -0.2rem;
  }
  #footerArea .linkBlock .siteLink .language {
    position: absolute;
    bottom: -6rem;
    left: 0;
    width: 100%;
  }
  #footerArea .linkBlock .siteLink .language dt {
    padding: 0;
    border-bottom: none;
  }
  #footerArea .linkBlock .siteLink .language dt::before,
  #footerArea .linkBlock .siteLink .language dt::after {
    content: '';
    height: 0;
    width: 0;
    display: block;
    background: none;
    border-radius: 0;
    position: relative;
    top: 0;
    right: 0;
  }
  #footerArea .linkBlock .siteLink .language ul {
    display: table;
  }
  #footerArea .linkBlock .siteLink .language li {
    display: table-cell;
    float: none;
    width: auto;
    white-space: nowrap;
    border-bottom: none;
    padding: 0 7px 0 0;
  }
  #footerArea .linkBlock .siteLink .language li::before {
    padding-right: 7px;
  }
  #footerArea .linkBlock .siteLink .language li:first-child::before {
    padding-right: 0;
  }
  #footerArea .linkBlock .siteLink .language li a {
    display: inline-block;
  }
  #footerArea .linkBlock .siteLink .language li a::after {
    position: relative;
    top: 0;
    right: 0;
    content: "";
  }
}

@media screen and (min-width: 768px) {
  #footerArea .linkBlock + footer {
    margin-top: -30px;
  }
}

#footerArea footer {
  background: #f68ca2;
}

@media screen and (max-width: 767px) {
  #footerArea footer a.forSPTelLink {
    color: #fff;
    display: inline-block;
  }
}

#footerArea footer p {
  color: #fff;
}

@media screen and (min-width: 768px) {
  #footerArea footer .footerBG {
    margin: 0 auto;
    width: 960px;
    min-height: 140px;
    padding-top: 15px;
    background: url(/fanclub/common/img/bg_footer.png) no-repeat 732px 56px;
  }
  #footerArea footer .footLink li {
    float: left;
    padding-right: 10px;
    font-size: 1.2rem;
  }
  #footerArea footer .footLink li::before {
    content: "/";
    padding-right: 10px;
    color: #fff;
  }
  #footerArea footer .footLink li a {
    display: inline;
  }
  #footerArea footer .footLink li:first-child::before {
    content: "";
    padding-right: 0;
  }
  #footerArea footer .footLink a {
    color: #fff;
    font-size: 1.2rem;
  }
  #footerArea footer .contact {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  #footerArea footer .contact br {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  #footerArea footer .annotation,
  #footerArea footer .warning,
  #footerArea footer .copyright {
    margin-top: 5px;
    font-size: 1rem;
  }
  #footerArea footer .warning {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  #footerArea footer {
    padding: 1.3rem 3.8% 0 3.8%;
  }
  #footerArea footer .footLink {
    background: #fff;
    display: block;
    border-radius: 7px;
  }
  #footerArea footer .footLink li {
    box-sizing: border-box;
    padding: 0 7%;
  }
  #footerArea footer .footLink li a {
    padding: 3.6% 0;
    border-top: 1px solid #fcdde3;
  }
  #footerArea footer .footLink li:first-child a {
    border-top: none;
  }
  #footerArea footer .contact {
    margin-top: 2.5rem;
    padding: 0 7%;
  }
  #footerArea footer .contact .annotation {
    font-size: 1.2rem;
  }
  #footerArea footer .warning {
    margin-top: 2.5rem;
    padding: 0 7%;
  }
  #footerArea footer .copyright {
    padding: 0 7% 7% 7%;
    margin-top: 1rem;
  }
  #footerArea footer .copyright span {
    display: block;
    word-wrap: break-word;
  }
}

a.textLink {
  color: #fff;
  display: inline-block;
  text-indent: 0;
  text-decoration: underline !important;
  border-bottom: none !important;
}

@media screen and (min-width: 768px) {
  .breadcrumb {
    z-index: 5100;
    position: relative;
    top: 0;
    left: 0;
    width: 960px;
    margin: 0 auto -50px auto;
    padding-top: 130px;
  }
}

@media screen and (max-width: 767px) {
  .breadcrumb {
    z-index: 5300;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    height: 0;
    padding: 18% 3.8% 0 3.8%;
    box-sizing: border-box;
  }
  .breadcrumb:before,
  .breadcrumb:after {
    content: "";
    display: table;
  }
  .breadcrumb:after {
    clear: both;
  }
}

.breadcrumb p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  word-wrap: normal;
}

@media screen and (min-width: 768px) {
  .breadcrumb p {
    width: 210px;
  }
}

@media screen and (max-width: 767px) {
  .breadcrumb p {
    max-width: 100%;
    float: right;
  }
}

.breadcrumb p a {
  display: inline;
}

.breadcrumb p a:hover span {
  text-decoration: underline;
}

.breadcrumb p a::after {
  content: ">";
  padding: 0 6px;
}

@media screen and (min-width: 768px) {
  .breadcrumb.detailPage p {
    width: 650px;
  }
}

.categoryName {
  position: relative;
  z-index: 3500;
}

@media screen and (min-width: 768px) {
  h1.categoryName {
    margin-bottom: -50px;
    text-align: center;
  }
  h1.categoryName img {
    margin-top: -20px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName {
    margin-top: -3%;
    margin-bottom: -8%;
  }
}

div.categoryName {
  position: relative;
}

@media screen and (min-width: 768px) {
  div.categoryName {
    top: -20px;
    margin-bottom: -70px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  div.categoryName {
    margin-top: -3%;
    margin-bottom: -8%;
  }
}

@media screen and (min-width: 768px) {
  div.categoryName h1 {
    position: relative;
    top: 0;
  }
}

div.categoryName .icon {
  position: absolute;
}

@media screen and (min-width: 768px) {
  div.categoryName .icon {
    top: 0;
    left: 130px;
  }
}

@media screen and (max-width: 767px) {
  div.categoryName .icon {
    top: 0;
    left: 0;
    width: 40%;
  }
}

div.categoryName .charaImg {
  position: absolute;
  top: 0;
  right: 50px;
}

@media screen and (min-width: 768px) {
  p.categoryName {
    margin-top: -130px;
    margin-bottom: -25px;
    text-align: right;
    padding-right: 80px;
  }
}

@media screen and (max-width: 767px) {
  p.categoryName {
    margin-bottom: -20%;
    width: 44%;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.notCarousel img {
    margin-top: -30px;
    margin-bottom: -20px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.notCarousel {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.notCarousel + .subColorBG, h1.categoryName.notCarousel + #calendarBlock {
    padding-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.notCarousel + .subColorBG, h1.categoryName.notCarousel + #calendarBlock {
    margin-top: 0;
    box-shadow: none;
  }
}

@media screen and (max-width: 767px) {
  .curveBtm.subColorBG, .curveBtm#calendarBlock {
    background-image: url(/fanclub/common/img/bg_curve_sp_01.png);
    background-repeat: no-repeat;
    background-position: 0 100%;
    background-size: 100% auto;
    padding-top: 15px;
    padding-bottom: 12%;
  }
  .curveBtm.subColorBG .leadBlcok, .curveBtm#calendarBlock .leadBlcok {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  article #mainCarouselArea:first-child {
    margin-top: 61px;
  }
}

@media screen and (max-width: 767px) {
  article #mainCarouselArea:first-child {
    margin-top: 15.5%;
  }
}

@media screen and (min-width: 768px) {
  p.categoryName.information {
    padding-right: 0;
  }
}

@media screen and (min-width: 768px) {
  p.categoryName.information {
    padding-right: 0;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.parallel {
    margin-top: 40px;
    margin-bottom: -60px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.parallel {
    margin-bottom: 0;
    margin-top: 50px;
  }
  h1.categoryName.parallel img {
    width: auto;
    height: 50px;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.parallel + .subColorBG, h1.categoryName.parallel + #calendarBlock {
    padding-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.parallel + .subColorBG, h1.categoryName.parallel + #calendarBlock {
    margin-top: -6%;
    box-shadow: none;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.pde {
    margin-top: 30px;
    margin-bottom: -90px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.pde {
    width: 88%;
    margin: 54px 10px 0 10px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.pde + .subColorBG, h1.categoryName.pde + #calendarBlock {
    margin-top: -10%;
    padding-top: 8%;
    box-shadow: none;
  }
}

@media screen and (max-width: 767px) {
  p.categoryName.facility {
    width: 60%;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.schedule {
    margin-top: 45px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.schedule {
    margin-top: 70px;
    text-align: center;
  }
}

h1.categoryName.schedule img {
  position: relative;
  z-index: 5100;
}

@media screen and (max-width: 767px) {
  h1.categoryName.schedule img {
    width: 273px;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.schedule .icon {
    position: absolute;
    top: -42px;
    left: 220px;
    z-index: 5000;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.schedule .icon {
    position: absolute;
    top: -90px;
    left: 50%;
    margin-left: -180px;
    z-index: 5000;
    width: 112px;
    height: 90px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.schedule .icon img {
    width: 112px;
    height: 105px;
  }
}

h1.couponDetail {
  position: relative;
  z-index: 3500;
}

@media screen and (min-width: 768px) {
  h1.couponDetail {
    height: 110px;
    text-align: center;
  }
  h1.couponDetail img {
    margin-top: 60px;
  }
}

@media screen and (max-width: 767px) {
  h1.couponDetail {
    margin-top: 45px;
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  h1.couponDetail img {
    width: 249px;
  }
}

h1.couponDetail + .keyColorBG {
  z-index: 3400;
}

@media screen and (min-width: 768px) {
  h1.couponDetail + .keyColorBG {
    margin-top: -20px;
  }
}

@media screen and (max-width: 767px) {
  h1.couponDetail + .keyColorBG {
    box-shadow: none;
    margin-top: -50px;
  }
}

h1.stoplist {
  position: relative;
  z-index: 3500;
}

@media screen and (min-width: 768px) {
  h1.stoplist {
    margin-top: 30px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  h1.stoplist {
    margin-top: 45px;
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  h1.stoplist img {
    width: 131px;
  }
}

h1.stoplist + .keyColorBG {
  z-index: 3400;
}

@media screen and (min-width: 768px) {
  h1.stoplist + .keyColorBG {
    margin-top: -37px;
  }
}

@media screen and (max-width: 767px) {
  h1.stoplist + .keyColorBG {
    box-shadow: none;
    margin-top: -19px;
  }
}

.menuBlock .access,
#sideNav .access {
  color: #b296ca;
}

.menuBlock .access a,
#sideNav .access a {
  color: #b296ca;
}

.menuBlock .access a:hover,
#sideNav .access a:hover {
  color: #cdbbdc;
}

.menuBlock .attraction,
#sideNav .attraction {
  color: #f58ca2;
}

.menuBlock .attraction a,
#sideNav .attraction a {
  color: #f58ca2;
}

.menuBlock .attraction a:hover,
#sideNav .attraction a:hover {
  color: #f9c6d0;
}

.menuBlock .character,
#sideNav .character {
  color: #97cfb8;
}

.menuBlock .character a,
#sideNav .character a {
  color: #97cfb8;
}

.menuBlock .character a:hover,
#sideNav .character a:hover {
  color: #cbe6db;
}

.menuBlock .decoration a,
#sideNav .decoration a {
  color: #ee9434;
}

.menuBlock .decoration a:hover,
#sideNav .decoration a:hover {
  color: #ffcd7b;
}

.menuBlock .enjoy,
#sideNav .enjoy {
  color: #b18aca;
}

.menuBlock .enjoy a,
#sideNav .enjoy a {
  color: #b18aca;
}

.menuBlock .enjoy a:hover,
#sideNav .enjoy a:hover {
  color: #c9adda;
}

.menuBlock .facility,
#sideNav .facility {
  color: #f58ca2;
}

.menuBlock .facility a,
#sideNav .facility a {
  color: #f58ca2;
}

.menuBlock .facility a:hover,
#sideNav .facility a:hover {
  color: #f9c0cb;
}

.menuBlock .floorguide,
#sideNav .floorguide {
  color: #8ac4ee;
}

.menuBlock .floorguide a,
#sideNav .floorguide a {
  color: #8ac4ee;
}

.menuBlock .floorguide a:hover,
#sideNav .floorguide a:hover {
  color: #b9dbf5;
}

.menuBlock .food,
#sideNav .food {
  color: #c6aa8b;
}

.menuBlock .food a,
#sideNav .food a {
  color: #c6aa8b;
}

.menuBlock .food a:hover,
#sideNav .food a:hover {
  color: #d7c4ae;
}

.menuBlock .goods,
#sideNav .goods {
  color: #9dca74;
}

.menuBlock .goods a,
#sideNav .goods a {
  color: #9dca74;
}

.menuBlock .goods a:hover,
#sideNav .goods a:hover {
  color: #bbda9e;
}

.menuBlock .information,
#sideNav .information {
  color: #8ac4ee;
}

.menuBlock .information a,
#sideNav .information a {
  color: #8ac4ee;
}

.menuBlock .information a:hover,
#sideNav .information a:hover {
  color: #add6f3;
}

.menuBlock .liveshow,
#sideNav .liveshow {
  color: #ffb742;
}

.menuBlock .liveshow a,
#sideNav .liveshow a {
  color: #ffb742;
}

.menuBlock .liveshow a:hover,
#sideNav .liveshow a:hover {
  color: #ffcd7b;
}

.menuBlock .qa,
#sideNav .qa {
  color: #aaaaaa;
}

.menuBlock .qa a,
#sideNav .qa a {
  color: #aaaaaa;
}

.menuBlock .qa a:hover,
#sideNav .qa a:hover {
  color: #c4c4c4;
}

p.annotation,
ul.annotation li {
  text-indent: -1.2rem;
  padding-left: 1.2rem;
}

@media screen and (min-width: 768px) {
  p.annotation,
  ul.annotation li {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  p.annotation,
  ul.annotation li {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  span.annotation {
    font-size: 1rem;
  }
}

@media screen and (max-width: 767px) {
  span.annotation {
    font-size: 1.2rem;
  }
}

.basicTable + .annotation, .headerTable + .annotation, #fanclubSite .matrixTable + .annotation {
  margin-top: 10px;
}

.row2:before,
.row2:after,
.row3:before,
.row3:after,
.row4:before,
.row4:after {
  content: "";
  display: table;
}

.row2:after,
.row3:after,
.row4:after {
  clear: both;
}

@media screen and (min-width: 768px) {
  .row2,
  .row3,
  .row4 {
    margin-left: -10px;
  }
}

@media screen and (min-width: 768px) {
  .timeTit + .row3 {
    margin-top: -15px;
  }
}

@media screen and (max-width: 767px) {
  .timeTit + .row3 {
    margin-top: -25px;
  }
}

.language {
  color: #fff;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  .language dt,
  .language dd {
    float: left;
  }
}

.language li {
  float: left;
  padding-left: 10px;
}

.language li a {
  color: #fff;
  display: inline-block;
}

.language li:first-child {
  padding-left: 0;
}

.language li:first-child::before {
  content: "";
  padding-right: 0;
}

.language li::before {
  content: "/";
  padding-right: 10px;
}

.basicTable, .headerTable, #fanclubSite .matrixTable {
  position: relative;
  margin-top: 15px;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .basicTable, .headerTable, #fanclubSite .matrixTable {
    border: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .basicTable, .headerTable, #fanclubSite .matrixTable {
    border: 2px solid #fff;
  }
}

.basicTable table, .headerTable table, #fanclubSite .matrixTable table {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .basicTable table th, .headerTable table th, #fanclubSite .matrixTable table th {
    width: 20%;
    font-size: 1.6rem;
  }
  .basicTable table td, .headerTable table td, #fanclubSite .matrixTable table td {
    width: 80%;
    font-size: 1.6rem;
  }
  .basicTable table th.half,
  .headerTable table th.half,
  #fanclubSite .matrixTable table th.half,
  .basicTable table td.half, .headerTable table td.half, #fanclubSite .matrixTable table td.half {
    width: 40%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table th, .headerTable table th, #fanclubSite .matrixTable table th {
    width: 42%;
  }
  .basicTable table td, .headerTable table td, #fanclubSite .matrixTable table td {
    width: 58%;
  }
  .basicTable table th.half,
  .headerTable table th.half,
  #fanclubSite .matrixTable table th.half,
  .basicTable table td.half, .headerTable table td.half, #fanclubSite .matrixTable table td.half {
    width: 28%;
  }
}

.basicTable table th, .headerTable table th, #fanclubSite .matrixTable table th {
  padding: 10px;
  text-align: left;
  background: #fff;
}

.basicTable table td, .headerTable table td, #fanclubSite .matrixTable table td {
  padding: 10px;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .basicTable table td, .headerTable table td, #fanclubSite .matrixTable table td {
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table td, .headerTable table td, #fanclubSite .matrixTable table td {
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
}

.basicTable table td dl,
.headerTable table td dl,
#fanclubSite .matrixTable table td dl,
.basicTable table td p, .headerTable table td p, #fanclubSite .matrixTable table td p {
  margin-top: 10px;
}

.basicTable table td dl:first-child,
.headerTable table td dl:first-child,
#fanclubSite .matrixTable table td dl:first-child,
.basicTable table td p:first-child, .headerTable table td p:first-child, #fanclubSite .matrixTable table td p:first-child {
  margin-top: 0;
}

.basicTable table td:first-child, .headerTable table td:first-child, #fanclubSite .matrixTable table td:first-child {
  border-left: none !important;
}

.basicTable table tr:last-child th,
.headerTable table tr:last-child th,
#fanclubSite .matrixTable table tr:last-child th,
.basicTable table tr:last-child td, .headerTable table tr:last-child td, #fanclubSite .matrixTable table tr:last-child td {
  border-bottom: none !important;
}

@media screen and (min-width: 768px) {
  .basicTable table th + th, .headerTable table th + th, #fanclubSite .matrixTable table th + th {
    border-left: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table th + th, .headerTable table th + th, #fanclubSite .matrixTable table th + th {
    border-left: 2px solid #f68ca2;
  }
}

.basicTable table .borderBtmNon, .headerTable table .borderBtmNon, #fanclubSite .matrixTable table .borderBtmNon {
  border-bottom: none !important;
}

.basicTable table .borderLeftNon, .headerTable table .borderLeftNon, #fanclubSite .matrixTable table .borderLeftNon {
  border-left: none !important;
}

@media screen and (min-width: 768px) {
  .basicTable table.line:before,
  .headerTable table.line:before,
  #fanclubSite .matrixTable table.line:before,
  .basicTable table.line:after, .headerTable table.line:after, #fanclubSite .matrixTable table.line:after {
    content: "";
    display: table;
  }
  .basicTable table.line:after, .headerTable table.line:after, #fanclubSite .matrixTable table.line:after {
    clear: both;
  }
  .basicTable table.line tr, .headerTable table.line tr, #fanclubSite .matrixTable table.line tr {
    width: 50%;
    float: left;
    display: table;
  }
  .basicTable table.line tr:nth-last-child(2):nth-child(odd) th,
  .headerTable table.line tr:nth-last-child(2):nth-child(odd) th,
  #fanclubSite .matrixTable table.line tr:nth-last-child(2):nth-child(odd) th,
  .basicTable table.line tr:nth-last-child(2):nth-child(odd) td, .headerTable table.line tr:nth-last-child(2):nth-child(odd) td, #fanclubSite .matrixTable table.line tr:nth-last-child(2):nth-child(odd) td {
    border-bottom: none !important;
  }
  .basicTable table.line tr:last-child th,
  .headerTable table.line tr:last-child th,
  #fanclubSite .matrixTable table.line tr:last-child th,
  .basicTable table.line tr:last-child td, .headerTable table.line tr:last-child td, #fanclubSite .matrixTable table.line tr:last-child td {
    border-bottom: none !important;
  }
  .basicTable table.line th,
  .headerTable table.line th,
  #fanclubSite .matrixTable table.line th,
  .basicTable table.line td, .headerTable table.line td, #fanclubSite .matrixTable table.line td {
    box-sizing: border-box;
    display: table-cell;
    vertical-align: middle;
  }
  .basicTable table.line th, .headerTable table.line th, #fanclubSite .matrixTable table.line th {
    width: 30%;
  }
  .basicTable table.line td, .headerTable table.line td, #fanclubSite .matrixTable table.line td {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table.line th,
  .headerTable table.line th,
  #fanclubSite .matrixTable table.line th,
  .basicTable table.line td, .headerTable table.line td, #fanclubSite .matrixTable table.line td {
    height: auto !important;
  }
  .basicTable table.line.itemOdd tr:last-child, .headerTable table.line.itemOdd tr:last-child, #fanclubSite .matrixTable table.line.itemOdd tr:last-child {
    display: none;
  }
  .basicTable table.line.itemOdd tr:nth-last-child(2) th,
  .headerTable table.line.itemOdd tr:nth-last-child(2) th,
  #fanclubSite .matrixTable table.line.itemOdd tr:nth-last-child(2) th,
  .basicTable table.line.itemOdd tr:nth-last-child(2) td, .headerTable table.line.itemOdd tr:nth-last-child(2) td, #fanclubSite .matrixTable table.line.itemOdd tr:nth-last-child(2) td {
    border-bottom: none !important;
  }
}

@media screen and (min-width: 768px) {
  .basicTable.PCline, .PCline.headerTable, #fanclubSite .PCline.matrixTable {
    width: 49%;
    float: right;
  }
  .basicTable.PCline:first-child, .PCline.headerTable:first-child, #fanclubSite .PCline.matrixTable:first-child {
    float: left;
  }
}

.basicTable.gray, .gray.headerTable, #fanclubSite .gray.matrixTable {
  border-color: #a0a0a0;
}

.basicTable.gray table th, .gray.headerTable table th, #fanclubSite .gray.matrixTable table th {
  background: #a0a0a0;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .basicTable.gray table th, .gray.headerTable table th, #fanclubSite .gray.matrixTable table th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.gray table th, .gray.headerTable table th, #fanclubSite .gray.matrixTable table th {
    border-bottom: 2px solid #fff;
  }
}

.basicTable.gray table td, .gray.headerTable table td, #fanclubSite .gray.matrixTable table td {
  border-color: #a0a0a0;
  color: #a0a0a0;
}

.basicTable.three th, .three.headerTable th, #fanclubSite .three.matrixTable th {
  width: 25%;
}

.basicTable.three td, .three.headerTable td, #fanclubSite .three.matrixTable td {
  width: 50%;
}

@media screen and (min-width: 768px) {
  .basicTable.four th, .four.headerTable th, #fanclubSite .four.matrixTable th {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four th, .four.headerTable th, #fanclubSite .four.matrixTable th {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four th:nth-child(1), .four.headerTable th:nth-child(1), #fanclubSite .four.matrixTable th:nth-child(1) {
    width: 20%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four th:nth-child(2), .four.headerTable th:nth-child(2), #fanclubSite .four.matrixTable th:nth-child(2) {
    width: 30%;
  }
}

@media screen and (min-width: 768px) {
  .basicTable.four td, .four.headerTable td, #fanclubSite .four.matrixTable td {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four td, .four.headerTable td, #fanclubSite .four.matrixTable td {
    width: 25%;
  }
}

.headerTable {
  border: none;
  display: block;
  border-radius: 7px;
  display: table;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .headerTable {
    border: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .headerTable {
    border: 2px solid #fff;
  }
}

.headerTable tr:last-child td:first-child {
  border-bottom-left-radius: 7px;
}

.headerTable tr:last-child td:last-child {
  border-bottom-right-radius: 7px;
}

@media screen and (min-width: 768px) {
  .headerTable.quadrant th,
  .headerTable.quadrant td {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .headerTable.quadrant th,
  .headerTable.quadrant td {
    padding: 5px;
    width: auto;
    font-size: 1.2rem;
  }
}

.basicBtn,
.subBasicBtn,
.pointBtn,
.subBtn,
.vividBtn {
  display: block;
  border-radius: 7px;
  padding: 2.6%;
  box-sizing: border-box;
  text-align: center;
}

.basicBtn.border,
.subBasicBtn.border,
.pointBtn.border,
.subBtn.border,
.vividBtn.border {
  border-style: solid;
  border-width: 3px;
}

.basicBtn {
  background: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .basicBtn:hover {
    background: #f8aebe;
  }
}

.basicBtn.border {
  border-color: #f68ca2;
}

.keyColorBG .basicBtn.border,
.subColorBG .basicBtn.border, #calendarBlock .basicBtn.border {
  border-color: #f56e8a;
}

@media screen and (min-width: 768px) {
  .keyColorBG .basicBtn.border:hover,
  .subColorBG .basicBtn.border:hover, #calendarBlock .basicBtn.border:hover {
    border-color: #f899ad;
    background: #f8aebe;
  }
}

.subBasicBtn {
  background: #8ac4ee;
  color: #fff !important;
}

@media screen and (min-width: 768px) {
  .subBasicBtn:hover {
    background: #add6f3;
  }
}

.subBasicBtn.border {
  border-color: #8ac4ee;
}

.pointBtn {
  background: #fff;
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .pointBtn:hover {
    background: #fcdde3;
  }
}

.pointBtn.border {
  border-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .pointBtn.border:hover {
    background: #fcdde3;
  }
}

.subBtn {
  background: #fff;
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subBtn:hover {
    background: #dcedfa;
  }
}

.subBtn.border {
  border-color: #8ac4ee;
}

.vividBtn {
  background: #fff;
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .vividBtn:hover {
    color: #fff;
    background: #f8aebe;
  }
}

.vividBtn.border {
  border-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .vividBtn.border:hover {
    color: #fff;
    background: #f8aebe;
    border-color: #f8aebe;
  }
}

.vividBtn.allergyPopup {
  padding-right: 0;
  padding-left: 0;
}

.keyColorBG {
  background: #f68ca2;
}

.keyColorBG .iconList li {
  background: #f68ca2;
}

.keyColorBG .narrowDownBtn li.current a, .keyColorBG .narrowDownLink li.current a, .keyColorBG .linkBtnList li.current a {
  color: #f68ca2;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG .narrowDownBtn li:hover,
  .keyColorBG .narrowDownLink li:hover,
  .keyColorBG .linkBtnList li:hover,
  .keyColorBG .narrowDownBtn li:hover a, .keyColorBG .narrowDownLink li:hover a, .keyColorBG .linkBtnList li:hover a {
    color: #f68ca2;
  }
}

.keyColorBG a.textLink {
  color: #fff;
  border-bottom: #fff 2px solid;
}

@media screen and (min-width: 768px) {
  .keyColorBG a.textLink:hover {
    color: #fcdde3;
    border-bottom: #fcdde3 2px solid;
  }
}

.keyColorBG .greetingBlock {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG .basicTable th, .keyColorBG .headerTable th, .keyColorBG #fanclubSite .matrixTable th, #fanclubSite .keyColorBG .matrixTable th {
    border-bottom: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .basicTable th, .keyColorBG .headerTable th, .keyColorBG #fanclubSite .matrixTable th, #fanclubSite .keyColorBG .matrixTable th {
    border-bottom: 2px solid #f68ca2;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .basicTable th + th, .keyColorBG .headerTable th + th, .keyColorBG #fanclubSite .matrixTable th + th, #fanclubSite .keyColorBG .matrixTable th + th {
    border-left: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .basicTable th + th, .keyColorBG .headerTable th + th, .keyColorBG #fanclubSite .matrixTable th + th, #fanclubSite .keyColorBG .matrixTable th + th {
    border-left: 2px solid #f68ca2;
  }
}

.keyColorBG .headerTable th a {
  color: #f68ca2;
}

.keyColorBG .foundationColorBG {
  background: #fff;
  margin-top: 20px;
  display: block;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG {
    padding: 3.8%;
    box-shadow: none;
  }
}

.keyColorBG .foundationColorBG h2 {
  color: #f68ca2;
}

.keyColorBG .foundationColorBG h3 {
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG h3 {
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG h3 {
    font-size: 2.2rem;
  }
}

.keyColorBG .foundationColorBG h4 {
  font-size: 1.6rem;
}

.keyColorBG .foundationColorBG a.textLink {
  color: #f68ca2;
  border-bottom: #f68ca2 2px solid;
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG a.textLink:hover {
    color: #fcdde3;
    border-bottom: #fcdde3 2px solid;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable, .keyColorBG .foundationColorBG .headerTable, .keyColorBG .foundationColorBG #fanclubSite .matrixTable, #fanclubSite .keyColorBG .foundationColorBG .matrixTable {
    border: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG .basicTable, .keyColorBG .foundationColorBG .headerTable, .keyColorBG .foundationColorBG #fanclubSite .matrixTable, #fanclubSite .keyColorBG .foundationColorBG .matrixTable {
    border: 2px solid #f68ca2;
  }
}

.keyColorBG .foundationColorBG .basicTable th, .keyColorBG .foundationColorBG .headerTable th, .keyColorBG .foundationColorBG #fanclubSite .matrixTable th, #fanclubSite .keyColorBG .foundationColorBG .matrixTable th {
  background: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable th, .keyColorBG .foundationColorBG .headerTable th, .keyColorBG .foundationColorBG #fanclubSite .matrixTable th, #fanclubSite .keyColorBG .foundationColorBG .matrixTable th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG .basicTable th, .keyColorBG .foundationColorBG .headerTable th, .keyColorBG .foundationColorBG #fanclubSite .matrixTable th, #fanclubSite .keyColorBG .foundationColorBG .matrixTable th {
    border-bottom: 2px solid #fff;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable th + th, .keyColorBG .foundationColorBG .headerTable th + th, .keyColorBG .foundationColorBG #fanclubSite .matrixTable th + th, #fanclubSite .keyColorBG .foundationColorBG .matrixTable th + th {
    border-left: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG .basicTable th + th, .keyColorBG .foundationColorBG .headerTable th + th, .keyColorBG .foundationColorBG #fanclubSite .matrixTable th + th, #fanclubSite .keyColorBG .foundationColorBG .matrixTable th + th {
    border-left: 2px solid #fff;
  }
}

.keyColorBG .foundationColorBG .basicTable td, .keyColorBG .foundationColorBG .headerTable td, .keyColorBG .foundationColorBG #fanclubSite .matrixTable td, #fanclubSite .keyColorBG .foundationColorBG .matrixTable td {
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable td, .keyColorBG .foundationColorBG .headerTable td, .keyColorBG .foundationColorBG #fanclubSite .matrixTable td, #fanclubSite .keyColorBG .foundationColorBG .matrixTable td {
    border-left: 3px solid #f68ca2;
    border-bottom: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG .basicTable td, .keyColorBG .foundationColorBG .headerTable td, .keyColorBG .foundationColorBG #fanclubSite .matrixTable td, #fanclubSite .keyColorBG .foundationColorBG .matrixTable td {
    border-left: 2px solid #f68ca2;
    border-bottom: 2px solid #f68ca2;
  }
}

.subColorBG, #calendarBlock {
  background: #8ac4ee;
}

.subColorBG .iconList li, #calendarBlock .iconList li {
  background: #8ac4ee;
}

.subColorBG .narrowDownBtn li.current a, #calendarBlock .narrowDownBtn li.current a, .subColorBG .narrowDownLink li.current a, #calendarBlock .narrowDownLink li.current a, .subColorBG .linkBtnList li.current a, #calendarBlock .linkBtnList li.current a {
  color: #8ac4ee;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .subColorBG .narrowDownBtn li:hover,
  #calendarBlock .narrowDownBtn li:hover,
  .subColorBG .narrowDownLink li:hover,
  #calendarBlock .narrowDownLink li:hover,
  .subColorBG .linkBtnList li:hover,
  #calendarBlock .linkBtnList li:hover,
  .subColorBG .narrowDownBtn li:hover a, #calendarBlock .narrowDownBtn li:hover a, .subColorBG .narrowDownLink li:hover a, #calendarBlock .narrowDownLink li:hover a, .subColorBG .linkBtnList li:hover a, #calendarBlock .linkBtnList li:hover a {
    color: #8ac4ee;
  }
}

.subColorBG .basicTable th, #calendarBlock .basicTable th, .subColorBG .headerTable th, #calendarBlock .headerTable th, .subColorBG #fanclubSite .matrixTable th, #fanclubSite .subColorBG .matrixTable th, #calendarBlock #fanclubSite .matrixTable th, #fanclubSite #calendarBlock .matrixTable th {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .basicTable th, #calendarBlock .basicTable th, .subColorBG .headerTable th, #calendarBlock .headerTable th, .subColorBG #fanclubSite .matrixTable th, #fanclubSite .subColorBG .matrixTable th, #calendarBlock #fanclubSite .matrixTable th, #fanclubSite #calendarBlock .matrixTable th {
    border-bottom: 3px solid #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .basicTable th, #calendarBlock .basicTable th, .subColorBG .headerTable th, #calendarBlock .headerTable th, .subColorBG #fanclubSite .matrixTable th, #fanclubSite .subColorBG .matrixTable th, #calendarBlock #fanclubSite .matrixTable th, #fanclubSite #calendarBlock .matrixTable th {
    border-bottom: 2px solid #8ac4ee;
  }
}

@media screen and (min-width: 768px) {
  .subColorBG .basicTable th + th, #calendarBlock .basicTable th + th, .subColorBG .headerTable th + th, #calendarBlock .headerTable th + th, .subColorBG #fanclubSite .matrixTable th + th, #fanclubSite .subColorBG .matrixTable th + th, #calendarBlock #fanclubSite .matrixTable th + th, #fanclubSite #calendarBlock .matrixTable th + th {
    border-left: 3px solid #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .basicTable th + th, #calendarBlock .basicTable th + th, .subColorBG .headerTable th + th, #calendarBlock .headerTable th + th, .subColorBG #fanclubSite .matrixTable th + th, #fanclubSite .subColorBG .matrixTable th + th, #calendarBlock #fanclubSite .matrixTable th + th, #fanclubSite #calendarBlock .matrixTable th + th {
    border-left: 2px solid #8ac4ee;
  }
}

.subColorBG .linkListBlock, #calendarBlock .linkListBlock {
  border-color: #fff;
}

.subColorBG .linkListBlock a, #calendarBlock .linkListBlock a {
  border-left-color: #fff;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .subColorBG .linkListBlock a:hover, #calendarBlock .linkListBlock a:hover {
    background-color: #fff;
    color: #8ac4ee;
  }
}

.subColorBG .linkListBlock a.current, #calendarBlock .linkListBlock a.current {
  background-color: #fff;
  color: #8ac4ee;
}

.subColorBG .foundationColorBG, #calendarBlock .foundationColorBG {
  background: #fff;
  margin-top: 20px;
  display: block;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
  .subColorBG .foundationColorBG, #calendarBlock .foundationColorBG {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .foundationColorBG, #calendarBlock .foundationColorBG {
    padding: 3.8%;
    box-shadow: none;
  }
}

.subColorBG .foundationColorBG h2, #calendarBlock .foundationColorBG h2 {
  color: #8ac4ee;
}

.subColorBG .foundationColorBG h3, #calendarBlock .foundationColorBG h3 {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .foundationColorBG h3, #calendarBlock .foundationColorBG h3 {
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .foundationColorBG h3, #calendarBlock .foundationColorBG h3 {
    font-size: 2.2rem;
  }
}

.subColorBG .foundationColorBG h4, #calendarBlock .foundationColorBG h4 {
  font-size: 1.6rem;
}

@media screen and (min-width: 768px) {
  .subColorBG .foundationColorBG .basicTable, #calendarBlock .foundationColorBG .basicTable, .subColorBG .foundationColorBG .headerTable, #calendarBlock .foundationColorBG .headerTable, .subColorBG .foundationColorBG #fanclubSite .matrixTable, #fanclubSite .subColorBG .foundationColorBG .matrixTable, #calendarBlock .foundationColorBG #fanclubSite .matrixTable, #fanclubSite #calendarBlock .foundationColorBG .matrixTable {
    border: 3px solid #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .foundationColorBG .basicTable, #calendarBlock .foundationColorBG .basicTable, .subColorBG .foundationColorBG .headerTable, #calendarBlock .foundationColorBG .headerTable, .subColorBG .foundationColorBG #fanclubSite .matrixTable, #fanclubSite .subColorBG .foundationColorBG .matrixTable, #calendarBlock .foundationColorBG #fanclubSite .matrixTable, #fanclubSite #calendarBlock .foundationColorBG .matrixTable {
    border: 2px solid #8ac4ee;
  }
}

.subColorBG .foundationColorBG .basicTable table th, #calendarBlock .foundationColorBG .basicTable table th, .subColorBG .foundationColorBG .headerTable table th, #calendarBlock .foundationColorBG .headerTable table th, .subColorBG .foundationColorBG #fanclubSite .matrixTable table th, #fanclubSite .subColorBG .foundationColorBG .matrixTable table th, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table th, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table th {
  color: #fff;
  background: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .foundationColorBG .basicTable table th, #calendarBlock .foundationColorBG .basicTable table th, .subColorBG .foundationColorBG .headerTable table th, #calendarBlock .foundationColorBG .headerTable table th, .subColorBG .foundationColorBG #fanclubSite .matrixTable table th, #fanclubSite .subColorBG .foundationColorBG .matrixTable table th, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table th, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .foundationColorBG .basicTable table th, #calendarBlock .foundationColorBG .basicTable table th, .subColorBG .foundationColorBG .headerTable table th, #calendarBlock .foundationColorBG .headerTable table th, .subColorBG .foundationColorBG #fanclubSite .matrixTable table th, #fanclubSite .subColorBG .foundationColorBG .matrixTable table th, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table th, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table th {
    border-bottom: 2px solid #fff;
  }
}

@media screen and (min-width: 768px) {
  .subColorBG .foundationColorBG .basicTable table th + th, #calendarBlock .foundationColorBG .basicTable table th + th, .subColorBG .foundationColorBG .headerTable table th + th, #calendarBlock .foundationColorBG .headerTable table th + th, .subColorBG .foundationColorBG #fanclubSite .matrixTable table th + th, #fanclubSite .subColorBG .foundationColorBG .matrixTable table th + th, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table th + th, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table th + th {
    border-left: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .foundationColorBG .basicTable table th + th, #calendarBlock .foundationColorBG .basicTable table th + th, .subColorBG .foundationColorBG .headerTable table th + th, #calendarBlock .foundationColorBG .headerTable table th + th, .subColorBG .foundationColorBG #fanclubSite .matrixTable table th + th, #fanclubSite .subColorBG .foundationColorBG .matrixTable table th + th, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table th + th, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table th + th {
    border-left: 2px solid #fff;
  }
}

.subColorBG .foundationColorBG .basicTable table td, #calendarBlock .foundationColorBG .basicTable table td, .subColorBG .foundationColorBG .headerTable table td, #calendarBlock .foundationColorBG .headerTable table td, .subColorBG .foundationColorBG #fanclubSite .matrixTable table td, #fanclubSite .subColorBG .foundationColorBG .matrixTable table td, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table td, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table td {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .foundationColorBG .basicTable table td, #calendarBlock .foundationColorBG .basicTable table td, .subColorBG .foundationColorBG .headerTable table td, #calendarBlock .foundationColorBG .headerTable table td, .subColorBG .foundationColorBG #fanclubSite .matrixTable table td, #fanclubSite .subColorBG .foundationColorBG .matrixTable table td, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table td, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table td {
    border-left: 3px solid #8ac4ee;
    border-bottom: 3px solid #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .foundationColorBG .basicTable table td, #calendarBlock .foundationColorBG .basicTable table td, .subColorBG .foundationColorBG .headerTable table td, #calendarBlock .foundationColorBG .headerTable table td, .subColorBG .foundationColorBG #fanclubSite .matrixTable table td, #fanclubSite .subColorBG .foundationColorBG .matrixTable table td, #calendarBlock .foundationColorBG #fanclubSite .matrixTable table td, #fanclubSite #calendarBlock .foundationColorBG .matrixTable table td {
    border-left: 2px solid #8ac4ee;
    border-bottom: 2px solid #8ac4ee;
  }
}

.subColorBG .foundationColorBG a, #calendarBlock .foundationColorBG a {
  color: #8ac4ee;
}

.subColorBG .foundationColorBG a.basicBtn, #calendarBlock .foundationColorBG a.basicBtn {
  color: #fff;
}

.subColorBG .itemDetailBox, #calendarBlock .itemDetailBox {
  color: #8ac4ee;
}

@media screen and (max-width: 767px) {
  .forSPBnr + .keyColorBG,
  .forSPBnr + .subColorBG,
  .forSPBnr + #calendarBlock,
  .anchorLink + .keyColorBG,
  .anchorLink + .subColorBG, .anchorLink + #calendarBlock {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea:not(.js-categoryHomeCarousel) + .keyColorBG,
  #mainCarouselArea:not(.js-categoryHomeCarousel) + .subColorBG, #mainCarouselArea:not(.js-categoryHomeCarousel) + #calendarBlock {
    margin-top: -11.4%;
    padding-top: 16.6%;
    box-shadow: none;
    z-index: 900;
  }
}

@media screen and (min-width: 768px) {
  .inBtn + .keyColorBG,
  .inBtn + .subColorBG, .inBtn + #calendarBlock {
    margin-top: 60px;
  }
}

.keyColorBG,
.subColorBG, #calendarBlock {
  position: relative;
}

@media screen and (min-width: 768px) {
  .keyColorBG,
  .subColorBG, #calendarBlock {
    margin-top: 30px;
    padding: 30px 20px;
    display: block;
    border-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG,
  .subColorBG, #calendarBlock {
    padding: 35px 3.8%;
    box-shadow: 0px 13px 30px -30px black inset;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG.tight,
  .subColorBG.tight, .tight#calendarBlock {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG.tight,
  .subColorBG.tight, .tight#calendarBlock {
    padding: 3.8%;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG.tab,
  .subColorBG.tab, .tab#calendarBlock {
    padding: 20px 20px 0 20px;
    margin-bottom: 116px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG.tab,
  .subColorBG.tab, .tab#calendarBlock {
    padding: 3.8% 3.8% 0 3.8%;
    margin-bottom: 85px;
  }
}

.keyColorBG h2,
.subColorBG h2, #calendarBlock h2 {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG h2,
  .subColorBG h2, #calendarBlock h2 {
    margin-top: 35px;
    font-size: 3.8rem;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG h2,
  .subColorBG h2, #calendarBlock h2 {
    margin-top: 30px;
    font-size: 2.4rem;
  }
}

.keyColorBG div:first-child > h2,
.keyColorBG > h2:first-child,
.subColorBG div:first-child > h2,
#calendarBlock div:first-child > h2,
.subColorBG > h2:first-child, #calendarBlock > h2:first-child {
  margin-top: 0;
}

.keyColorBG h3,
.subColorBG h3, #calendarBlock h3 {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG h3,
  .subColorBG h3, #calendarBlock h3 {
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG h3,
  .subColorBG h3, #calendarBlock h3 {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG + h3,
  .subColorBG .foundationColorBG + h3, #calendarBlock .foundationColorBG + h3 {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG + h3,
  .subColorBG .foundationColorBG + h3, #calendarBlock .foundationColorBG + h3 {
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG h4,
  .subColorBG h4, #calendarBlock h4 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG h4,
  .subColorBG h4, #calendarBlock h4 {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .nextBtn,
  .keyColorBG .linkBtn,
  .subColorBG .nextBtn,
  #calendarBlock .nextBtn,
  .subColorBG .linkBtn, #calendarBlock .linkBtn {
    width: 400px;
    margin: 30px auto 0 auto;
    font-size: 2.0rem;
  }
  .keyColorBG .nextBtn a,
  .keyColorBG .linkBtn a,
  .subColorBG .nextBtn a,
  #calendarBlock .nextBtn a,
  .subColorBG .linkBtn a, #calendarBlock .linkBtn a {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .nextBtn,
  .keyColorBG .linkBtn,
  .subColorBG .nextBtn,
  #calendarBlock .nextBtn,
  .subColorBG .linkBtn, #calendarBlock .linkBtn {
    margin: 25px 6% 0  6%;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .associated + .nextBtn,
  .subColorBG .associated + .nextBtn, #calendarBlock .associated + .nextBtn {
    margin-top: -15px;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .outsideBtn,
  .subColorBG .outsideBtn, #calendarBlock .outsideBtn {
    margin-top: 0;
    position: absolute;
    left: 0;
    right: 0;
    bottom: -35px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .outsideBtn,
  .subColorBG .outsideBtn, #calendarBlock .outsideBtn {
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .associated,
  .subColorBG .associated, #calendarBlock .associated {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .associated,
  .subColorBG .associated, #calendarBlock .associated {
    margin-top: 15px;
  }
}

.keyColorBG .associated .numBlock,
.subColorBG .associated .numBlock, #calendarBlock .associated .numBlock {
  color: #fff;
}

.keyColorBG .associated .numBlock .category,
.subColorBG .associated .numBlock .category, #calendarBlock .associated .numBlock .category {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .keyColorBG .associated .numBlock .category + .num,
  .subColorBG .associated .numBlock .category + .num, #calendarBlock .associated .numBlock .category + .num {
    padding: 0 0 10px 10px;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .associated .numBlock .category + .num,
  .subColorBG .associated .numBlock .category + .num, #calendarBlock .associated .numBlock .category + .num {
    padding: 0 0 1% 1%;
  }
}

.keyColorBG .associated .numBlock .num,
.subColorBG .associated .numBlock .num, #calendarBlock .associated .numBlock .num {
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .keyColorBG .associated .numBlock .num,
  .subColorBG .associated .numBlock .num, #calendarBlock .associated .numBlock .num {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .associated .numBlock .num,
  .subColorBG .associated .numBlock .num, #calendarBlock .associated .numBlock .num {
    font-size: 1.2rem;
  }
}

.keyColorBG .associated .numBlock .num span,
.subColorBG .associated .numBlock .num span, #calendarBlock .associated .numBlock .num span {
  padding-right: 3px;
}

@media screen and (min-width: 768px) {
  .keyColorBG .associated .numBlock .numNotation,
  .subColorBG .associated .numBlock .numNotation, #calendarBlock .associated .numBlock .numNotation {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .associated .numBlock .numNotation,
  .subColorBG .associated .numBlock .numNotation, #calendarBlock .associated .numBlock .numNotation {
    font-size: 1.2rem;
  }
}

.keyColorBG .associated .infoLink,
.subColorBG .associated .infoLink, #calendarBlock .associated .infoLink {
  float: right;
  text-align: right;
}

@media screen and (min-width: 768px) {
  .keyColorBG .associated .infoLink,
  .subColorBG .associated .infoLink, #calendarBlock .associated .infoLink {
    margin-left: 20px;
    margin-top: 20px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .associated .infoLink,
  .subColorBG .associated .infoLink, #calendarBlock .associated .infoLink {
    margin-left: 5%;
    margin-top: 2%;
  }
}

.keyColorBG .associated.line .numBlock,
.subColorBG .associated.line .numBlock, #calendarBlock .associated.line .numBlock {
  float: left;
  width: 65%;
}

.keyColorBG .freeContent,
.keyColorBG .ruleContent .ruleBody,
.ruleContent .keyColorBG .ruleBody, .subColorBG .freeContent, #calendarBlock .freeContent, .subColorBG .ruleContent .ruleBody, .ruleContent .subColorBG .ruleBody, #calendarBlock .ruleContent .ruleBody, .ruleContent #calendarBlock .ruleBody {
  color: #fff;
}

.foundationColorBG {
  position: relative;
}

@media screen and (min-width: 768px) {
  .foundationColorBG {
    padding: 40px 0 10px 0;
    display: block;
    border-radius: 7px;
  }
  .foundationColorBG#restaurantAnchor {
    padding: 40px 0 0 0;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG {
    padding: 35px 3.8% 30px 3.8%;
    box-shadow: 0px 13px 30px -30px black inset;
  }
}

@media screen and (min-width: 768px) {
  .foundationColorBG h2 {
    margin-top: 35px;
    font-size: 3.8rem;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG h2 {
    margin-top: 30px;
    font-size: 2.4rem;
  }
}

.foundationColorBG div:first-child > h2,
.foundationColorBG > h2:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .foundationColorBG h3 {
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG h3 {
    font-size: 2.2rem;
  }
}

@media screen and (min-width: 768px) {
  .foundationColorBG h4 {
    font-size: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG h4 {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .foundationColorBG .basicTable, .foundationColorBG .headerTable, .foundationColorBG #fanclubSite .matrixTable, #fanclubSite .foundationColorBG .matrixTable {
    border: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG .basicTable, .foundationColorBG .headerTable, .foundationColorBG #fanclubSite .matrixTable, #fanclubSite .foundationColorBG .matrixTable {
    border: 2px solid #f68ca2;
  }
}

.foundationColorBG .basicTable th, .foundationColorBG .headerTable th, .foundationColorBG #fanclubSite .matrixTable th, #fanclubSite .foundationColorBG .matrixTable th {
  background: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .foundationColorBG .basicTable th, .foundationColorBG .headerTable th, .foundationColorBG #fanclubSite .matrixTable th, #fanclubSite .foundationColorBG .matrixTable th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG .basicTable th, .foundationColorBG .headerTable th, .foundationColorBG #fanclubSite .matrixTable th, #fanclubSite .foundationColorBG .matrixTable th {
    border-bottom: 2px solid #fff;
  }
}

.foundationColorBG .basicTable td, .foundationColorBG .headerTable td, .foundationColorBG #fanclubSite .matrixTable td, #fanclubSite .foundationColorBG .matrixTable td {
  color: #f68ca2;
  border-left: 3px solid #f68ca2;
  border-bottom: 3px solid #f68ca2;
}

.foundationColorBG .attractionBox .accordion {
  color: #fff;
  background: #f68ca2;
}

.foundationColorBG .attractionBox .accordionToggle {
  color: #fff;
}

.foundationColorBG .attractionBox .accordionToggle::before,
.foundationColorBG .attractionBox .accordionToggle::after {
  background-color: #fff;
}

.foundationColorBG .attractionBox .accordionBody {
  border-top: #fff 1px solid;
}

.foundationColorBG .attractionBox .accordionBody a.textLink {
  color: #fff;
  border-bottom: #fff 2px solid;
}

@media screen and (min-width: 768px) {
  .foundationColorBG .attractionBox .accordionBody a.textLink:hover {
    color: #fcdde3;
    border-bottom: #fcdde3 2px solid;
  }
}

.important dt {
  margin: 0 auto;
  background: url(/fanclub/common/img/icon_important.png) no-repeat 0 50%;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .important dt {
    padding-left: 45px;
    background-size: 40px auto;
    min-height: 31px;
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .important dt {
    padding-left: 32px;
    background-size: 28px auto;
    min-height: 22px;
    font-size: 1.8rem;
  }
}

.iconCharacter {
  position: absolute;
  z-index: 3800;
}

@media screen and (min-width: 768px) {
  .iconCharacter {
    top: 0;
    right: 0;
  }
  .iconCharacter img {
    position: absolute;
    top: 0;
    right: -15px;
  }
  .iconCharacter .typeT01 {
    top: -22px;
    right: -20px;
  }
  .iconCharacter .typeT02 {
    top: -60px;
  }
  .iconCharacter .typeT03 {
    top: -120px;
    right: -40px;
  }
  .iconCharacter .typeB01 {
    top: 15px;
  }
  .iconCharacter .typeB02 {
    top: 5px;
    right: 10px;
  }
  .iconCharacter .typeL01 {
    top: -20px;
    right: 720px;
  }
  .iconCharacter .typeL02 {
    top: -40px;
    right: 720px;
  }
  .iconCharacter .typeL03 {
    top: -52px;
    right: 690px;
  }
}

@media screen and (max-width: 767px) {
  .iconCharacter {
    width: 32%;
    top: 0;
    right: 0;
  }
  .iconCharacter img {
    position: absolute;
    top: 14px;
    right: 12px;
  }
  .iconCharacter .typeT01 {
    top: -30px;
    right: 0;
  }
  .iconCharacter .typeT02 {
    top: -36px;
    right: 4px;
  }
  .iconCharacter .typeT03 {
    top: -8px;
    right: 4px;
  }
  .iconCharacter .typeT04 {
    top: -50px;
  }
  .iconCharacter .typeR01 {
    right: 0;
  }
  .iconCharacter .typeR02 {
    right: -10px;
  }
  .iconCharacter .typeB01 {
    width: 126px;
    top: 60px;
  }
}

.accordion .accordionToggle {
  cursor: pointer;
  position: relative;
}

.accordion .accordionToggle::before,
.accordion .accordionToggle::after {
  content: "";
  height: 2px;
  width: 18px;
  display: block;
  background: #f68ca2;
  display: block;
  border-radius: 7px;
  position: absolute;
}

.accordion .accordionToggle::after {
  height: 18px;
  width: 2px;
}

@media screen and (min-width: 768px) {
  .accordion .accordionToggle::before {
    top: 37px;
    right: 18px;
  }
  .accordion .accordionToggle::after {
    top: 29px;
    right: 26px;
  }
}

@media screen and (max-width: 767px) {
  .accordion .accordionToggle::before {
    top: 28px;
    right: 18px;
  }
  .accordion .accordionToggle::after {
    top: 20px;
    right: 26px;
  }
}

.accordion .accordionToggle.active::after {
  display: none !important;
}

.iconList {
  margin-top: -3px;
}

.iconList li {
  padding: 3px 9px;
  margin-top: 3px;
  margin-right: 3px;
  float: left;
  font-size: 1rem;
  color: #fff;
  display: block;
  border-radius: 7px;
}

.iconList li:last-child {
  margin-right: 0;
}

#itemWrap:before,
#itemWrap:after {
  content: "";
  display: table;
}

#itemWrap:after {
  clear: both;
}

.itemDetailBox {
  background-color: #fff;
  display: block;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
  .itemDetailBox {
    margin-top: 15px;
    position: relative;
    width: 300px;
    float: left;
    margin-left: 10px;
    padding-bottom: 80px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox {
    margin-top: 25px;
    padding-bottom: 6%;
  }
  .row3 .itemDetailBox {
    height: auto !important;
  }
}

.itemDetailBox .itemImg {
  overflow: hidden;
  box-shadow: 0 6px 6px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemImg {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemImg {
    margin-bottom: 25px;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemImg {
    width: 300px;
    height: 225px;
  }
  .itemDetailBox .itemImg img {
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemImg {
    position: relative;
    height: 0;
    padding-bottom: 75%;
  }
  .itemDetailBox .itemImg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }
}

.itemDetailBox .itemImg img {
  display: block;
  border-radius: 7px;
  box-shadow: 0 6px 6px 0px rgba(0, 0, 0, 0.1);
}

.itemDetailBox .itemTitle {
  margin-bottom: 15px;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemTitle {
    font-size: 2.2rem;
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemTitle {
    font-size: 2.0rem;
    padding: 0 7%;
  }
}

.itemDetailBox .mainItemList {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .mainItemList {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .mainItemList {
    padding: 0 7%;
  }
}

.itemDetailBox .mainItemList dt {
  box-sizing: border-box;
  position: relative;
  float: left;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .mainItemList dt {
    font-size: 1.2rem;
    padding: 0 1.8rem;
    margin-right: 0.5rem;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .mainItemList dt {
    width: 43%;
    font-size: 1rem;
    padding: 0 0.5rem 0 1.2rem;
  }
}

.itemDetailBox .mainItemList dt::before {
  position: absolute;
  left: 0;
  content: "š";
}

.itemDetailBox .mainItemList dt::after {
  position: absolute;
  right: 0;
  content: "c";
}

.itemDetailBox .mainItemList dd {
  box-sizing: border-box;
  padding-left: 1rem;
}

@media screen and (max-width: 767px) {
  .itemDetailBox .mainItemList dd {
    font-size: 1.2rem;
    width: 57%;
    float: right;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox .iconList {
    padding: 10px 20px 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .iconList {
    padding: 15px 7% 0 7%;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemTitle + .iconList {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemTitle + .iconList {
    padding: 0 7%;
  }
}

.itemDetailBox .itemDetailBtn {
  padding: 0 7%;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemDetailBtn {
    position: absolute;
    bottom: 20px;
    left: 0;
    width: 260px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemDetailBtn {
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemList {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemList {
    margin-top: 10px;
    padding: 0 7%;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemList dl {
    display: table;
  }
}

.itemDetailBox .itemList dt {
  padding-right: 10px;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemList dt {
    display: table-cell;
    vertical-align: text-top;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemList dt {
    float: left;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemList dd {
    display: table-cell;
    vertical-align: text-top;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemList dd {
    float: left;
  }
}

.itemDetailBox .itemList dl.emphasis dt,
.itemDetailBox .itemList dl.emphasis dd {
  display: block;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemList strong {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemList strong {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox.side {
    float: none;
    width: 100%;
    padding: 30px;
    margin-left: 0;
  }
  .itemDetailBox.side:before,
  .itemDetailBox.side:after {
    content: "";
    display: table;
  }
  .itemDetailBox.side:after {
    clear: both;
  }
  .itemDetailBox.side .itemImg {
    float: left;
    width: 450px;
    height: auto;
    margin: -30px;
  }
  .itemDetailBox.side .itemImg img {
    width: 450px;
    height: auto;
  }
  .itemDetailBox.side .movieBody {
    float: left;
    width: 450px;
    margin: -30px;
  }
  .itemDetailBox.side .movieBody iframe {
    width: 450px;
    height: 337px;
  }
  .itemDetailBox.side .itemTitle {
    float: right;
    width: 410px;
    padding: 0;
  }
  .itemDetailBox.side .itemLead {
    float: right;
    width: 410px;
    padding-bottom: 15px;
  }
  .itemDetailBox.side .itemList {
    float: right;
    width: 410px;
  }
}

@media screen and (min-width: 768px) and (min-width: 768px) {
  .itemDetailBox.side .itemList {
    margin: 0 0 55px 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 767px) {
  .itemDetailBox.side .itemList {
    margin: 0 0 15px 0;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox.side .itemDetailBtn {
    bottom: 30px;
    left: auto;
    right: 30px;
    padding: 0;
    width: 410px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.side .itemLead {
    padding: 0 7%;
  }
  .itemDetailBox.side .movieBody {
    margin-bottom: 25px;
    box-shadow: 0 6px 6px 0px rgba(0, 0, 0, 0.1);
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox.forSPSide {
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.forSPSide {
    padding: 7%;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox.forSPSide:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.forSPSide .itemTitle {
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox.forSPSide .itemTitle.forSPTit {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.forSPSide .itemTitle.forPCTit {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.forSPSide .itemImg {
    width: 50%;
    float: left;
    overflow: hidden;
    position: relative;
    box-shadow: none;
    display: block;
    border-radius: 7px;
  }
}

@media screen and (max-width: 767px) and (min-width: 768px) {
  .itemDetailBox.forSPSide .itemImg img {
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) and (max-width: 767px) {
  .itemDetailBox.forSPSide .itemImg {
    height: 0;
    padding-bottom: 50%;
  }
  .itemDetailBox.forSPSide .itemImg img {
    width: 134%;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.forSPSide .itemImg img {
    position: relative;
    top: 0;
    left: -17%;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox.forSPSide .itemContent {
    width: 48%;
    float: right;
  }
}

@media screen and (min-width: 768px) {
  .itemDetailBox.forSPSide .itemList {
    padding: 0 20px;
  }
}

.itemDetailBox a.textLink {
  color: #f68ca2;
  border-bottom: #f68ca2 2px solid;
}

@media screen and (min-width: 768px) {
  .itemDetailBox a.textLink:hover {
    color: #fcdde3;
    border-bottom: #fcdde3 2px solid;
  }
}

@media screen and (min-width: 768px) {
  .notBtn .itemDetailBox {
    padding-bottom: 50px;
  }
  .notBtn .itemDetailBox .iconList {
    position: absolute;
    bottom: 20px;
  }
}

.row2 .itemDetailBox.side {
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .row2 .itemDetailBox.side {
    padding: 20px;
    width: 455px;
    float: left;
    margin-top: 10px;
    margin-left: 10px;
  }
  .row2 .itemDetailBox.side.a:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side {
    margin-top: 15px;
    padding: 7%;
    height: auto !important;
  }
}

.row2 .itemDetailBox.side .itemTitle {
  float: none;
  width: auto;
  padding: 0;
}

.row2 .itemDetailBox.side .itemImg {
  margin: 0 0 15px 0;
  float: left;
  display: block;
  border-radius: 7px;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .row2 .itemDetailBox.side .itemImg {
    width: 140px;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemImg {
    width: 42.2%;
  }
}

@media screen and (min-width: 768px) {
  .row2 .itemDetailBox.side .itemImg img {
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemImg {
    height: 0;
    padding-bottom: 42.2%;
  }
  .row2 .itemDetailBox.side .itemImg img {
    width: 134%;
  }
}

.row2 .itemDetailBox.side .itemImg img {
  position: relative;
  top: 0;
  left: -17%;
}

.row2 .itemDetailBox.side .itemContent {
  float: right;
}

@media screen and (min-width: 768px) {
  .row2 .itemDetailBox.side .itemContent {
    width: 255px;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemContent {
    width: 54%;
    font-size: 1.2rem;
  }
}

.row2 .itemDetailBox.side .itemContent .itemList {
  float: none;
  width: auto;
  margin-bottom: 15px;
}

.row2 .itemDetailBox.side .itemContent .itemLead {
  width: auto;
  float: none;
  padding-bottom: 0;
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemTitle + .iconList,
  .row2 .itemDetailBox.forSPSide .itemTitle + .iconList,
  .row3 .itemDetailBox.side .itemTitle + .iconList,
  .row3 .itemDetailBox.forSPSide .itemTitle + .iconList {
    padding-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemContent .itemLead,
  .row2 .itemDetailBox.forSPSide .itemContent .itemLead,
  .row3 .itemDetailBox.side .itemContent .itemLead,
  .row3 .itemDetailBox.forSPSide .itemContent .itemLead {
    padding-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemContent .itemList,
  .row2 .itemDetailBox.forSPSide .itemContent .itemList,
  .row3 .itemDetailBox.side .itemContent .itemList,
  .row3 .itemDetailBox.forSPSide .itemContent .itemList {
    padding-right: 0;
  }
}

@media screen and (min-width: 768px) {
  #itemWrap.forSPLine {
    margin-left: -10px;
    margin-top: -15px;
  }
}

@media screen and (max-width: 767px) {
  #itemWrap.forSPLine {
    margin-left: -2.6%;
    margin-top: -15px;
  }
}

#itemWrap.forSPLine .itemDetailBox {
  position: relative;
}

@media screen and (max-width: 767px) {
  #itemWrap.forSPLine .itemDetailBox {
    float: left;
    width: 47.4%;
    margin-top: 10px;
    margin-left: 2.6%;
    padding-bottom: 70px;
  }
}

@media screen and (max-width: 767px) {
  #itemWrap.forSPLine .itemTitle {
    font-size: 1.6rem;
  }
}

#itemWrap.forSPLine .itemDetailBtn {
  position: absolute;
}

@media screen and (max-width: 767px) {
  #itemWrap.forSPLine .itemDetailBtn {
    box-sizing: border-box;
    width: 100%;
    bottom: 3.8%;
    font-size: 1rem;
  }
}

#itemWrap.forSPLine .itemList {
  padding: 0 20px;
}

@media screen and (max-width: 767px) {
  #itemWrap.forSPLine.notBtn .itemDetailBox {
    padding-bottom: 3.8%;
  }
  #itemWrap.forSPLine.notBtn .iconList {
    margin-top: 3.8%;
    position: static;
    font-size: 1.2rem;
  }
}

#itemWrap.forSPLine.short .itemDetailBox {
  padding-bottom: 20px;
}

h2 + .js-dataList #itemWrap.forSPLine,
h2 + #itemWrap.forSPLine {
  margin-top: 0;
}

.newInfoBox {
  box-sizing: border-box;
  background-color: #fff;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .newInfoBox {
    padding: 20px;
    width: 455px;
    float: left;
    margin-top: 10px;
    margin-left: 10px;
  }
  .newInfoBox:hover {
    opacity: 0.7;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox {
    margin-top: 15px;
    padding: 7%;
    height: auto !important;
  }
}

.newInfoBox .infoDetail {
  color: #8ac4ee;
}

.newInfoBox .infoImg {
  margin-bottom: 15px;
  float: left;
  display: block;
  border-radius: 7px;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .newInfoBox .infoImg {
    width: 140px;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox .infoImg {
    width: 42.2%;
  }
}

@media screen and (min-width: 768px) {
  .newInfoBox .infoImg img {
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox .infoImg {
    height: 0;
    padding-bottom: 42.2%;
  }
  .newInfoBox .infoImg img {
    width: 134%;
  }
}

.newInfoBox .infoImg img {
  position: relative;
  top: 0;
  left: -17%;
}

.newInfoBox .infoDate {
  float: right;
}

@media screen and (min-width: 768px) {
  .newInfoBox .infoDate {
    width: 255px;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox .infoDate {
    width: 54%;
    font-size: 1.2rem;
  }
}

.newInfoBox .infoTitle {
  float: right;
  font-size: 1.6rem;
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .newInfoBox .infoTitle {
    width: 255px;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox .infoTitle {
    width: 54%;
  }
}

@media screen and (min-width: 768px) {
  .newInfoBox .iconList {
    width: 255px;
    float: right;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox .iconList {
    clear: both;
  }
}

.anchorLink {
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .anchorLink {
    padding: 0 3.8%;
  }
}

.anchorLink ul {
  box-sizing: border-box;
  margin-left: 0;
  width: 100%;
  display: block;
  border-radius: 7px;
}

.anchorLink ul:before,
.anchorLink ul:after {
  content: "";
  display: table;
}

.anchorLink ul:after {
  clear: both;
}

.anchorLink ul li {
  float: left;
  box-sizing: border-box;
  border-top: #f68ca2 3px solid;
  border-right: #f68ca2 3px solid;
  display: table;
}

@media screen and (min-width: 768px) {
  .anchorLink ul li {
    border-bottom: #f68ca2 3px solid;
  }
  .anchorLink ul li:first-child {
    border-left: #f68ca2 3px solid;
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
  }
  .anchorLink ul li:last-child {
    border-right: #f68ca2 3px solid;
    border-top-right-radius: 7px;
    border-bottom-right-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul li:first-child {
    border-top-left-radius: 7px;
  }
  .anchorLink ul li:first-child a {
    border-top-left-radius: 7px;
  }
  .anchorLink ul li:nth-child(2) {
    border-top-right-radius: 7px;
  }
  .anchorLink ul li:nth-child(2) a {
    border-top-right-radius: 7px;
  }
  .anchorLink ul li:nth-child(odd) {
    border-left: #f68ca2 3px solid;
  }
  .anchorLink ul li:nth-last-child(3):nth-child(odd) {
    border-bottom: #f68ca2 3px solid;
  }
  .anchorLink ul li:nth-last-child(2) {
    border-bottom: #f68ca2 3px solid;
  }
  .anchorLink ul li:nth-last-child(2):nth-child(odd) {
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 0;
  }
  .anchorLink ul li:nth-last-child(2):nth-child(odd) a {
    border-bottom-left-radius: 7px;
  }
  .anchorLink ul li:nth-last-child(2):nth-child(odd) {
    border-left: #f68ca2 3px solid;
  }
  .anchorLink ul li:nth-last-child(2):nth-child(even) {
    border-bottom-right-radius: 7px;
  }
  .anchorLink ul li:nth-last-child(2):nth-child(even) a {
    border-bottom-right-radius: 7px;
  }
  .anchorLink ul li:last-child:nth-child(odd) {
    border-top: none;
    border-bottom: #f68ca2 3px solid;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
  }
  .anchorLink ul li:last-child:nth-child(odd) a {
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
  }
  .anchorLink ul li:last-child:nth-child(even) {
    border-bottom: #f68ca2 3px solid;
    border-bottom-right-radius: 7px;
  }
  .anchorLink ul li:last-child:nth-child(even) a {
    border-bottom-right-radius: 7px;
  }
}

.anchorLink ul li a {
  position: relative;
  box-sizing: border-box;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .anchorLink ul li a {
    text-align: center;
    padding: 15px 3px 15px 22px;
  }
  .anchorLink ul li a:hover {
    background: #f68ca2;
    color: #fff;
  }
  .anchorLink ul li a:hover span::before,
  .anchorLink ul li a:hover span::after {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 2px;
    background-color: #fff;
    display: block;
    border-radius: 7px;
    top: 50%;
    left: -20px;
  }
  .anchorLink ul li a:hover span::before {
    margin-left: -10px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .anchorLink ul li a:hover span::after {
    margin-left: -2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul li a {
    background: #fff;
    padding: 15px 5px 15px 40px;
    text-align: left;
  }
}

.anchorLink ul li a span {
  display: inline-block;
  position: relative;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .anchorLink ul li a span {
    font-size: 1.4rem;
  }
  .anchorLink ul li a span::before,
  .anchorLink ul li a span::after {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 2px;
    background-color: #f68ca2;
    display: block;
    border-radius: 7px;
    top: 50%;
    left: -20px;
  }
  .anchorLink ul li a span::before {
    margin-left: -10px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .anchorLink ul li a span::after {
    margin-left: -2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul li a span::before,
  .anchorLink ul li a span::after {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 2px;
    background-color: #f68ca2;
    display: block;
    border-radius: 7px;
    top: 50%;
    left: -20px;
  }
  .anchorLink ul li a span::before {
    margin-left: -4px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .anchorLink ul li a span::after {
    margin-left: 2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media screen and (min-width: 768px) {
  .anchorLink ul.full li {
    width: 159px;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.full li {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .anchorLink ul.quarter li {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.quarter li {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .anchorLink ul.half {
    margin: 0 auto;
    width: 480px;
  }
}

.anchorLink ul.half li {
  width: 50%;
}

@media screen and (min-width: 768px) {
  .anchorLink ul.half li {
    border-width: 6px;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.half a {
    padding: 15px 5px 15px 25px;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .anchorLink ul.third {
    margin: 0 auto;
    width: 720px;
  }
}

@media screen and (min-width: 768px) {
  .anchorLink ul.third li {
    border-width: 6px;
    width: 240px;
    float: left;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li {
    width: 100%;
    float: none;
    height: auto !important;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li:nth-child(1) {
    display: block;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
    border-bottom: none;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li:nth-child(1) a {
    display: block;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li:nth-child(2) {
    border-radius: 0;
    border-left: #f68ca2 3px solid;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li:nth-child(2) a {
    border-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li:nth-child(3) a {
    display: block;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third a {
    display: block;
    padding: 15px 5px 15px 45px;
    text-align: left;
  }
}

.narrowDownBtn, .narrowDownLink, .linkBtnList {
  position: relative;
  margin-top: 15px;
}

.narrowDownBtn ul li, .narrowDownLink ul li, .linkBtnList ul li {
  display: table;
  float: left;
}

.narrowDownBtn ul li a, .narrowDownLink ul li a, .linkBtnList ul li a {
  vertical-align: middle;
  box-sizing: border-box;
  border: #fff 2px solid;
  display: block;
  border-radius: 7px;
  color: #fff;
  display: table-cell;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .narrowDownBtn ul, .narrowDownLink ul, .linkBtnList ul {
    margin-left: -11px;
    padding-bottom: 30px;
  }
  .narrowDownBtn ul li, .narrowDownLink ul li, .linkBtnList ul li {
    width: 122px;
    margin-top: 15px;
    margin-left: 11px;
  }
  .narrowDownBtn ul li.current a, .narrowDownLink ul li.current a, .linkBtnList ul li.current a {
    background: #fff;
  }
  .narrowDownBtn ul li a, .narrowDownLink ul li a, .linkBtnList ul li a {
    padding: 10px 2px;
  }
  .narrowDownBtn ul li a:hover, .narrowDownLink ul li a:hover, .linkBtnList ul li a:hover {
    background: #fff;
  }
}

@media screen and (max-width: 767px) {
  .narrowDownBtn ul, .narrowDownLink ul, .linkBtnList ul {
    margin-top: 10px;
    margin-right: -1.3%;
    padding-bottom: 30px;
  }
  .narrowDownBtn ul li, .narrowDownLink ul li, .linkBtnList ul li {
    width: 32%;
    margin-top: 1.3%;
    margin-right: 1.3%;
  }
  .narrowDownBtn ul li a, .narrowDownLink ul li a, .linkBtnList ul li a {
    padding: 10px 2px;
    font-size: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .narrowDownBtn h3, .narrowDownLink h3, .linkBtnList h3 {
    position: relative;
  }
  .narrowDownBtn h3::after, .narrowDownLink h3::after, .linkBtnList h3::after {
    content: "";
    height: 3px;
    width: 75%;
    display: block;
    background: #fff;
    display: block;
    border-radius: 7px;
    position: absolute;
    top: 50%;
    right: 0;
  }
}

.narrowDownBtn h3.information::after, .narrowDownLink h3.information::after, .linkBtnList h3.information::after {
  width: 70%;
}

.narrowDownBtn h3.ped::after, .narrowDownLink h3.ped::after, .linkBtnList h3.ped::after {
  width: 82%;
}

@media screen and (min-width: 768px) {
  .narrowDownLink h3::after {
    width: 83%;
  }
}

.linkListBlock {
  display: block;
  border-radius: 7px;
  display: table;
  border-style: solid;
  border-color: #f68ca2;
  border-width: 3px;
}

@media screen and (min-width: 768px) {
  .linkListBlock {
    margin: 30px auto 0 auto;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 767px) {
  .linkListBlock {
    width: 92.4%;
    margin: 30px 3.8%;
    font-size: 1.2rem;
  }
}

.linkListBlock a {
  box-sizing: border-box;
  display: table-cell;
  vertical-align: middle;
  border-left-style: solid;
  border-left-color: #f68ca2;
}

@media screen and (max-width: 767px) {
  .linkListBlock a {
    width: 25%;
  }
}

.linkListBlock a p {
  box-sizing: border-box;
  text-align: center;
  display: inline-block;
}

@media screen and (min-width: 768px) {
  .linkListBlock a p {
    width: 130px;
    padding: 10px;
  }
}

@media screen and (max-width: 767px) {
  .linkListBlock a p {
    width: 100%;
    padding: 5px;
  }
}

.linkListBlock a:first-child {
  border-left: none;
}

@media screen and (min-width: 768px) {
  .linkListBlock a:hover {
    background-color: #f68ca2;
    color: #fff;
  }
}

.linkListBlock a.current {
  background-color: #f68ca2;
  color: #fff;
}

.linkBtnList {
  margin-top: 0;
}

.linkBtnList ul {
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .linkBtnList ul {
    margin-top: -15px;
  }
}

@media screen and (max-width: 767px) {
  .linkBtnList ul {
    margin-top: -1.3%;
  }
}

.infoBnr {
  display: block;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .infoBnr {
    height: 134px;
  }
}

@media screen and (max-width: 767px) {
  .infoBnr {
    height: 129px;
  }
}

.infoBnr .keyColorBox,
.infoBnr .subColorBox,
.infoBnr .foundationColorBox {
  display: block;
  border-radius: 7px;
  display: table;
}

.infoBnr .keyColorBox {
  background: #f68ca2;
  border: #f68ca2 2px solid;
}

.infoBnr .subColorBox {
  background: #8ac4ee;
  border: #8ac4ee 2px solid;
}

.infoBnr .foundationColorBox {
  padding: 0;
  background: #fff;
  border: #fff 2px solid;
}

.infoBnr .bnr {
  display: block;
  border-radius: 7px;
  display: table-cell;
  vertical-align: middle;
}

.infoBnr .text {
  box-sizing: border-box;
  display: table-cell;
  vertical-align: middle;
  color: #fff;
  padding: 15px;
}

@media screen and (max-width: 767px) {
  .infoBnr .text {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  .infoBnr {
    margin: 15px auto 0 auto;
    width: 470px;
  }
  .infoBnr:hover {
    opacity: 0.7;
  }
  .infoBnr .bnr {
    width: 130px;
  }
  .infoBnr .text {
    width: 340px;
  }
}

@media screen and (max-width: 767px) {
  .infoBnr {
    margin: 15px auto;
  }
  .infoBnr .bnr {
    width: 125px;
  }
  .infoBnr .text {
    width: 80%;
  }
}

.infoBnr.single {
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  .infoBnr.single {
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .infoBnr.single {
    height: auto;
  }
}

.infoBnr.single img {
  width: 100%;
}

.keyColorBG .foundationColorBox .text {
  color: #f68ca2;
}

.subColorBG .foundationColorBox .text, #calendarBlock .foundationColorBox .text {
  color: #8ac4ee;
}

.clearfix .infoBnr {
  margin: 15px auto 0 auto;
}

@media screen and (min-width: 768px) {
  .clearfix .infoBnr:nth-child(odd) {
    float: left;
  }
  .clearfix .infoBnr:nth-child(even) {
    float: right;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .clearfix .infoBnr,
  .subColorBG .clearfix .infoBnr, #calendarBlock .clearfix .infoBnr {
    width: 450px;
  }
}

.typePointBlock {
  margin-top: 15px;
}

@media screen and (max-width: 767px) {
  .typePointBlock {
    padding-bottom: 20px;
  }
}

.typePointBlock dl {
  background: #f68ca2;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  display: block;
  border-radius: 7px;
}

.typePointBlock dt img {
  width: 100%;
}

.typePointBlock dd {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .typePointBlock {
    margin-left: -10px;
  }
  .typePointBlock a {
    margin-top: 15px;
  }
  .typePointBlock dl {
    width: 310px;
    float: left;
    margin-left: 10px;
  }
  .typePointBlock dd {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .typePointBlock a {
    margin-top: 20px;
  }
  .typePointBlock dd {
    padding: 3.8%;
    font-size: 1.2rem;
  }
}

.siteMapImg {
  margin-top: 15px;
  text-align: center;
}

.siteMapImg img {
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .movieBlock {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .movieBlock {
    margin-bottom: 30px;
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  }
}

.movieBlock .movieLead {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .movieBlock .movieLead {
    padding: 20px 20px 0 20px;
    text-align: center;
  }
  .movieBlock .movieLead .tit {
    font-size: 3.8rem;
  }
  .movieBlock .movieLead .text {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .movieBlock .movieLead {
    padding: 3.8%;
  }
  .movieBlock .movieLead .tit {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .movieBlock {
    padding: 3.8% 0;
  }
}

@media screen and (max-width: 767px) {
  .movieBlock + .foundationColorBG {
    padding-top: 0;
    box-shadow: none;
  }
}

.movieBody {
  line-height: 0;
}

@media screen and (min-width: 768px) {
  .movieBody iframe {
    width: 920px;
    height: 518px;
  }
}

@media screen and (max-width: 767px) {
  .movieBody {
    height: 0;
    overflow: hidden;
    position: relative;
    padding-bottom: 56.25%;
  }
  .movieBody iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.characterBlock .carouselTit {
  text-align: center;
  color: #f68ca2;
}

.characterBlock .performer {
  padding-top: 10px;
  margin-top: 10px;
  border-top: #f68ca2 1px solid;
}

@media screen and (min-width: 768px) {
  .characterBlock .performer h4 {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 767px) {
  .characterBlock .performer h4 {
    font-size: 2.2rem;
  }
}

.characterBlock .performer dl {
  margin-top: 10px;
}

.characterBlock .performer dd .annotation {
  font-size: 1.4rem;
}

@media screen and (min-width: 768px) {
  .characterBlock .btnSizeM {
    box-sizing: border-box;
    width: 410px;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .characterBlock .btnSizeM {
    margin-bottom: 3.8%;
  }
}

.attractionBox .lead {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .attractionBox .lead {
    text-align: center;
  }
}

.attractionBox .accordion {
  margin-top: 10px;
  background: #fff;
  display: block;
  border-radius: 7px;
}

.attractionBox .accordionToggle {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .attractionBox .accordionToggle {
    font-size: 2rem;
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  .attractionBox .accordionToggle {
    font-size: 1.6rem;
    padding: 15px 40px 15px 15px;
  }
}

.attractionBox .accordionBody {
  border-top: #f68ca2 1px solid;
}

.attractionBox .accordionBody a.textLink {
  color: #f68ca2;
  border-bottom: #f68ca2 2px solid;
}

@media screen and (min-width: 768px) {
  .attractionBox .accordionBody a.textLink:hover {
    color: #fcdde3;
    border-bottom: #fcdde3 2px solid;
  }
}

@media screen and (min-width: 768px) {
  .attractionBox .accordionBody {
    margin: 0 20px;
    padding: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .attractionBox .accordionBody {
    margin: 0 3.8%;
    padding: 3.8% 0;
  }
}

@media screen and (min-width: 768px) {
  .attractionBox .accordionBody dl,
  .attractionBox .accordionBody p,
  .attractionBox .accordionBody ul,
  .attractionBox .accordionBody ol {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .attractionBox .accordionBody dl,
  .attractionBox .accordionBody p,
  .attractionBox .accordionBody ul,
  .attractionBox .accordionBody ol {
    margin-top: 3.8%;
  }
}

.attractionBox .accordionBody dl:first-child,
.attractionBox .accordionBody p:first-child,
.attractionBox .accordionBody ul:first-child,
.attractionBox .accordionBody ol:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .attractionBox .accordionBody dl dl,
  .attractionBox .accordionBody dl p,
  .attractionBox .accordionBody dl ul,
  .attractionBox .accordionBody dl ol,
  .attractionBox .accordionBody p dl,
  .attractionBox .accordionBody p p,
  .attractionBox .accordionBody p ul,
  .attractionBox .accordionBody p ol,
  .attractionBox .accordionBody ul dl,
  .attractionBox .accordionBody ul p,
  .attractionBox .accordionBody ul ul,
  .attractionBox .accordionBody ul ol,
  .attractionBox .accordionBody ol dl,
  .attractionBox .accordionBody ol p,
  .attractionBox .accordionBody ol ul,
  .attractionBox .accordionBody ol ol {
    margin-top: 5px;
  }
}

.recommendInfoBlock {
  margin-top: 20px;
  border: #fff 3px solid;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .recommendInfoBlock {
    padding: 20px 17px;
  }
}

@media screen and (max-width: 767px) {
  .recommendInfoBlock {
    padding: 15px 3.8%;
    box-shadow: none;
  }
}

.recommendInfoBlock:first-child {
  margin-top: 0;
}

.recommendInfoBlock h2 {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .recommendInfoBlock h2 {
    font-size: 3rem;
  }
}

@media screen and (max-width: 767px) {
  .recommendInfoBlock h2 {
    font-size: 2.2rem;
  }
}

.importantNews {
  color: #8ac4ee;
}

.importantNews .tit {
  font-size: 1.8rem;
}

.importantNews .foundationColorBG {
  box-shadow: none;
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .importantNews:hover {
    opacity: 0.7;
  }
}

.importantContent,
.ruleContent {
  color: #a0a0a0;
}

@media screen and (min-width: 768px) {
  .importantContent,
  .ruleContent {
    margin-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  .importantContent,
  .ruleContent {
    margin-top: 80px;
    padding: 0 3.8%;
  }
}

.importantContent a,
.ruleContent a {
  color: #a0a0a0;
}

@media screen and (min-width: 768px) {
  .importantContent h1,
  .ruleContent h1 {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 767px) {
  .ruleContent {
    margin-top: 15px;
  }
}

@media screen and (min-width: 768px) {
  .ruleContent .ruleBody {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .ruleContent .ruleBody {
    margin-top: 15px;
  }
}

.ruleContent .ruleBody .btn {
  padding-bottom: 10px !important;
}

@media screen and (min-width: 768px) {
  .ruleContent .ruleBody .btn {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

.closedDay {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .closedDay {
    margin: 25px 0;
    display: table;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .closedDay {
    margin: 50px 0 25px 0;
    padding: 0 3.8%;
  }
}

@media screen and (min-width: 768px) {
  .closedDay dl {
    display: table-cell;
    width: 85%;
  }
}

@media screen and (min-width: 768px) {
  .closedDay dl dt {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 767px) {
  .closedDay dl dt {
    font-size: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .closedDay p {
    display: table-cell;
    white-space: nowrap;
    vertical-align: bottom;
    width: 15%;
    text-align: right;
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  .closedDay p {
    font-size: 1.6rem;
    margin-top: 10px;
    text-align: right;
  }
}

.closedDay a.textLink {
  color: #8ac4ee;
  border-bottom: #8ac4ee 2px solid !important;
  display: inline-block;
  text-decoration: none !important;
}

@media screen and (min-width: 768px) {
  .closedDay a.textLink:hover {
    color: #dcedfa;
    border-bottom: #dcedfa 2px solid !important;
  }
}

@media screen and (min-width: 768px) {
  .characterList .clearfix {
    margin-top: -30px;
  }
}

@media screen and (max-width: 767px) {
  .characterList .clearfix {
    margin-top: -10px;
  }
}

.characterList .clearfix li {
  float: left;
}

@media screen and (min-width: 768px) {
  .characterList .clearfix li {
    width: 140px;
    margin-top: 30px;
    margin-left: 30px;
  }
}

@media screen and (max-width: 767px) {
  .characterList .clearfix li {
    width: 32%;
    margin-top: 10px;
    margin-right: 2%;
  }
}

@media screen and (max-width: 767px) {
  .characterList .clearfix li:nth-child(3n) {
    margin-right: 0;
  }
}

.characterList .charaImg {
  box-sizing: border-box;
  margin-bottom: 15px;
  display: block;
  border-radius: 7px;
  overflow: hidden;
  position: relative;
}

@media screen and (min-width: 768px) {
  .characterList .charaImg img {
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .characterList .charaImg {
    height: 0;
    padding-bottom: 32%;
  }
  .characterList .charaImg img {
    width: 134%;
  }
}

.characterList .charaImg img {
  position: relative;
  top: 0;
  left: -17%;
}

@media screen and (min-width: 768px) {
  .characterList .charaImg {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 767px) {
  .characterList .charaImg {
    margin-bottom: 10px;
    padding-bottom: 100%;
  }
}

.characterList .charaName {
  line-height: 1.2;
  text-align: center;
}

.leadBlcok {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .leadBlcok {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .leadBlcok {
    margin-top: 10px;
  }
}

.leadBlcok p {
  margin-top: 20px;
}

.leadBlcok ul {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .leadBlcok dt.tit {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  .leadBlcok dt.tit {
    font-size: 1.6rem;
  }
}

.leadBlcok .itemList {
  margin-top: 20px;
}

.leadBlcok .itemList dt {
  float: left;
}

.leadBlcok .itemList dd {
  float: left;
}

.leadBlcok *:first-child {
  margin-top: 0;
}

.leadBlcok p + .annotation,
.leadBlcok .itemList + .annotation {
  margin-top: 5px;
}

@media screen and (min-width: 768px) {
  .charaBG {
    text-align: center;
    float: left;
    margin-left: 10px;
    margin-top: 10px;
  }
  .charaBG.sizeS {
    width: 210px;
    height: 175px;
  }
  .charaBG.sizeM {
    width: 210px;
    height: 360px;
  }
  .charaBG.sizeL {
    width: 430px;
    height: 360px;
  }
  .charaBG img {
    max-width: 100%;
    max-height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .charaBG {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .noImgWrap .charaBG.sizeS {
    float: none;
    margin-top: 10px;
  }
  .row3 .charaBG.sizeM {
    width: 300px;
    height: auto;
  }
  .row3 .charaBG.sizeL {
    width: 610px;
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  .campaignBG,
  .couponBG {
    background-color: #fff;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .campaignBG .foundationColorBG,
  .couponBG .foundationColorBG {
    border-radius: 0;
  }
}

.campaignBG .foundationColorBG .freeContent,
.campaignBG .foundationColorBG .ruleContent .ruleBody,
.ruleContent .campaignBG .foundationColorBG .ruleBody, .couponBG .foundationColorBG .freeContent, .couponBG .foundationColorBG .ruleContent .ruleBody, .ruleContent .couponBG .foundationColorBG .ruleBody {
  color: #f68ca2 !important;
}

.campaignBG .itemList dt,
.couponBG .itemList dt {
  float: left;
  padding-right: 10px;
}

.campaignBG .itemList dd,
.couponBG .itemList dd {
  float: left;
}

.campaignBG h3,
.couponBG h3 {
  margin-top: 20px;
}

.campaignBG .headerTable + p,
.couponBG .headerTable + p {
  margin-top: 30px;
}

.campaignBG .btn,
.couponBG .btn {
  margin: 30px auto 0 auto;
}

@media screen and (min-width: 768px) {
  .campaignBG .btn,
  .couponBG .btn {
    width: 410px;
  }
}

.campaignBG p + .btn,
.couponBG p + .btn {
  margin-top: 10px;
}

.campaignBG .btn + .annotation,
.couponBG .btn + .annotation {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .campaignBG .borderLeft,
  .couponBG .borderLeft {
    border-left: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .campaignBG .borderLeft,
  .couponBG .borderLeft {
    border-left: 2px solid #fff;
  }
}

.greetingHeadBlock {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .greetingHeadBlock {
    display: table;
  }
}

@media screen and (min-width: 768px) {
  .greetingHeadBlock .img {
    display: table-cell;
    vertical-align: middle;
  }
}

.greetingHeadBlock .img img {
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .greetingHeadBlock .detail {
    padding-left: 30px;
    display: table-cell;
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) {
  .greetingHeadBlock .detail {
    margin-top: -7%;
    padding: 0 7%;
  }
}

.greetingHeadBlock .detail h2 {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .greetingHeadBlock .detail h2 {
    margin-left: -10px;
  }
}

@media screen and (max-width: 767px) {
  .greetingHeadBlock .detail h2 {
    margin-top: 0;
    margin-left: -3%;
  }
}

@media screen and (max-width: 767px) {
  .greetingHeadBlock .detail h2 img {
    width: 70%;
  }
}

@media screen and (min-width: 768px) {
  .greetingHeadBlock .detail p {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  .greetingHeadBlock .detail p {
    margin-top: 5px;
  }
}

.closedDayBlock {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .closedDayBlock .tit {
    font-size: 3.8rem;
  }
}

@media screen and (max-width: 767px) {
  .closedDayBlock .tit {
    font-size: 3rem;
  }
}

.closedDayBlock a.textLink {
  display: inline-block;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .freeContent, .ruleContent .ruleBody {
    margin-bottom: 70px;
  }
}

@media screen and (max-width: 767px) {
  .freeContent, .ruleContent .ruleBody {
    margin-bottom: 7%;
  }
}

@media screen and (min-width: 768px) {
  .freeContent h2,
  .ruleContent .ruleBody h2,
  .freeContent h3, .ruleContent .ruleBody h3 {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .freeContent h2,
  .ruleContent .ruleBody h2,
  .freeContent h3, .ruleContent .ruleBody h3 {
    margin-top: 7%;
  }
}

.freeContent h2:first-child,
.ruleContent .ruleBody h2:first-child,
.freeContent h3:first-child, .ruleContent .ruleBody h3:first-child {
  margin-top: 0;
}

.freeContent img, .ruleContent .ruleBody img {
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .freeContent div, .ruleContent .ruleBody div {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  .freeContent div, .ruleContent .ruleBody div {
    margin-top: 7%;
  }
}

.freeContent div:first-child, .ruleContent .ruleBody div:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .freeContent .forSP, .ruleContent .ruleBody .forSP {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .forPC, .ruleContent .ruleBody .forPC {
    display: none;
  }
}

.freeContent .txtL, .ruleContent .ruleBody .txtL {
  text-align: left;
}

.freeContent .txtC, .ruleContent .ruleBody .txtC {
  text-align: center;
}

.freeContent .txtR, .ruleContent .ruleBody .txtR {
  text-align: right;
}

.freeContent ul.symbol li, .ruleContent .ruleBody ul.symbol li {
  padding-left: 2rem;
  position: relative;
}

.freeContent ul.symbol li::before, .ruleContent .ruleBody ul.symbol li::before {
  content: "š";
  position: absolute;
  top: 0;
  left: 0;
}

.freeContent ul.num .annotation li,
.ruleContent .ruleBody ul.num .annotation li,
.freeContent ul.disc .annotation li,
.ruleContent .ruleBody ul.disc .annotation li,
.freeContent ul.symbol .annotation li, .ruleContent .ruleBody ul.symbol .annotation li {
  list-style: none;
}

.freeContent ul.num .annotation li:after,
.ruleContent .ruleBody ul.num .annotation li:after,
.freeContent ul.disc .annotation li:after,
.ruleContent .ruleBody ul.disc .annotation li:after,
.freeContent ul.symbol .annotation li:after, .ruleContent .ruleBody ul.symbol .annotation li:after {
  content: "";
  display: block;
}

.freeContent ul.num .annotation li:before,
.ruleContent .ruleBody ul.num .annotation li:before,
.freeContent ul.disc .annotation li:before,
.ruleContent .ruleBody ul.disc .annotation li:before,
.freeContent ul.symbol .annotation li:before, .ruleContent .ruleBody ul.symbol .annotation li:before {
  content: "";
  display: table-cell;
}

.freeContent .btn, .ruleContent .ruleBody .btn {
  margin: 15px auto 0 auto;
}

@media screen and (min-width: 768px) {
  .freeContent .btn, .ruleContent .ruleBody .btn {
    width: 430px;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .btn, .ruleContent .ruleBody .btn {
    padding: 0 10%;
  }
}

.freeContent .btn a, .ruleContent .ruleBody .btn a {
  color: #fff;
}

.freeContent .clearfix .floatL, .ruleContent .ruleBody .clearfix .floatL {
  float: left;
}

.freeContent .clearfix .floatR, .ruleContent .ruleBody .clearfix .floatR {
  float: right;
}

.freeContent .borderBox, .ruleContent .ruleBody .borderBox {
  border: #fff 3px solid;
  display: block;
  border-radius: 7px;
}

.freeContent .borderBox .imgL, .ruleContent .ruleBody .borderBox .imgL {
  float: left;
}

@media screen and (min-width: 768px) {
  .freeContent .borderBox, .ruleContent .ruleBody .borderBox {
    padding: 15px;
  }
  .freeContent .borderBox .imgL, .ruleContent .ruleBody .borderBox .imgL {
    width: 15%;
    margin-right: 2%;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .borderBox, .ruleContent .ruleBody .borderBox {
    padding: 7%;
  }
  .freeContent .borderBox .imgL, .ruleContent .ruleBody .borderBox .imgL {
    width: 47%;
    margin-right: 6%;
  }
}

.freeContent .txtMain .imgL, .ruleContent .ruleBody .txtMain .imgL {
  float: left;
}

@media screen and (min-width: 768px) {
  .freeContent .txtMain .imgL, .ruleContent .ruleBody .txtMain .imgL {
    width: 25%;
    margin-right: 2%;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .txtMain .imgL, .ruleContent .ruleBody .txtMain .imgL {
    width: 47%;
    margin-right: 6%;
  }
}

@media screen and (min-width: 768px) {
  .freeContent .spImgMain .mainImg, .ruleContent .ruleBody .spImgMain .mainImg {
    width: 25%;
    margin-right: 2%;
    float: left;
  }
}

.freeContent .spImgMain img, .ruleContent .ruleBody .spImgMain img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .freeContent .spImgMain .detail p, .ruleContent .ruleBody .spImgMain .detail p {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .spImgMain .detail p, .ruleContent .ruleBody .spImgMain .detail p {
    margin-top: 3.8%;
  }
}

.freeContent .spImgMain .detail p:first-child, .ruleContent .ruleBody .spImgMain .detail p:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .freeContent .imgMain .mainImg, .ruleContent .ruleBody .imgMain .mainImg {
    float: left;
    width: 47%;
    margin-right: 5%;
  }
  .freeContent .imgMain .detail, .ruleContent .ruleBody .imgMain .detail {
    margin-top: 0;
    float: left;
    width: 48%;
  }
  .freeContent .imgMain .detail p:first-child, .ruleContent .ruleBody .imgMain .detail p:first-child {
    margin-top: 0;
  }
}

.freeContent .imgMain img, .ruleContent .ruleBody .imgMain img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .freeContent .imgMain .detail p, .ruleContent .ruleBody .imgMain .detail p {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .imgMain .detail p, .ruleContent .ruleBody .imgMain .detail p {
    margin-top: 3.8%;
  }
}

.freeContent .imgMain .detail p:first-child, .ruleContent .ruleBody .imgMain .detail p:first-child {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .freeContent .wPC10, .ruleContent .ruleBody .wPC10 {
    width: 10%;
  }
  .freeContent .wPC20, .ruleContent .ruleBody .wPC20 {
    width: 20%;
  }
  .freeContent .wPC30, .ruleContent .ruleBody .wPC30 {
    width: 30%;
  }
  .freeContent .wPC40, .ruleContent .ruleBody .wPC40 {
    width: 40%;
  }
  .freeContent .wPC50, .ruleContent .ruleBody .wPC50 {
    width: 50%;
  }
  .freeContent .wPC60, .ruleContent .ruleBody .wPC60 {
    width: 60%;
  }
  .freeContent .wPC70, .ruleContent .ruleBody .wPC70 {
    width: 70%;
  }
  .freeContent .wPC80, .ruleContent .ruleBody .wPC80 {
    width: 80%;
  }
  .freeContent .wPC90, .ruleContent .ruleBody .wPC90 {
    width: 90%;
  }
  .freeContent .wPC100, .ruleContent .ruleBody .wPC100 {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .wSP10, .ruleContent .ruleBody .wSP10 {
    width: 10%;
  }
  .freeContent .wSP20, .ruleContent .ruleBody .wSP20 {
    width: 20%;
  }
  .freeContent .wSP30, .ruleContent .ruleBody .wSP30 {
    width: 30%;
  }
  .freeContent .wSP40, .ruleContent .ruleBody .wSP40 {
    width: 40%;
  }
  .freeContent .wSP50, .ruleContent .ruleBody .wSP50 {
    width: 50%;
  }
  .freeContent .wSP60, .ruleContent .ruleBody .wSP60 {
    width: 60%;
  }
  .freeContent .wSP70, .ruleContent .ruleBody .wSP70 {
    width: 70%;
  }
  .freeContent .wSP80, .ruleContent .ruleBody .wSP80 {
    width: 80%;
  }
  .freeContent .wSP90, .ruleContent .ruleBody .wSP90 {
    width: 90%;
  }
  .freeContent .wSP100, .ruleContent .ruleBody .wSP100 {
    width: 100%;
  }
}

.freeContent .bnrArea, .ruleContent .ruleBody .bnrArea {
  position: relative;
}

.freeContent .bnrArea img, .ruleContent .ruleBody .bnrArea img {
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  .freeContent .bnrArea, .ruleContent .ruleBody .bnrArea {
    text-align: right;
    margin: auto 40px;
  }
  .freeContent .bnrArea a, .ruleContent .ruleBody .bnrArea a {
    display: inline-block;
    width: 290px;
  }
  .freeContent .bnrArea img, .ruleContent .ruleBody .bnrArea img {
    width: 100%;
  }
  .freeContent .bnrArea .imgChara, .ruleContent .ruleBody .bnrArea .imgChara {
    position: absolute;
    bottom: -20px;
    right: -90px;
  }
  .freeContent .bnrArea .imgChara img, .ruleContent .ruleBody .bnrArea .imgChara img {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  .freeContent .bnrArea, .ruleContent .ruleBody .bnrArea {
    background: #fff;
    margin: 3.8% -4.2%;
    padding: 7% 4%;
  }
  .freeContent .bnrArea .imgChara, .ruleContent .ruleBody .bnrArea .imgChara {
    display: none;
  }
}

.timeTit,
.recommendTit {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .timeTit,
  .recommendTit {
    font-size: 3.8rem;
    position: relative;
    line-height: 1;
    margin: 30px 0 20px 0;
  }
  .timeTit::after,
  .recommendTit::after {
    content: "";
    width: 100%;
    height: 5px;
    display: block;
    background: #fff;
    display: block;
    border-radius: 7px;
    position: absolute;
    top: 50%;
    right: 0;
    z-index: 3000;
  }
  .timeTit p,
  .recommendTit p {
    position: relative;
    background: #f68ca2;
    display: inline-block;
    z-index: 3100;
    padding-right: 50px;
  }
}

@media screen and (max-width: 767px) {
  .timeTit,
  .recommendTit {
    margin-top: 20px;
    font-size: 3rem;
  }
}

@media screen and (min-width: 768px) {
  .timeTit + .timeTit {
    margin: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  .timeTit + .timeTit {
    margin-top: 0;
  }
}

.overlay {
  background-color: #fff;
  display: none;
  height: 100%;
  left: 0;
  opacity: 0.9;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5500;
}

@media screen and (min-width: 768px) {
  .forSPImg {
    display: none;
  }
  br.forSPBr {
    display: none;
  }
  .forPCtextL {
    text-align: left !important;
  }
  .forPCtextC {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
  }
  .forPCtextR {
    text-align: right !important;
  }
  .forPCfont10 {
    font-size: 1rem !important;
  }
  .forPCfont12 {
    font-size: 1.2rem !important;
  }
  .forPCfont14 {
    font-size: 1.4rem !important;
  }
  .forPCfont16 {
    font-size: 1.6rem !important;
  }
  .forPCfont18 {
    font-size: 1.8rem !important;
  }
  .forPCfont20 {
    font-size: 2rem !important;
  }
  .forPCMT0 {
    margin-top: 0px !important;
  }
  .forPCMR0 {
    margin-right: 0px !important;
  }
  .forPCMB0 {
    margin-bottom: 0px !important;
  }
  .forPCML0 {
    margin-left: 0px !important;
  }
  .forPCPT0 {
    padding-top: 0px !important;
  }
  .forPCPR0 {
    padding-right: 0px !important;
  }
  .forPCPB0 {
    padding-bottom: 0px !important;
  }
  .forPCPL0 {
    padding-left: 0px !important;
  }
  .forPCMT10 {
    margin-top: 10px !important;
  }
  .forPCMR10 {
    margin-right: 10px !important;
  }
  .forPCMB10 {
    margin-bottom: 10px !important;
  }
  .forPCML10 {
    margin-left: 10px !important;
  }
  .forPCPT10 {
    padding-top: 10px !important;
  }
  .forPCPR10 {
    padding-right: 10px !important;
  }
  .forPCPB10 {
    padding-bottom: 10px !important;
  }
  .forPCPL10 {
    padding-left: 10px !important;
  }
  .forPCMT20 {
    margin-top: 20px !important;
  }
  .forPCMR20 {
    margin-right: 20px !important;
  }
  .forPCMB20 {
    margin-bottom: 20px !important;
  }
  .forPCML20 {
    margin-left: 20px !important;
  }
  .forPCPT20 {
    padding-top: 20px !important;
  }
  .forPCPR20 {
    padding-right: 20px !important;
  }
  .forPCPB20 {
    padding-bottom: 20px !important;
  }
  .forPCPL20 {
    padding-left: 20px !important;
  }
  .forPCMT30 {
    margin-top: 30px !important;
  }
  .forPCMR30 {
    margin-right: 30px !important;
  }
  .forPCMB30 {
    margin-bottom: 30px !important;
  }
  .forPCML30 {
    margin-left: 30px !important;
  }
  .forPCPT30 {
    padding-top: 30px !important;
  }
  .forPCPR30 {
    padding-right: 30px !important;
  }
  .forPCPB30 {
    padding-bottom: 30px !important;
  }
  .forPCPL30 {
    padding-left: 30px !important;
  }
  .forPCMT40 {
    margin-top: 40px !important;
  }
  .forPCMR40 {
    margin-right: 40px !important;
  }
  .forPCMB40 {
    margin-bottom: 40px !important;
  }
  .forPCML40 {
    margin-left: 40px !important;
  }
  .forPCPT40 {
    padding-top: 40px !important;
  }
  .forPCPR40 {
    padding-right: 40px !important;
  }
  .forPCPB40 {
    padding-bottom: 40px !important;
  }
  .forPCPL40 {
    padding-left: 40px !important;
  }
  .forPCAutoBtn {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .forPCAutoBtn a {
    display: inline-block;
    padding: 10px 20px;
  }
}

@media screen and (max-width: 767px) {
  .forPCImg {
    display: none;
  }
  br.forPCBr {
    display: none;
  }
  .forSPtextL {
    text-align: left !important;
  }
  .forSPtextC {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
  }
  .forSPtextR {
    text-align: right !important;
  }
  .forSPfont10 {
    font-size: 1rem !important;
  }
  .forSPfont12 {
    font-size: 1.2rem !important;
  }
  .forSPfont14 {
    font-size: 1.4rem !important;
  }
  .forSPfont16 {
    font-size: 1.6rem !important;
  }
  .forSPfont18 {
    font-size: 1.8rem !important;
  }
  .forSPfont20 {
    font-size: 2rem !important;
  }
  .forSPMT0 {
    margin-top: 0px !important;
  }
  .forSPMR0 {
    margin-right: 0px !important;
  }
  .forSPMB0 {
    margin-bottom: 0px !important;
  }
  .forSPML0 {
    margin-left: 0px !important;
  }
  .forSPPT0 {
    padding-top: 0px !important;
  }
  .forSPPR0 {
    padding-right: 0px !important;
  }
  .forSPPB0 {
    padding-bottom: 0px !important;
  }
  .forSPPL0 {
    padding-left: 0px !important;
  }
  .forSPMT10 {
    margin-top: 10px !important;
  }
  .forSPMR10 {
    margin-right: 10px !important;
  }
  .forSPMB10 {
    margin-bottom: 10px !important;
  }
  .forSPML10 {
    margin-left: 10px !important;
  }
  .forSPPT10 {
    padding-top: 10px !important;
  }
  .forSPPR10 {
    padding-right: 10px !important;
  }
  .forSPPB10 {
    padding-bottom: 10px !important;
  }
  .forSPPL10 {
    padding-left: 10px !important;
  }
  .forSPMT20 {
    margin-top: 20px !important;
  }
  .forSPMR20 {
    margin-right: 20px !important;
  }
  .forSPMB20 {
    margin-bottom: 20px !important;
  }
  .forSPML20 {
    margin-left: 20px !important;
  }
  .forSPPT20 {
    padding-top: 20px !important;
  }
  .forSPPR20 {
    padding-right: 20px !important;
  }
  .forSPPB20 {
    padding-bottom: 20px !important;
  }
  .forSPPL20 {
    padding-left: 20px !important;
  }
  .forSPMT30 {
    margin-top: 30px !important;
  }
  .forSPMR30 {
    margin-right: 30px !important;
  }
  .forSPMB30 {
    margin-bottom: 30px !important;
  }
  .forSPML30 {
    margin-left: 30px !important;
  }
  .forSPPT30 {
    padding-top: 30px !important;
  }
  .forSPPR30 {
    padding-right: 30px !important;
  }
  .forSPPB30 {
    padding-bottom: 30px !important;
  }
  .forSPPL30 {
    padding-left: 30px !important;
  }
  .forSPMT40 {
    margin-top: 40px !important;
  }
  .forSPMR40 {
    margin-right: 40px !important;
  }
  .forSPMB40 {
    margin-bottom: 40px !important;
  }
  .forSPML40 {
    margin-left: 40px !important;
  }
  .forSPPT40 {
    padding-top: 40px !important;
  }
  .forSPPR40 {
    padding-right: 40px !important;
  }
  .forSPPB40 {
    padding-bottom: 40px !important;
  }
  .forSPPL40 {
    padding-left: 40px !important;
  }
  .forSPAutoBtn {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .forSPAutoBtn a {
    display: inline-block;
    padding: 5px 10px;
  }
}

ol li {
  padding-left: 1.0rem;
  text-indent: -1.0rem;
  list-style-position: inside;
}

ol li p {
  text-indent: 0;
}

ul.num,
ul.square,
ul.disc,
ul.alpha {
  padding-left: 1rem;
}

ul.num li,
ul.square li,
ul.disc li,
ul.alpha li {
  padding-left: 1.0rem;
  list-style-position: inside;
}

ul.num li p,
ul.square li p,
ul.disc li p,
ul.alpha li p {
  text-indent: -1.2rem;
}

ul.num {
  list-style: none;
  padding-left: 0;
  display: table;
  counter-reset: table-ol;
}

ul.num li {
  display: table-row;
  counter-increment: table-ol;
}

ul.num li:after {
  content: "";
  display: block;
}

ul.num li:before {
  content: counter(table-ol) ".";
  display: table-cell;
  padding-right: 0.4em;
}

ul.square li {
  list-style: square;
}

ul.disc {
  list-style: none;
  padding-left: 0;
  display: table;
}

ul.disc li {
  display: table-row;
}

ul.disc li:after {
  content: "";
  display: block;
}

ul.disc li:before {
  content: "E";
  display: table-cell;
  padding-right: 0.4em;
}

ul.alpha li {
  list-style: lower-alpha;
}

#datingBlock {
  position: relative;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #datingBlock {
    padding: 40px;
    display: block;
    border-radius: 7px;
    background-color: #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock {
    padding-top: 45px;
    background: #8ac4ee url("/fanclub/common/img/bg_dating_top_sp.png") no-repeat 0 0;
    background-size: 100% auto;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock::before {
    content: "";
    position: absolute;
    bottom: -20%;
    left: 0;
    background: url("/fanclub/common/img/bg_dating_btm_sp.png") no-repeat 0 100%;
    background-size: 100% auto;
    width: 100%;
    height: 21%;
  }
}

#datingBlock .dateBlock {
  display: table;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock {
    margin-top: 30px;
  }
}

#datingBlock .dateBlock .yesterday {
  display: table-cell;
  vertical-align: middle;
  text-align: left;
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .yesterday {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .yesterday {
    width: 55px;
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .yesterday a {
    float: left;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .yesterday a {
    width: 55px;
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .yesterday span {
    float: left;
    font-size: 2.0rem;
    padding-top: 25px;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .yesterday span {
    display: none;
  }
}

#datingBlock .dateBlock .today {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .today {
    width: 50%;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .today {
    width: auto;
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .today h2 {
    font-size: 5.0rem;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .today h2 {
    font-size: 3.3rem;
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .today p {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .today p {
    font-size: 2.5rem;
  }
}

#datingBlock .dateBlock .tomorrow {
  display: table-cell;
  vertical-align: middle;
  text-align: right;
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .tomorrow {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .tomorrow {
    width: 55px;
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .tomorrow a {
    float: right;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .tomorrow a {
    width: 55px;
    display: inline-block;
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .dateBlock .tomorrow span {
    float: right;
    font-size: 2.0rem;
    padding-top: 25px;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .dateBlock .tomorrow span {
    display: none;
  }
}

#datingBlock .linkList {
  margin: 0 auto;
  width: 240px;
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  #datingBlock .linkList p {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .linkList p {
    font-size: 1.6rem;
  }
}

#datingBlock .linkList p:first-child {
  float: left;
}

#datingBlock .linkList p:last-child {
  float: right;
}

#datingBlock .linkList a.textLink {
  color: #fff;
  text-decoration: none !important;
  border-bottom: #fff 2px solid !important;
}

@media screen and (min-width: 768px) {
  #datingBlock .linkList a.textLink:hover {
    color: #dcedfa;
    border-bottom: #dcedfa 2px solid !important;
  }
}

#datingBlock .latestUpdate {
  text-align: center;
  font-size: 1rem;
  margin-top: 20px;
}

#datingBlock .dateBlock + .latestUpdate {
  margin-top: 0;
}

@media screen and (max-width: 767px) {
  #datingBlock + .keyColorBG,
  #datingBlock + .subColorBG, #datingBlock + #calendarBlock {
    padding-top: 60px;
    box-shadow: none;
  }
}

@media screen and (max-width: 767px) {
  #datingBlock + .foundationColorBG {
    padding-top: 80px;
    box-shadow: none;
  }
}

@media screen and (min-width: 768px) {
  #calendarBlock {
    margin-top: -10px;
    padding-top: 0 !important;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock {
    padding-top: 20px !important;
    padding-bottom: 0;
  }
}

#calendarBlock .foundationColorBG {
  margin-top: 0;
  color: #8ac4ee;
}

@media screen and (max-width: 767px) {
  #calendarBlock .foundationColorBG {
    padding-bottom: 30px;
    border-radius: 0;
    margin: 0 -4%;
  }
}

#calendarBlock .foundationColorBG > .headerTable:first-child {
  margin-top: 0;
}

#calendarBlock .headerTable th,
#calendarBlock .headerTable td {
  text-align: center;
  width: 14%;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  #calendarBlock .headerTable th,
  #calendarBlock .headerTable td {
    padding: 10px 0;
  }
}

#calendarBlock .headerTable th:first-child,
#calendarBlock .headerTable th:last-child,
#calendarBlock .headerTable td:first-child,
#calendarBlock .headerTable td:last-child {
  width: 15%;
}

@media screen and (min-width: 768px) {
  #calendarBlock .headerTable td {
    height: 95px;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .headerTable td {
    height: 90px;
  }
}

#calendarBlock .headerTable .weekday {
  background-color: #e8f3fc;
}

#calendarBlock .headerTable .holiday {
  background-color: #fcdce3;
}

#calendarBlock .headerTable .holiday span,
#calendarBlock .headerTable .holiday p {
  text-align: center;
  color: #f68ca2 !important;
}

#calendarBlock .headerTable a span {
  text-decoration: underline;
}

#calendarBlock .headerTable span {
  display: block;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  #calendarBlock .headerTable span {
    font-size: 2.0rem;
  }
}

#calendarBlock .headerTable .time {
  line-height: 1;
}

@media screen and (min-width: 768px) {
  #calendarBlock .headerTable .time {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .headerTable .time {
    font-size: 1rem;
    min-height: 2.2rem;
  }
}

#calendarBlock .headerTable .icon {
  line-height: 1;
}

#calendarBlock .headerTable .icon img {
  width: 33%;
}

#calendarBlock .headerTable .icon + span {
  margin-top: 10px;
}

#calendarBlock .detail {
  margin: 20px auto 0 auto;
}

@media screen and (min-width: 768px) {
  #calendarBlock .detail .icon {
    display: table;
    float: right;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .detail .icon {
    padding-left: 10px;
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  #calendarBlock .detail .icon p {
    float: left;
    padding-left: 20px;
    display: table-cell;
    vertical-align: middle;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .detail .icon p img {
    width: 15px;
  }
}

#calendarBlock .detail .color {
  clear: both;
}

#calendarBlock .detail .color .weekday {
  background-color: #e8f3fc;
}

#calendarBlock .detail .color .holiday {
  background-color: #fcdce3;
  color: #f68ca2;
}

#calendarBlock .detail .color dl {
  margin-top: 10px;
}

#calendarBlock .detail .color dt {
  box-sizing: border-box;
  float: left;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  #calendarBlock .detail .color dt {
    padding: 5px 35px;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .detail .color dt {
    width: 23%;
    padding: 5px;
    text-align: center;
  }
}

#calendarBlock .detail .color dd {
  box-sizing: border-box;
  float: right;
}

@media screen and (min-width: 768px) {
  #calendarBlock .detail .color dd {
    width: 740px;
    padding-top: 5px;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .detail .color dd {
    width: 75%;
  }
}

#calendarBlock .notes {
  margin-top: 20px;
}

#calendarBlock .btn {
  margin: 20px auto 0 auto;
}

@media screen and (min-width: 768px) {
  #calendarBlock .btn {
    width: 400px;
  }
}

@media screen and (min-width: 768px) {
  #calendarBlock .btn a {
    padding: 20px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite.simple #headerArea {
    position: absolute;
    width: 100%;
    height: 87px;
    margin: 0 auto;
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite.simple #headerArea .homeLink {
    position: absolute;
    left: 50%;
    width: 322px;
    height: 87px;
    margin-left: -740px;
    padding-left: 260px;
    padding-right: 718px;
    background-image: url(/fanclub/common/img/bg_header.png);
    background-repeat: no-repeat;
    background-position: 50% 100%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite.simple #headerArea .homeLink {
    padding: 5.4% 0 10.8%;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite.simple #headerArea .homeLink a {
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite.simple #headerArea .homeLink img {
    height: 38px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite.simple #headerArea .homeLink img {
    width: 90%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite.simple #headerArea .forSPImg {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite.simple #headerArea .forPCImg {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite.simple .action {
    margin-top: 3.8%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite.simple footer {
    margin-top: 3.8%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite.simple footer .footerBG {
    min-height: 100px;
    background: url(/fanclub/common/img/bg_footer.png) no-repeat 732px 16px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite.simple footer .footerBG .warning {
    margin-top: 0;
  }
}

#fanclubSite .keyColorBG .stepBlock,
#fanclubSite .keyColorBG .textBlock,
#fanclubSite .keyColorBG .lead,
#fanclubSite .keyColorBG .annotation {
  color: #fff;
}

#fanclubSite .keyColorBG .errorBlock {
  color: #fff;
  background-color: #8ac4ee;
  border-color: #fff;
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG .forPCHalf .item {
    border-color: #fcdde3;
  }
}

#fanclubSite .keyColorBG a.textLink {
  color: #fff;
  border-bottom-color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG a.textLink:hover {
    color: #fcdde3;
    border-bottom-color: #fcdde3;
  }
}

#fanclubSite .keyColorBG .inputBlock h2 {
  color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock input,
#fanclubSite .keyColorBG .inputBlock .selectWrap {
  border-color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock input[type="text"],
#fanclubSite .keyColorBG .inputBlock input[type="password"],
#fanclubSite .keyColorBG .inputBlock .selectWrap {
  background-color: #fcdde3;
}

#fanclubSite .keyColorBG .inputBlock input[type="radio"]:checked + label::after {
  background: #f68ca2;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .inputBlock select:focus {
    background-color: #fff;
  }
}

#fanclubSite .keyColorBG .inputBlock .selectItem label::before,
#fanclubSite .keyColorBG .inputBlock .selectItem label::after {
  border-color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock .full + .full {
  border-color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock .confirmationBlock {
  border-color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock .changeLinkBlock dl {
  border-color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock .lead,
#fanclubSite .keyColorBG .inputBlock .annotation {
  color: #f68ca2;
}

#fanclubSite .keyColorBG .inputBlock a.textLink {
  color: #f68ca2;
  border-bottom-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .inputBlock a.textLink:hover {
    color: #fcdde3;
    border-bottom-color: #fcdde3;
  }
}

#fanclubSite .keyColorBG .foundationColorBG {
  color: #f68ca2;
}

#fanclubSite .keyColorBG .foundationColorBG h2,
#fanclubSite .keyColorBG .foundationColorBG .textBlock,
#fanclubSite .keyColorBG .foundationColorBG .lead,
#fanclubSite .keyColorBG .foundationColorBG .annotation {
  color: #f68ca2;
}

#fanclubSite .keyColorBG .foundationColorBG a.textLink {
  color: #f68ca2;
  border-bottom-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .foundationColorBG a.textLink:hover {
    color: #fcdde3;
    border-bottom-color: #fcdde3;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable table {
    border: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable table {
    border: 2px solid #f68ca2;
  }
}

#fanclubSite .keyColorBG .foundationColorBG .matrixTable table th {
  background-color: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable table th {
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable table th {
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
}

#fanclubSite .keyColorBG .foundationColorBG .matrixTable table th:first-child {
  border-left: none;
}

#fanclubSite .keyColorBG .foundationColorBG .matrixTable table td {
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable table td {
    border-left: 3px solid #f68ca2;
    border-bottom: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable table td {
    border-left: 2px solid #f68ca2;
    border-bottom: 2px solid #f68ca2;
  }
}

#fanclubSite .keyColorBG .foundationColorBG .matrixTable table td:nth-child(1) {
  border-left: none;
}

#fanclubSite .keyColorBG .foundationColorBG .matrixTable .buyBtn {
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable .buyBtn {
    border: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable .buyBtn {
    border: 2px solid #f68ca2;
  }
}

#fanclubSite .keyColorBG .foundationColorBG .matrixTable .buyBtn p {
  background-color: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG .foundationColorBG .matrixTable .buyBtn:hover p {
    border-color: #f899ad;
    background: #f8aebe;
  }
}

#fanclubSite .subColorBG .stepBlock,
#fanclubSite #calendarBlock .stepBlock,
#fanclubSite .subColorBG .lead,
#fanclubSite #calendarBlock .lead,
#fanclubSite .subColorBG .annotation, #fanclubSite #calendarBlock .annotation {
  color: #fff;
}

#fanclubSite .subColorBG .errorBlock, #fanclubSite #calendarBlock .errorBlock {
  color: #fff;
  background-color: #f68ca2;
  border-color: #fff;
}

@media screen and (max-width: 767px) {
  #fanclubSite .subColorBG .forPCHalf .item, #fanclubSite #calendarBlock .forPCHalf .item {
    border-color: #dcedfa;
  }
}

#fanclubSite .subColorBG a.textLink, #fanclubSite #calendarBlock a.textLink {
  color: #8ac4ee;
  border-bottom-color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  #fanclubSite .subColorBG a.textLink:hover, #fanclubSite #calendarBlock a.textLink:hover {
    color: #dcedfa;
    border-bottom-color: #dcedfa;
  }
}

#fanclubSite .subColorBG .inputBlock, #fanclubSite #calendarBlock .inputBlock {
  color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock input::-webkit-input-placeholder, #fanclubSite #calendarBlock .inputBlock input::-webkit-input-placeholder {
  color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock input::-moz-placeholder, #fanclubSite #calendarBlock .inputBlock input::-moz-placeholder {
  color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock input:-ms-input-placeholder, #fanclubSite #calendarBlock .inputBlock input:-ms-input-placeholder {
  color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock input,
#fanclubSite #calendarBlock .inputBlock input,
#fanclubSite .subColorBG .inputBlock .selectWrap, #fanclubSite #calendarBlock .inputBlock .selectWrap {
  border-color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock input[type="text"],
#fanclubSite #calendarBlock .inputBlock input[type="text"],
#fanclubSite .subColorBG .inputBlock input[type="password"],
#fanclubSite #calendarBlock .inputBlock input[type="password"],
#fanclubSite .subColorBG .inputBlock .selectWrap, #fanclubSite #calendarBlock .inputBlock .selectWrap {
  background-color: #dcedfa;
}

#fanclubSite .subColorBG .inputBlock input[type="radio"]:checked + label::after, #fanclubSite #calendarBlock .inputBlock input[type="radio"]:checked + label::after {
  background: #8ac4ee;
}

@media screen and (min-width: 768px) {
  #fanclubSite .subColorBG .inputBlock select:focus, #fanclubSite #calendarBlock .inputBlock select:focus {
    background-color: #fff;
  }
}

#fanclubSite .subColorBG .inputBlock .selectItem label::before,
#fanclubSite #calendarBlock .inputBlock .selectItem label::before,
#fanclubSite .subColorBG .inputBlock .selectItem label::after, #fanclubSite #calendarBlock .inputBlock .selectItem label::after {
  border-color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock .full + .full, #fanclubSite #calendarBlock .inputBlock .full + .full {
  border-color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock .confirmationBlock, #fanclubSite #calendarBlock .inputBlock .confirmationBlock {
  border-color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock .changeLinkBlock dl, #fanclubSite #calendarBlock .inputBlock .changeLinkBlock dl {
  border-color: #8ac4ee;
}

#fanclubSite .subColorBG .inputBlock .lead,
#fanclubSite #calendarBlock .inputBlock .lead,
#fanclubSite .subColorBG .inputBlock .annotation, #fanclubSite #calendarBlock .inputBlock .annotation {
  color: #8ac4ee;
}

#fanclubSite .subColorBG .foundationColorBG, #fanclubSite #calendarBlock .foundationColorBG {
  color: #8ac4ee;
}

#fanclubSite .subColorBG .foundationColorBG h2,
#fanclubSite #calendarBlock .foundationColorBG h2,
#fanclubSite .subColorBG .foundationColorBG .lead,
#fanclubSite #calendarBlock .foundationColorBG .lead,
#fanclubSite .subColorBG .foundationColorBG .annotation, #fanclubSite #calendarBlock .foundationColorBG .annotation {
  color: #8ac4ee;
}

#fanclubSite .presentMain .text {
  color: #fff;
}

#fanclubSite .kvBlock {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .kvBlock {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .kvBlock {
    z-index: 3100;
    padding-bottom: 10%;
    background: url(/fanclub/common/img/bg_kv_btm_01_sp.png) no-repeat 0 100%;
    background-size: 100% auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .kvBlock .forPCImg {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .kvBlock .forSPImg {
    display: none;
  }
}

#fanclubSite .kvBlock .kvImg {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .kvBlock .kvImg {
    width: 100%;
    height: 335px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .kvBlock .kvImg::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 25px;
    background: url(/fanclub/common/img/bg_kv_top_01_sp.png) no-repeat 0 0;
    background-size: cover;
  }
}

#fanclubSite .kvBlock h1 {
  position: relative;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #fanclubSite .kvBlock h1 {
    background: url(/fanclub/common/img/bg_h1_01_pc.png) no-repeat 0 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .kvBlock h1 {
    margin-top: -6%;
    background: url(/fanclub/common/img/bg_h1_01_sp.png) no-repeat 0 0;
    background-size: cover;
  }
}

#fanclubSite .kvBlock h1 img {
  width: auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .kvBlock h1 img {
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .kvBlock h1 img {
    height: 85px;
  }
}

#fanclubSite .kvBlock .kvText {
  position: relative;
  color: #fff;
  background-color: #8ac4ee;
  min-height: 70px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .kvBlock .kvText {
    text-align: center;
    display: block;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
    padding: 0 20px 20px 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .kvBlock .kvText {
    padding: 3.8% 3.8% 0 3.8%;
  }
}

#fanclubSite .topKvBlock {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock {
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock {
    z-index: 3100;
    margin-top: 80px;
    background: url(/fanclub/common/img/bg_kv_btm_01_sp.png) no-repeat 0 100%;
    background-size: 100% auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .forPCImg {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .forSPImg {
    display: none !important;
  }
}

#fanclubSite .topKvBlock h1 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  text-align: center;
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock h1 {
    margin-top: -80px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock h1 {
    background: url(/fanclub/common/img/bg_kv_top_02_sp.png) no-repeat 0 0;
    background-size: 100% auto;
    min-height: 11%;
  }
}

#fanclubSite .topKvBlock h1 img {
  width: auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock h1 img {
    height: auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock h1 img {
    margin-top: -10px;
    height: 85px;
  }
}

#fanclubSite .topKvBlock .kvImg {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .kvImg {
    height: 405px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .kvImg {
    min-height: 260px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .kvImg img {
    display: block;
    border-top-left-radius: 7px;
    border-top-right-radius: 7px;
  }
}

#fanclubSite .topKvBlock .kvContentWrap {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .kvContentWrap {
    margin-top: -95px;
    padding-top: 95px;
    background: url(/fanclub/common/img/bg_h1_01_pc.png) no-repeat 0 0;
    background-size: contain;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .kvContentWrap {
    margin-top: -60px;
    padding-top: 60px;
    background: url(/fanclub/common/img/bg_h1_01_sp.png) no-repeat 0 0;
    background-size: contain;
  }
}

#fanclubSite .topKvBlock .kvContent {
  color: #fff;
  background-color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .kvContent {
    display: block;
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .kvContent {
    padding: 10px 3.8% 3.8% 3.8%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .kvContent h2 {
    text-align: center;
    font-size: 3.8rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .kvContent h2 {
    font-size: 2.5rem;
  }
}

#fanclubSite .topKvBlock .kvContent .annotation {
  margin-top: 10px;
}

#fanclubSite .topKvBlock .charaComment {
  position: absolute;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .charaComment {
    background: url(/fanclub/common/img/img_func_top_chara_pc.png) no-repeat 0 0;
    background-size: cover;
    top: -150px;
    left: 50%;
    margin-left: -271px;
    width: 543px;
    height: 261px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .charaComment {
    background: url(/fanclub/common/img/img_func_top_chara_sp.png) no-repeat 0 0;
    background-size: cover;
    top: -130px;
    left: 50%;
    margin-left: -155px;
    max-width: 340px;
    max-height: 200px;
    width: 310px;
    height: 182px;
  }
}

#fanclubSite .topKvBlock .charaComment p {
  color: #fff;
  position: relative;
  text-align: center;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  #fanclubSite .topKvBlock .charaComment p {
    top: 70px;
    left: 210px;
    width: 280px;
    height: 125px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .topKvBlock .charaComment p {
    top: 52px;
    left: 155px;
    width: 138px;
    height: 90px;
    line-height: 1.3;
  }
}

#fanclubSite .inputBlock {
  margin-top: 10px;
  display: block;
  border-radius: 7px;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock {
    padding: 20px 30px;
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock {
    padding: 3.8%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .errorBlock {
    margin: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .errorBlock {
    margin: 25px 0;
  }
}

#fanclubSite .inputBlock h2 {
  margin-top: 0;
}

#fanclubSite .inputBlock .lead {
  text-align: left;
  margin: 10px 0 20px 0;
}

#fanclubSite .inputBlock input,
#fanclubSite .inputBlock button {
  width: 100%;
  display: block;
  border-radius: 7px;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock input,
  #fanclubSite .inputBlock button {
    padding: 5px 15px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock input,
  #fanclubSite .inputBlock button {
    padding: 5px 10px;
    height: 45px;
  }
}

#fanclubSite .inputBlock input[type="text"],
#fanclubSite .inputBlock input[type="password"],
#fanclubSite .inputBlock input[type="checkbox"] {
  border-style: solid;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock input[type="text"],
  #fanclubSite .inputBlock input[type="password"],
  #fanclubSite .inputBlock input[type="checkbox"] {
    border-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock input[type="text"],
  #fanclubSite .inputBlock input[type="password"],
  #fanclubSite .inputBlock input[type="checkbox"] {
    border-width: 2px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock button {
    height: auto;
    min-height: 40px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock button {
    height: auto;
    min-height: 45px;
  }
}

#fanclubSite .inputBlock select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  display: block;
  border-radius: 7px;
  padding: 10px 5px;
}

#fanclubSite .inputBlock select::-ms-expand {
  display: none;
}

#fanclubSite .inputBlock dl + dl,
#fanclubSite .inputBlock dl + .dating,
#fanclubSite .inputBlock .dating + dl,
#fanclubSite .inputBlock dl + .confirmationBlock,
#fanclubSite .inputBlock .confirmationBlock + dl {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .itemName {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .itemName {
    font-size: 1.6rem;
  }
}

#fanclubSite .inputBlock .itemName p {
  font-size: 1.4rem;
}

#fanclubSite .inputBlock .subName {
  margin-top: 15px;
}

#fanclubSite .inputBlock .item + .item {
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .item + .item {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item + .item {
    margin-left: 10px;
  }
}

#fanclubSite .inputBlock .half .item {
  box-sizing: border-box;
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .half .item {
    width: 420px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .half .item {
    width: 49%;
    margin-left: 0;
  }
}

#fanclubSite .inputBlock .half .item:last-child {
  float: right;
}

#fanclubSite .inputBlock .full .item {
  float: none;
  margin: 0;
}

#fanclubSite .inputBlock .full + .full {
  margin-top: 20px;
  padding-top: 20px;
  border-top-style: solid;
  border-top-width: 1px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .forPCHalf {
    margin-top: 0;
    float: left;
    width: 49%;
  }
  #fanclubSite .inputBlock .forPCHalf:last-child {
    float: right;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .forSPHalf .item {
    box-sizing: border-box;
    float: left;
    width: 49%;
    margin-left: 0;
  }
  #fanclubSite .inputBlock .forSPHalf .item:last-child {
    float: right;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .forPCsizeS {
    float: left;
    width: 190px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .forPCsizeM {
    float: left;
    width: 450px;
  }
  #fanclubSite .inputBlock .forPCsizeM + .item {
    float: left;
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .forSPsizeS {
    float: left;
    width: 36%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .forSPsizeM {
    float: left;
    width: 46%;
  }
}

#fanclubSite .inputBlock .dating dd {
  float: left;
}

#fanclubSite .inputBlock .notes,
#fanclubSite .inputBlock .annotation {
  margin-top: 10px;
}

#fanclubSite .inputBlock .notes + .annotation {
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.year,
  #fanclubSite .inputBlock .item.prefectures {
    width: 70%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .item.year .selectWrap,
  #fanclubSite .inputBlock .item.prefectures .selectWrap {
    width: 190px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.year .selectWrap,
  #fanclubSite .inputBlock .item.prefectures .selectWrap {
    width: 80%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.month,
  #fanclubSite .inputBlock .item.date {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .item.month .selectWrap,
  #fanclubSite .inputBlock .item.date .selectWrap {
    width: 115px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.month .selectWrap,
  #fanclubSite .inputBlock .item.date .selectWrap {
    margin-top: 10px;
    width: 75%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.month {
    margin-left: 0;
  }
}

#fanclubSite .inputBlock .selectWrap {
  position: relative;
  margin-right: 10px;
  display: block;
  border-radius: 7px;
  display: inline-block;
  border-style: solid;
  margin-top: 5px;
}

#fanclubSite .inputBlock .selectWrap .icon {
  position: absolute;
  z-index: 3000;
  top: 0;
  right: 0;
  width: 38px;
  height: 36px;
  background-size: cover;
  display: block;
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
  border-left-style: solid;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectWrap .icon {
    border-left-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectWrap .icon {
    border-left-width: 2px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectWrap {
    margin-top: 5px;
    border-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectWrap {
    border-width: 2px;
  }
}

#fanclubSite .inputBlock .selectWrap select {
  position: relative;
  z-index: 3100;
  border: none;
  background: transparent;
  padding: 0 48px 0 5px;
  height: 36px;
}

#fanclubSite .inputBlock .selectItem {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem {
    height: 40px;
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem {
    margin-top: 5px;
  }
}

#fanclubSite .inputBlock .selectItem label {
  display: block;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem label {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem label {
    font-size: 1.6rem;
  }
}

#fanclubSite .inputBlock .selectItem label::before,
#fanclubSite .inputBlock .selectItem label::after {
  box-sizing: border-box;
  display: block;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem label::before,
  #fanclubSite .inputBlock .selectItem label::after {
    border-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem label::before,
  #fanclubSite .inputBlock .selectItem label::after {
    border-width: 2px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="radio"],
#fanclubSite .inputBlock .selectItem input[type="checkbox"] {
  display: none;
  width: auto;
  margin: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label {
    padding: 0 0 0 50px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label {
    padding: 0 0 0 30px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="radio"] + label::before,
#fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label::before,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label::before,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
    width: 26px;
    height: 26px;
    margin-top: -13px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="radio"] + label::after,
#fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
}

#fanclubSite .inputBlock .selectItem input[type="radio"] + label::before {
  border-radius: 50%;
  border-style: solid;
}

#fanclubSite .inputBlock .selectItem input[type="radio"]:checked + label::after {
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"]:checked + label::after {
    width: 26px;
    height: 26px;
    left: 7px;
    margin-top: -13px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"]:checked + label::after {
    width: 16px;
    height: 16px;
    left: 5px;
    margin-top: -8px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
  display: block;
  border-radius: 7px;
  border-style: solid;
}

#fanclubSite .inputBlock .selectItem input[type="checkbox"]:checked + label::after {
  border-left: 3px solid #f68ca2;
  border-bottom: 3px solid #f68ca2;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="checkbox"]:checked + label::after {
    width: 21px;
    height: 13px;
    left: 10px;
    margin-top: -10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="checkbox"]:checked + label::after {
    width: 15px;
    height: 7px;
    left: 5px;
    margin-top: -5px;
  }
}

#fanclubSite .inputBlock .characterSelect .photo {
  margin-top: 15px;
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .photo {
    margin-right: 20px;
    width: 170px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .characterSelect .photo {
    width: 42%;
  }
}

#fanclubSite .inputBlock .characterSelect .photo img {
  display: block;
  border-radius: 7px;
  display: none;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .photo img {
    width: 100%;
  }
}

#fanclubSite .inputBlock .characterSelect .photo img:first-child {
  display: block;
}

#fanclubSite .inputBlock .characterSelect .toggle {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .toggle {
    float: left;
    width: 650px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .characterSelect .toggle {
    float: right;
    width: 53%;
  }
}

#fanclubSite .inputBlock .characterSelect .toggle .selectWrap {
  width: 100%;
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .toggle .selectWrap {
    width: 190px;
  }
}

#fanclubSite .inputBlock .characterSelect .toggle .selectWrap select {
  overflow: hidden;
  white-space: nowrap;
}

#fanclubSite .inputBlock.mail h2,
#fanclubSite .inputBlock.login h2 {
  text-align: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock.mail button[type="submit"],
  #fanclubSite .inputBlock.login button[type="submit"] {
    width: 430px;
    margin: 25px auto 0 auto;
    padding: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock.mail button[type="submit"],
  #fanclubSite .inputBlock.login button[type="submit"] {
    margin-top: 25px;
  }
}

#fanclubSite .inputBlock .loginKeep {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .loginKeep {
    text-align: center;
  }
}

#fanclubSite .inputBlock .loginKeep .selectItem {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .loginKeep .selectItem {
    display: inline-block;
  }
}

#fanclubSite table .inputBlock {
  margin-top: 0;
  background-color: transparent;
  padding: 0;
  box-shadow: none;
}

#fanclubSite table .inputBlock .selectWrap {
  margin: 0;
}

#fanclubSite .confirmationBlock {
  position: relative;
  margin-top: 10px;
  padding-top: 10px;
  border-top-style: solid;
  border-top-width: 1px;
}

#fanclubSite .confirmationBlock:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

@media screen and (min-width: 768px) {
  #fanclubSite .confirmationBlock.clearfix dl {
    width: 650px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .confirmationBlock.clearfix dl {
    width: 70%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .confirmationBlock dl dt {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .confirmationBlock dl dd {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .confirmationBlock dl dd {
    font-size: 1.8rem;
  }
}

#fanclubSite .confirmationBlock button {
  position: absolute;
  right: 0;
  bottom: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .confirmationBlock button {
    width: 215px;
    padding: 10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .confirmationBlock button {
    width: 25%;
    padding: 8px;
    font-size: 1.2rem;
  }
}

#fanclubSite .confirmationBlock .characterBlock {
  display: table;
}

#fanclubSite .confirmationBlock .characterBlock .characterImg {
  display: table-cell;
}

@media screen and (min-width: 768px) {
  #fanclubSite .confirmationBlock .characterBlock .characterImg {
    width: 170px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .confirmationBlock .characterBlock .characterImg {
    width: 50%;
  }
}

#fanclubSite .confirmationBlock .characterBlock .characterImg img {
  display: block;
  border-radius: 7px;
  width: 100%;
}

#fanclubSite .confirmationBlock .characterBlock .characterName {
  display: table-cell;
  vertical-align: middle;
  padding-left: 10px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .confirmationBlock .characterBlock .characterName {
    width: 470px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .transitionButton {
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .transitionButton {
    margin-top: 35px;
    padding: 0 3.8%;
  }
}

#fanclubSite .transitionButton button,
#fanclubSite .transitionButton a.pointBtn,
#fanclubSite .transitionButton a.subBtn {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .transitionButton button,
  #fanclubSite .transitionButton a.pointBtn,
  #fanclubSite .transitionButton a.subBtn {
    position: absolute;
    margin-left: -220px;
    margin-bottom: 30px;
    width: 430px;
    top: 25px;
    left: 50%;
    font-size: 2.0rem;
    border-width: 6px;
    display: block;
    border-radius: 12px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .transitionButton.line button,
  #fanclubSite .transitionButton.line a.pointBtn,
  #fanclubSite .transitionButton.line a.subBtn {
    width: 210px;
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .transitionButton.line button,
  #fanclubSite .transitionButton.line a.pointBtn,
  #fanclubSite .transitionButton.line a.subBtn {
    width: 50%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .transitionButton.line button:first-child,
  #fanclubSite .transitionButton.line a.pointBtn:first-child,
  #fanclubSite .transitionButton.line a.subBtn:first-child {
    left: 50%;
    margin-left: -207px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .transitionButton.line button:first-child,
  #fanclubSite .transitionButton.line a.pointBtn:first-child,
  #fanclubSite .transitionButton.line a.subBtn:first-child {
    float: left;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .transitionButton.line button:last-child,
  #fanclubSite .transitionButton.line a.pointBtn:last-child,
  #fanclubSite .transitionButton.line a.subBtn:last-child {
    margin-left: -3px;
    right: 50%;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .transitionButton.line button:last-child,
  #fanclubSite .transitionButton.line a.pointBtn:last-child,
  #fanclubSite .transitionButton.line a.subBtn:last-child {
    float: right;
  }
}

#fanclubSite .inputBlock {
  margin-top: 10px;
  display: block;
  border-radius: 7px;
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock {
    padding: 20px 30px;
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock {
    padding: 3.8%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .errorBlock {
    margin: 30px 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .errorBlock {
    margin: 25px 0;
  }
}

#fanclubSite .inputBlock h2 {
  margin-top: 0;
}

#fanclubSite .inputBlock .lead {
  text-align: left;
  margin: 10px 0 20px 0;
}

#fanclubSite .inputBlock input,
#fanclubSite .inputBlock button {
  width: 100%;
  display: block;
  border-radius: 7px;
  margin-top: 10px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock input,
  #fanclubSite .inputBlock button {
    padding: 5px 15px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock input,
  #fanclubSite .inputBlock button {
    padding: 5px 10px;
    height: 45px;
  }
}

#fanclubSite .inputBlock input[type="text"],
#fanclubSite .inputBlock input[type="password"],
#fanclubSite .inputBlock input[type="checkbox"] {
  border-style: solid;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock input[type="text"],
  #fanclubSite .inputBlock input[type="password"],
  #fanclubSite .inputBlock input[type="checkbox"] {
    border-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock input[type="text"],
  #fanclubSite .inputBlock input[type="password"],
  #fanclubSite .inputBlock input[type="checkbox"] {
    border-width: 2px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock button {
    height: auto;
    min-height: 40px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock button {
    height: auto;
    min-height: 45px;
  }
}

#fanclubSite .inputBlock select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 100%;
  display: block;
  border-radius: 7px;
  padding: 10px 5px;
}

#fanclubSite .inputBlock select::-ms-expand {
  display: none;
}

#fanclubSite .inputBlock dl + dl,
#fanclubSite .inputBlock dl + .dating,
#fanclubSite .inputBlock .dating + dl,
#fanclubSite .inputBlock dl + .confirmationBlock,
#fanclubSite .inputBlock .confirmationBlock + dl {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .itemName {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .itemName {
    font-size: 1.6rem;
  }
}

#fanclubSite .inputBlock .itemName p {
  font-size: 1.4rem;
}

#fanclubSite .inputBlock .subName {
  margin-top: 15px;
}

#fanclubSite .inputBlock .item + .item {
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .item + .item {
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item + .item {
    margin-left: 10px;
  }
}

#fanclubSite .inputBlock .half .item {
  box-sizing: border-box;
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .half .item {
    width: 420px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .half .item {
    width: 49%;
    margin-left: 0;
  }
}

#fanclubSite .inputBlock .half .item:last-child {
  float: right;
}

#fanclubSite .inputBlock .full .item {
  float: none;
  margin: 0;
}

#fanclubSite .inputBlock .full + .full {
  margin-top: 20px;
  padding-top: 20px;
  border-top-style: solid;
  border-top-width: 1px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .forPCHalf {
    margin-top: 0;
    float: left;
    width: 49%;
  }
  #fanclubSite .inputBlock .forPCHalf:last-child {
    float: right;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .forSPHalf .item {
    box-sizing: border-box;
    float: left;
    width: 49%;
    margin-left: 0;
  }
  #fanclubSite .inputBlock .forSPHalf .item:last-child {
    float: right;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .forPCsizeS {
    float: left;
    width: 190px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .forPCsizeM {
    float: left;
    width: 450px;
  }
  #fanclubSite .inputBlock .forPCsizeM + .item {
    float: left;
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .forSPsizeS {
    float: left;
    width: 36%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .forSPsizeM {
    float: left;
    width: 46%;
  }
}

#fanclubSite .inputBlock .dating dd {
  float: left;
}

#fanclubSite .inputBlock .notes,
#fanclubSite .inputBlock .annotation {
  margin-top: 10px;
}

#fanclubSite .inputBlock .notes + .annotation {
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.year,
  #fanclubSite .inputBlock .item.prefectures {
    width: 70%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .item.year .selectWrap,
  #fanclubSite .inputBlock .item.prefectures .selectWrap {
    width: 190px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.year .selectWrap,
  #fanclubSite .inputBlock .item.prefectures .selectWrap {
    width: 80%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.month,
  #fanclubSite .inputBlock .item.date {
    width: 45%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .item.month .selectWrap,
  #fanclubSite .inputBlock .item.date .selectWrap {
    width: 115px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.month .selectWrap,
  #fanclubSite .inputBlock .item.date .selectWrap {
    margin-top: 10px;
    width: 75%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .item.month {
    margin-left: 0;
  }
}

#fanclubSite .inputBlock .selectWrap {
  position: relative;
  margin-right: 10px;
  display: block;
  border-radius: 7px;
  display: inline-block;
  border-style: solid;
  margin-top: 5px;
}

#fanclubSite .inputBlock .selectWrap .icon {
  position: absolute;
  z-index: 3000;
  top: 0;
  right: 0;
  width: 38px;
  height: 36px;
  background-size: cover;
  display: block;
  border-top-right-radius: 7px;
  border-bottom-right-radius: 7px;
  border-left-style: solid;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectWrap .icon {
    border-left-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectWrap .icon {
    border-left-width: 2px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectWrap {
    margin-top: 5px;
    border-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectWrap {
    border-width: 2px;
  }
}

#fanclubSite .inputBlock .selectWrap select {
  position: relative;
  z-index: 3100;
  border: none;
  background: transparent;
  padding: 0 48px 0 5px;
  height: 36px;
}

#fanclubSite .inputBlock .selectItem {
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem {
    height: 40px;
    margin-top: 10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem {
    margin-top: 5px;
  }
}

#fanclubSite .inputBlock .selectItem label {
  display: block;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem label {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem label {
    font-size: 1.6rem;
  }
}

#fanclubSite .inputBlock .selectItem label::before,
#fanclubSite .inputBlock .selectItem label::after {
  box-sizing: border-box;
  display: block;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem label::before,
  #fanclubSite .inputBlock .selectItem label::after {
    border-width: 1px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem label::before,
  #fanclubSite .inputBlock .selectItem label::after {
    border-width: 2px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="radio"],
#fanclubSite .inputBlock .selectItem input[type="checkbox"] {
  display: none;
  width: auto;
  margin: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label {
    padding: 0 0 0 50px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label {
    padding: 0 0 0 30px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="radio"] + label::before,
#fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label::before,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
    width: 40px;
    height: 40px;
    margin-top: -20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"] + label::before,
  #fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
    width: 26px;
    height: 26px;
    margin-top: -13px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="radio"] + label::after,
#fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::after {
  content: "";
  position: absolute;
  top: 50%;
  display: block;
}

#fanclubSite .inputBlock .selectItem input[type="radio"] + label::before {
  border-radius: 50%;
  border-style: solid;
}

#fanclubSite .inputBlock .selectItem input[type="radio"]:checked + label::after {
  border-radius: 50%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"]:checked + label::after {
    width: 26px;
    height: 26px;
    left: 7px;
    margin-top: -13px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="radio"]:checked + label::after {
    width: 16px;
    height: 16px;
    left: 5px;
    margin-top: -8px;
  }
}

#fanclubSite .inputBlock .selectItem input[type="checkbox"] + label::before {
  display: block;
  border-radius: 7px;
  border-style: solid;
}

#fanclubSite .inputBlock .selectItem input[type="checkbox"]:checked + label::after {
  border-left: 3px solid #f68ca2;
  border-bottom: 3px solid #f68ca2;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .selectItem input[type="checkbox"]:checked + label::after {
    width: 21px;
    height: 13px;
    left: 10px;
    margin-top: -10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .selectItem input[type="checkbox"]:checked + label::after {
    width: 15px;
    height: 7px;
    left: 5px;
    margin-top: -5px;
  }
}

#fanclubSite .inputBlock .characterSelect .photo {
  margin-top: 15px;
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .photo {
    margin-right: 20px;
    width: 170px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .characterSelect .photo {
    width: 42%;
  }
}

#fanclubSite .inputBlock .characterSelect .photo img {
  display: block;
  border-radius: 7px;
  display: none;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .photo img {
    width: 100%;
  }
}

#fanclubSite .inputBlock .characterSelect .photo img:first-child {
  display: block;
}

#fanclubSite .inputBlock .characterSelect .toggle {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .toggle {
    float: left;
    width: 650px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .characterSelect .toggle {
    float: right;
    width: 53%;
  }
}

#fanclubSite .inputBlock .characterSelect .toggle .selectWrap {
  width: 100%;
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .characterSelect .toggle .selectWrap {
    width: 190px;
  }
}

#fanclubSite .inputBlock .characterSelect .toggle .selectWrap select {
  overflow: hidden;
  white-space: nowrap;
}

#fanclubSite .inputBlock.mail h2,
#fanclubSite .inputBlock.login h2 {
  text-align: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock.mail button[type="submit"],
  #fanclubSite .inputBlock.login button[type="submit"] {
    width: 430px;
    margin: 25px auto 0 auto;
    padding: 20px 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock.mail button[type="submit"],
  #fanclubSite .inputBlock.login button[type="submit"] {
    margin-top: 25px;
  }
}

#fanclubSite .inputBlock .loginKeep {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .loginKeep {
    text-align: center;
  }
}

#fanclubSite .inputBlock .loginKeep .selectItem {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .loginKeep .selectItem {
    display: inline-block;
  }
}

#fanclubSite table .inputBlock {
  margin-top: 0;
  background-color: transparent;
  padding: 0;
  box-shadow: none;
}

#fanclubSite table .inputBlock .selectWrap {
  margin: 0;
}

#fanclubSite .presentMain .item {
  margin-top: 10px;
  text-align: center;
  padding: 0 20px;
}

#fanclubSite .presentMain .text {
  margin-top: 10px;
}

#fanclubSite .presentRules .entryBtn {
  margin: 25px auto 0 auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentRules .entryBtn {
    width: 430px;
    font-size: 2.0rem;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentRules .entryBtn a {
    padding: 20px 0;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentRules .annotation {
    margin-top: 15px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentRules .annotation {
    margin-top: 5px;
  }
}

#fanclubSite .presentOther .item {
  display: block;
  border-radius: 7px;
  display: table;
  background: #8ac4ee;
  border: #fff 3px solid;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item {
    margin: 15px auto 0 auto;
    width: 450px;
  }
  #fanclubSite .presentOther .item:nth-child(odd) {
    float: left;
  }
  #fanclubSite .presentOther .item:nth-child(even) {
    float: right;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentOther .item {
    width: 100%;
    margin: 15px auto 0 auto;
    height: auto !important;
  }
}

#fanclubSite .presentOther .item .bnr {
  display: table-cell;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item .bnr {
    width: 200px;
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentOther .item .bnr {
    width: 35%;
    background-color: #fff;
  }
}

#fanclubSite .presentOther .item .bnr img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item .bnr img {
    display: block;
    border-radius: 7px;
  }
}

#fanclubSite .presentOther .item .detail {
  position: relative;
  display: table-cell;
  color: #fff;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item .detail {
    padding: 20px 20px 65px 20px;
    width: 290px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentOther .item .detail {
    padding: 15px 15px 60px 15px;
    width: 65%;
    font-size: 1.2rem;
  }
}

#fanclubSite .presentOther .item .detail .btn {
  position: absolute;
  box-sizing: border-box;
  width: 100%;
  left: 15px;
  bottom: 15px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item .detail .btn {
    padding-right: 40px;
    left: 20px;
    bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentOther .item .detail .btn {
    padding-right: 30px;
    left: 15px;
    bottom: 15px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item .detail .btn .subBtn {
    height: 38px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentOther .item .detail .btn .subBtn {
    height: 34px;
  }
}

#fanclubSite .presentOther .item .detail .btn .close {
  text-align: center;
  box-sizing: border-box;
  display: block;
  border-radius: 7px;
  background-color: #a7d3f2;
  color: #fff;
  padding: 3.8%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .presentOther .item .detail .btn .close {
    height: 38px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .presentOther .item .detail .btn .close {
    height: 34px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite:not(.simple) article {
    margin-top: 60px;
  }
}

#fanclubSite .breadcrumb {
  margin: 0 auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .breadcrumb p {
    width: 100%;
  }
}

#fanclubSite h1 {
  position: relative;
  z-index: 3100;
}

@media screen and (min-width: 768px) {
  #fanclubSite h1 {
    margin-top: 10px;
    text-align: center;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1 {
    padding-left: 10px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1 img {
    height: 67px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1 img {
    width: auto;
    height: 43px;
  }
}

#fanclubSite h1 + .keyColorBG,
#fanclubSite h1 + .subColorBG, #fanclubSite h1 + #calendarBlock {
  z-index: 3000;
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite h1 + .keyColorBG,
  #fanclubSite h1 + .subColorBG, #fanclubSite h1 + #calendarBlock {
    margin-top: -36px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1 + .keyColorBG,
  #fanclubSite h1 + .subColorBG, #fanclubSite h1 + #calendarBlock {
    margin-top: -21px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1.twoLines img {
    height: 132px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1.twoLines img {
    width: auto;
    height: 62px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1.twoLines + .keyColorBG,
  #fanclubSite h1.twoLines + .subColorBG, #fanclubSite h1.twoLines + #calendarBlock {
    margin-top: -101px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1.twoLines + .keyColorBG,
  #fanclubSite h1.twoLines + .subColorBG, #fanclubSite h1.twoLines + #calendarBlock {
    margin-top: -48px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1.forSPTwoLines img {
    height: 67px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1.forSPTwoLines img {
    width: auto;
    height: 62px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1.forSPTwoLines + .keyColorBG,
  #fanclubSite h1.forSPTwoLines + .subColorBG, #fanclubSite h1.forSPTwoLines + #calendarBlock {
    margin-top: -36px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1.forSPTwoLines + .keyColorBG,
  #fanclubSite h1.forSPTwoLines + .subColorBG, #fanclubSite h1.forSPTwoLines + #calendarBlock {
    margin-top: -48px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h2 {
    font-size: 3.0rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h2 {
    font-size: 2.0rem;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1 + .keyColorBG > h2:first-child,
  #fanclubSite h1 + .subColorBG > h2:first-child, #fanclubSite h1 + #calendarBlock > h2:first-child {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG,
  #fanclubSite .subColorBG,
  #fanclubSite #calendarBlock,
  #fanclubSite .foundationColorBG {
    box-shadow: none;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .inBtn.keyColorBG,
  #fanclubSite .inBtn.subColorBG, #fanclubSite .inBtn#calendarBlock {
    margin-bottom: 40px;
    padding-bottom: 70px;
  }
}

#fanclubSite #calendarBlock {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

#fanclubSite #calendarBlock .foundationColorBG {
  padding-bottom: 20px;
}

#fanclubSite #calendarBlock .foundationColorBG .icon {
  float: none;
}

#fanclubSite #calendarBlock + .subColorBG.inBtn, #fanclubSite #calendarBlock + .inBtn#calendarBlock {
  margin-top: 0;
  padding-top: 0;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}

#fanclubSite #calendarBlock + .subColorBG.inBtn .foundationColorBG, #fanclubSite #calendarBlock + .inBtn#calendarBlock .foundationColorBG {
  margin-top: 0;
}

#fanclubSite #calendarBlock + .subColorBG.inBtn .foundationColorBG .basicTable, #fanclubSite #calendarBlock + .inBtn#calendarBlock .foundationColorBG .basicTable, #fanclubSite #calendarBlock + .subColorBG.inBtn .foundationColorBG .headerTable, #fanclubSite #calendarBlock + .inBtn#calendarBlock .foundationColorBG .headerTable, #fanclubSite #calendarBlock + .subColorBG.inBtn .foundationColorBG .matrixTable, #fanclubSite #calendarBlock + .inBtn#calendarBlock .foundationColorBG .matrixTable {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite span.annotation,
  #fanclubSite p.annotation,
  #fanclubSite ul.annotation li {
    font-size: 1.2rem;
  }
}

#fanclubSite .changeLinkBlock h2 {
  text-align: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock .text {
    margin: 20px auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .changeLinkBlock .text {
    margin: 10px auto;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock h2 + .text {
    margin: 0 auto 20px auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .changeLinkBlock h2 + .text {
    margin: 0 auto 10px auto;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock .text:last-child {
    margin: 20px auto 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .changeLinkBlock .text:last-child {
    margin: 10px auto 0 auto;
  }
}

#fanclubSite .changeLinkBlock .btn + .btn {
  margin: 10px auto 0  auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock .clearfix {
    margin-top: -10px;
    margin-left: -10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .changeLinkBlock .clearfix {
    margin-top: -2%;
    margin-left: -2%;
  }
}

#fanclubSite .changeLinkBlock .clearfix .btn {
  float: left;
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock .clearfix .btn {
    width: 425px;
    margin-top: 10px;
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .changeLinkBlock .clearfix .btn {
    width: 48%;
    margin-top: 2%;
    margin-left: 2%;
    font-size: 1.2rem;
  }
}

#fanclubSite .changeLinkBlock dl {
  margin-top: 20px;
  padding-top: 20px;
  border-top-style: solid;
  border-top-width: 1px;
}

#fanclubSite .changeLinkBlock dl:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: none;
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock dl dt {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .changeLinkBlock dl dd {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .changeLinkBlock dl dd {
    font-size: 1.8rem;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .stepBlock {
    margin-bottom: 30px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .stepBlock {
    margin-bottom: 15px;
  }
}

#fanclubSite .stepBlock ul {
  display: table;
}

@media screen and (min-width: 768px) {
  #fanclubSite .stepBlock ul {
    width: 784px;
    margin: 25px auto 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .stepBlock ul {
    width: 100%;
    margin: 10px auto 0 auto;
  }
}

#fanclubSite .stepBlock li {
  box-sizing: border-box;
  display: table-cell;
  text-align: center;
  vertical-align: middle;
  background-image: url(/fanclub/common/img/bg_step_01.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

@media screen and (min-width: 768px) {
  #fanclubSite .stepBlock li {
    width: 98px;
    height: 66px;
    padding-right: 20px;
    font-size: 2.7rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .stepBlock li {
    width: 12.5%;
    padding: 2% 2% 2% 0;
  }
}

#fanclubSite .stepBlock li.current {
  color: #f68ca2;
  background-image: url(/fanclub/common/img/bg_step_01_ct.png);
}

#fanclubSite .stepBlock.text ul {
  display: table;
}

@media screen and (min-width: 768px) {
  #fanclubSite .stepBlock.text ul {
    width: 720px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .stepBlock.text ul {
    max-width: 100%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .stepBlock.text li {
    width: 144px;
    height: 70px;
    background-image: url(/fanclub/common/img/bg_step_02_pc.png);
    font-size: 1.6rem;
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .stepBlock.text li {
    width: 20%;
    background-image: url(/fanclub/common/img/bg_step_02_sp.png);
    font-size: 1.2rem;
    line-height: 1.2;
    padding: 5% 5% 5% 2%;
    white-space: nowrap;
  }
}

#fanclubSite .stepBlock.text li.current {
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  #fanclubSite .stepBlock.text li.current {
    background-image: url(/fanclub/common/img/bg_step_02_ct_pc.png);
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .stepBlock.text li.current {
    background-image: url(/fanclub/common/img/bg_step_02_ct_sp.png);
  }
}

#fanclubSite .errorBlock {
  position: relative;
  display: block;
  border-radius: 7px;
  border-style: solid;
}

@media screen and (min-width: 768px) {
  #fanclubSite .errorBlock {
    margin-top: 30px;
    margin-bottom: 30px;
    border-width: 4px;
    padding: 15px 25px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .errorBlock {
    margin-top: 25px;
    margin-bottom: 15px;
    border-width: 3px;
    padding: 3.8%;
  }
}

#fanclubSite .errorBlock::after {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  background-image: url(/fanclub/common/img/img_error.png);
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (min-width: 768px) {
  #fanclubSite .errorBlock::after {
    width: 113px;
    height: 82px;
    top: -55px;
    right: 0;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .errorBlock::after {
    width: 77px;
    height: 56px;
    top: -35px;
    right: 0;
  }
}

#fanclubSite .errorBlock p {
  background-image: url(/fanclub/common/img/icon_error.png);
  background-repeat: no-repeat;
  background-position: 0 0;
}

@media screen and (min-width: 768px) {
  #fanclubSite .errorBlock p {
    min-height: 31px;
    padding: 0 40px 0 40px;
    background-size: auto 28px;
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .errorBlock p {
    min-height: 21px;
    padding: 0 30px;
    background-size: auto 21px;
  }
}

#fanclubSite .inputBlock .errorBlock {
  border: none;
}

@media screen and (min-width: 768px) {
  #fanclubSite .inputBlock .errorBlock {
    margin-top: 25px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .inputBlock .errorBlock {
    margin-top: 20px;
  }
}

#fanclubSite .btnL, #fanclubSite .changeLinkBlock .btn {
  margin: 0  auto;
  display: table;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .btnL, #fanclubSite .changeLinkBlock .btn {
    width: 430px;
    font-size: 2.0rem;
  }
}

#fanclubSite .btnL a, #fanclubSite .changeLinkBlock .btn a {
  display: table-cell;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  #fanclubSite .btnL a, #fanclubSite .changeLinkBlock .btn a {
    padding: 20px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .lead {
    margin-top: 20px;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1.twoLines + .keyColorBG .lead:first-child,
  #fanclubSite h1.twoLines + .subColorBG .lead:first-child, #fanclubSite h1.twoLines + #calendarBlock .lead:first-child {
    margin-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1.twoLines + .keyColorBG .lead:first-child,
  #fanclubSite h1.twoLines + .subColorBG .lead:first-child, #fanclubSite h1.twoLines + #calendarBlock .lead:first-child {
    margin-top: 25px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite h1.forSPTwoLines + .keyColorBG .lead:first-child,
  #fanclubSite h1.forSPTwoLines + .subColorBG .lead:first-child, #fanclubSite h1.forSPTwoLines + #calendarBlock .lead:first-child {
    margin-top: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite h1.forSPTwoLines + .keyColorBG .lead:first-child,
  #fanclubSite h1.forSPTwoLines + .subColorBG .lead:first-child, #fanclubSite h1.forSPTwoLines + #calendarBlock .lead:first-child {
    margin-top: 25px;
  }
}

#fanclubSite .keyColorBG form > .lead + .annotation,
#fanclubSite .subColorBG form > .lead + .annotation, #fanclubSite #calendarBlock form > .lead + .annotation {
  margin-top: 20px;
}

#fanclubSite .basicTable + .annotation, #fanclubSite .headerTable + .annotation, #fanclubSite .matrixTable + .annotation {
  margin-top: 10px;
}

#fanclubSite .finChara {
  margin: 20px auto 0 auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .finChara {
    width: 200px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .finChara {
    width: 170px;
  }
}

#fanclubSite .finChara img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  #fanclubSite .fmlgTop {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .fmlgTop {
    z-index: 3000;
    position: relative;
    margin-top: -10%;
    padding-top: 16%;
    padding-bottom: 20px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .fmlgTop form .inputBlock:first-child {
    margin-top: 0;
  }
}

#fanclubSite .fmlgTop .idpwForget {
  margin-top: 20px;
}

#fanclubSite .fmlgTop .idpwForget a {
  float: right;
  color: #fff;
  border-bottom-width: 2px;
  border-bottom-style: solid;
  border-bottom-color: #fff;
}

@media screen and (max-width: 767px) {
  #fanclubSite .forSPSeparator {
    border-top: #f68ca2 1px solid;
    margin-top: 10px;
    padding-top: 10px;
  }
}

#fanclubSite .foundationColorBG > .matrixTable:first-child,
#fanclubSite .foundationColorBG > .basicTable:first-child, #fanclubSite .foundationColorBG > .headerTable:first-child, #fanclubSite .foundationColorBG > .matrixTable:first-child {
  margin-top: 0;
}

#fanclubSite th.nowrap,
#fanclubSite td.nowrap {
  white-space: nowrap;
}

#fanclubSite .matrixTable {
  border: none !important;
}

#fanclubSite .matrixTable table {
  display: block;
  border-radius: 7px;
  display: table;
  border-collapse: separate;
}

#fanclubSite .matrixTable table th {
  width: auto;
  border-right: none;
}

@media screen and (max-width: 767px) {
  #fanclubSite .matrixTable table th {
    font-size: 1.2rem;
    padding: 5px;
  }
}

#fanclubSite .matrixTable table th:first-child {
  border-left: none;
}

#fanclubSite .matrixTable table td {
  width: auto;
}

@media screen and (min-width: 768px) {
  #fanclubSite .matrixTable table td {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .matrixTable table td {
    font-size: 1.2rem;
    padding: 5px;
  }
}

#fanclubSite .matrixTable table td:nth-child(1) {
  border-left: none;
}

@media screen and (min-width: 768px) {
  #fanclubSite .matrixTable br.forSP {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(1) {
    width: 15%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(1) {
    width: 16%;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(2),
  #fanclubSite table.buyTicket tr:first-child th:nth-child(3) {
    width: 15%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(2),
  #fanclubSite table.buyTicket tr:first-child th:nth-child(3) {
    width: 16%;
  }
}
/*
@media screen and (min-width: 768px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(4) {
    width: 55%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(4) {
    width: 42%;
  }
}
*/

@media screen and (min-width: 768px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(4) {
    width: 15%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite table.buyTicket tr:first-child th:nth-child(4) {
    width: 16%;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .ticketBlock {
    border-radius: 0;
    margin-left: -4%;
    margin-right: -4%;
  }
}

#fanclubSite .buyBtn {
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  #fanclubSite .buyBtn {
    padding-right: 40px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .buyBtn {
    padding-right: 30px;
  }
}

#fanclubSite .buyBtn p {
  box-sizing: border-box;
  vertical-align: middle;
  text-align: left;
  position: relative;
}

@media screen and (min-width: 768px) {
  #fanclubSite .buyBtn p {
    padding: 10px 15px;
    display: block;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
  }
  #fanclubSite .buyBtn p::before,
  #fanclubSite .buyBtn p::after {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 2px;
    background-color: #f68ca2;
    display: block;
    border-radius: 7px;
    top: 50%;
    right: -27px;
  }
  #fanclubSite .buyBtn p::before {
    margin-top: -5px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #fanclubSite .buyBtn p::after {
    margin-top: 3px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .buyBtn p {
    padding: 4px;
  }
  #fanclubSite .buyBtn p::before,
  #fanclubSite .buyBtn p::after {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 2px;
    background-color: #f68ca2;
    display: block;
    border-radius: 7px;
    top: 50%;
    right: -20px;
  }
  #fanclubSite .buyBtn p::before {
    margin-top: -4px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #fanclubSite .buyBtn p::after {
    margin-top: 2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}

#fanclubSite .textBlock {
  margin-top: 20px;
}

#fanclubSite .textBlock p {
  margin-top: 20px;
}

#fanclubSite .textBlock ul {
  margin-top: 20px;
}

#fanclubSite .textBlock .itemList {
  margin-top: 20px;
}

#fanclubSite .textBlock .itemList dt {
  float: left;
}

#fanclubSite .textBlock .itemList dd {
  float: left;
}

#fanclubSite .textBlock *:first-child {
  margin-top: 0;
}

#fanclubSite .textBlock p + .annotation,
#fanclubSite .textBlock .itemList + .annotation {
  margin-top: 5px;
}

#fanclubSite h2 + .textBlock {
  margin-top: 10px;
}

#fanclubSite .eTicketBlock {
  margin-top: 30px;
}

#fanclubSite .eTicketBlock .qrCode {
  margin: 0 auto;
  text-align: center;
}

@media screen and (min-width: 768px) {
  #fanclubSite .eTicketBlock .qrCode {
    width: 208px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .eTicketBlock .qrCode {
    width: 148px;
  }
}

#fanclubSite .eTicketBlock .qrCode img {
  width: 100%;
}

#fanclubSite .eTicketBlock .expirationDate {
  margin: 30px auto 0 auto;
  display: block;
  border-radius: 7px;
  text-align: center;
  color: #fff;
  border-color: #fff;
  border-style: solid;
  padding: 10px 20px;
  display: table;
}

@media screen and (min-width: 768px) {
  #fanclubSite .eTicketBlock .expirationDate {
    border-width: 4px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .eTicketBlock .expirationDate {
    border-width: 5px;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .eTicketBlock .expirationDate dd {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .eTicketBlock .expirationDate dd {
    font-size: 1.6rem;
  }
}

@media screen and (min-width: 768px) {
  #fanclubSite .keyColorBG + #datingBlock {
    margin-top: 30px;
  }
}

@media screen and (max-width: 767px) {
  #fanclubSite .keyColorBG + #datingBlock {
    background-image: none;
    padding-top: 18px;
  }
}

#fanclubSite .keyColorBG + #datingBlock .dateBlock {
  margin-top: 0;
}

#fanclubSite .keyColorBG + #datingBlock .lead {
  margin: 0 10px;
}

#fanclubSite #calendarBlock .headerTable td {
  height: 80px;
}
