@charset "UTF-8";
/*! 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: sans-serif;
  /* 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: monospace, monospace;
  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: 'じゅん 501', 'Jun 501', 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: 'ＭＳ Ｐゴシック', 'Lucida Sans Unicode', sans-serif;
  color: #f68ca2;
}

input::-moz-placeholder {
  font-family: 'ＭＳ Ｐゴシック', 'Lucida Sans Unicode', sans-serif;
  color: #f68ca2;
}

input:-ms-input-placeholder {
  font-family: 'ＭＳ Ｐゴシック', 'Lucida Sans Unicode', sans-serif;
  color: #f68ca2;
}

input::-ms-clear {
  visibility: hidden;
}

input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #fff inset;
  -webkit-text-fill-color: #f68ca2;
}

input[type="text"],
input[type="password"] {
  font-family: 'ＭＳ Ｐゴシック', '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;
}

.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 5.4% 0;
    text-align: center;
  }
  #headerArea .logo img {
    width: 90%;
  }
}

#headerArea .pointBtn,
#headerArea .subBtn {
  background: #fff;
  text-align: center;
  border-radius: 7px;
  box-sizing: border-box;
  line-height: 1;
}

@media screen and (min-width: 768px) {
  #headerArea .pointBtn,
  #headerArea .subBtn {
    padding: 14px 10px 8px 10px;
    min-height: 41px;
  }
}

@media screen and (max-width: 767px) {
  #headerArea .pointBtn,
  #headerArea .subBtn {
    padding: 5%;
  }
}

@media screen and (min-width: 768px) {
  #headerArea .subBtn:hover {
    background: #dcedfa;
  }
  #headerArea .pointBtn:hover {
    background: #fcdde3;
  }
}

#headerArea .overlay {
  background-color: #fff;
  display: none;
  height: 100%;
  left: 0;
  opacity: 0.9;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5500;
}

#headerArea.siteTop h1.logo {
  display: block;
}

#headerArea.siteTop .operation .ticket {
  display: none;
}

#headerArea .operation {
  z-index: 5200;
  margin: 0 auto;
  width: 100%;
  position: absolute;
}

@media screen and (min-width: 768px) {
  #headerArea .operation {
    min-height: 80px;
    width: 960px;
    padding-top: 10px;
    left: 50%;
    margin-left: -480px;
    background-position: 50% 100%;
  }
  #headerArea .operation div {
    width: 100%;
    margin: 0 auto;
  }
}

@media screen and (max-width: 767px) {
  #headerArea .operation {
    background: none;
    padding: 0 3.8% 0 0;
    height: 57px;
    top: 100%;
  }
}

#headerArea .operation img {
  width: 100%;
}

#headerArea .operation .homeLink {
  position: absolute;
  background-image: url(/common_v2/img/bg_header.png);
  background-repeat: no-repeat;
  display: none;
  float: left;
}

@media screen and (min-width: 768px) {
  #headerArea .operation .homeLink {
    background-image: url(/common_v2/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%;
  }
  #headerArea .operation .homeLink a {
    position: relative;
    top: 20px;
    left: 0;
    height: 38px;
  }
  #headerArea .operation .homeLink a img {
    height: 38px;
  }
}

@media screen and (max-width: 767px) {
  #headerArea .operation .homeLink {
    display: none;
    background-image: url(/common_v2/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%;
  }
}

#headerArea .operation .toggle {
  cursor: pointer;
  position: relative;
  width: 57px;
  height: 57px;
  display: block;
  border-radius: 57px;
  float: right;
  background: url('/common_v2/img/btn_menu.png') #f68ca2 no-repeat;
  background-size: 57px;
  box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.1);
}

#headerArea .operation .ticket {
  position: relative;
  float: right;
  padding: 0 2%;
}

#headerArea .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;
}

#headerArea .operation .ticket img {
  width: auto;
  height: 100%;
}

#headerArea .operation.linkage {
  position: fixed;
  top: 0;
}

#headerArea .operation.linkage.open {
  position: relative;
}

#headerArea .operation.linkage .logo {
  display: none;
}

@media screen and (max-width: 767px) {
  #headerArea .operation.linkage {
    height: 0;
    padding: 0 3.8% 15.2% 0;
  }
  #headerArea .operation.linkage.close .homeLink {
    display: block;
  }
}

#headerArea .operation.open {
  background: none;
  display: none;
}

@media screen and (max-width: 767px) {
  #headerArea .operation.open {
    margin-left: auto;
    margin-right: auto;
    width: 92%;
    padding: 0;
  }
}

#headerArea .operation.open .toggle::before,
#headerArea .operation.open .toggle::after {
  top: 27.36px;
  left: 14.25px;
  width: 30px;
  height: 4px;
  display: block;
  border-radius: 7px;
}

#headerArea .operation.open .toggle::before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

#headerArea .operation.open .toggle::after {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

#headerArea .operation.open .ticket {
  display: none;
}

#headerArea #languageBtn {
    z-index: 5500;
    margin: 0 auto;
    width: 100%;
    position: absolute;
}
#headerArea #languageBtn.z500 {
    z-index: 500;
}
#headerArea .languageBtn {
    cursor: pointer;
    position: relative;
    width: 57px;
    height: 57px;
    display: block;
    border-radius: 57px;
    float: right;
    background: url('/common_v2/img/btn_language.png') #f68ca2 no-repeat;
    background-size: 57px;
    box-shadow: 2px 2px 2px 0px rgba(0, 0, 0, 0.1);
}
#headerArea .selectLang {
    position: relative;
}
#headerArea .selectLang {
    display: none;
}
#headerArea  .selectLang .listLang {
    position: absolute;
    background-color: #f68ca2;
    border-radius: 7px;
    color: #fff;
    padding: 10px;
    z-index: 4000;
}
#headerArea .selectLang li:first-child {
    padding-left: 0;
}
#headerArea .selectLang li {
    float: left;
    padding-left: 10px;
    font-size: 1.2rem;
}
#headerArea .selectLang li:first-child::before {
    content: "";
    padding-right: 0;
}
#headerArea .selectLang li::before {
    content: "/";
    padding-right: 10px;
}
#headerArea .selectLang li a {
    display: inline-block;
    color: #fff;
}
#headerArea .selectLang li a:hover {
    text-decoration: underline;
}
@media screen and (min-width: 768px) {
  #headerArea #languageBtn {
    min-height: 80px;
    width: 960px;
    padding-top: 10px;
    left: 50%;
    margin-left: -545px;
    background-position: 50% 100%;
  }
  #headerArea .selectLang {
    width: 960px;
    margin: auto;
  }
  #headerArea  .selectLang .listLang {
    right: 0;
    top: 75px;
  }
  #headerArea .selectLang dt {
    float: left;
    margin-right: 20px;
    line-height: 1.4;
  }
  #headerArea .selectLang dd {
    float: right;
  }
}
@media screen and (max-width: 767px) {
  #headerArea #languageBtn {
    right: 3.8%;
    margin-right: 62px;
  }
  #headerArea .selectLang {
    margin: 0 3.8%;
  }
  #headerArea .selectLang .listLang {
    top: 65px;
    left: 0;
    right: 0;
  }
}

#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;
  }
}

#globalMenu .language {
  color: #fff;
  font-size: 1.2rem;
}

@media screen and (min-width: 768px) {
  #globalMenu .language dt,
  #globalMenu .language dd {
    float: left;
  }
}

#globalMenu .language li {
  float: left;
  padding-left: 10px;
}

#globalMenu .language li a {
  display: inline-block;
}

#globalMenu .language li:first-child {
  padding-left: 0;
}

#globalMenu .language li:first-child::before {
  content: "";
  padding-right: 0;
}

#globalMenu .language li::before {
  content: "/";
  padding-right: 10px;
}

@media screen and (min-width: 768px) {
  #globalMenu .language {
    position: absolute;
    top: -65px;
    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 (max-width: 767px) {
  #globalMenu .language li a {
    color: #fff;
  }
}

@media screen and (min-width: 768px) {
  #globalMenu .linkLogo {
    display: block;
    margin: 20px auto 20px 16px;
  }
  #globalMenu .linkLogo a {
    box-sizing: border-box;
    width: 290px;
    height: 46px;
  }
  #globalMenu .linkLogo a img {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #globalMenu .linkLogo {
    margin: 5.4% 0 5.4% 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(/common_v2/img/img_gnav.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

#globalMenu .menuBlock .access {
  color: #b296ca;
}

#globalMenu .menuBlock .access a {
  color: #b296ca;
}

#globalMenu .menuBlock .access a:hover {
  color: #cdbbdc;
}

#globalMenu .menuBlock .attraction {
  color: #f58ca2;
}

#globalMenu .menuBlock .attraction a {
  color: #f58ca2;
}

#globalMenu .menuBlock .attraction a:hover {
  color: #f9c6d0;
}

#globalMenu .menuBlock .character {
  color: #97cfb8;
}

#globalMenu .menuBlock .character a {
  color: #97cfb8;
}

#globalMenu .menuBlock .character a:hover {
  color: #cbe6db;
}

#globalMenu .menuBlock .enjoy {
  color: #b18aca;
}

#globalMenu .menuBlock .enjoy a {
  color: #b18aca;
}

#globalMenu .menuBlock .enjoy a:hover {
  color: #c9adda;
}

#globalMenu .menuBlock .facility {
  color: #f58ca2;
}

#globalMenu .menuBlock .facility a {
  color: #f58ca2;
}

#globalMenu .menuBlock .facility a:hover {
  color: #f9c0cb;
}

#globalMenu .menuBlock .floorguide {
  color: #8ac4ee;
}

#globalMenu .menuBlock .floorguide a {
  color: #8ac4ee;
}

#globalMenu .menuBlock .floorguide a:hover {
  color: #b9dbf5;
}

#globalMenu .menuBlock .food {
  color: #c6aa8b;
}

#globalMenu .menuBlock .food a {
  color: #c6aa8b;
}

#globalMenu .menuBlock .food a:hover {
  color: #d7c4ae;
}

#globalMenu .menuBlock .goods {
  color: #9dca74;
}

#globalMenu .menuBlock .goods a {
  color: #9dca74;
}

#globalMenu .menuBlock .goods a:hover {
  color: #bbda9e;
}

#globalMenu .menuBlock .information {
  color: #8ac4ee;
}

#globalMenu .menuBlock .information a {
  color: #8ac4ee;
}

#globalMenu .menuBlock .information a:hover {
  color: #add6f3;
}

#globalMenu .menuBlock .liveshow {
  color: #ffb742;
}

#globalMenu .menuBlock .liveshow a {
  color: #ffb742;
}

#globalMenu .menuBlock .liveshow a:hover {
  color: #ffcd7b;
}

#globalMenu .menuBlock .qa {
  color: #aaaaaa;
}

#globalMenu .menuBlock .qa a {
  color: #aaaaaa;
}

#globalMenu .menuBlock .qa a:hover {
  color: #c4c4c4;
}

@media screen and (min-width: 768px) {
  #globalMenu .menuBlock {
    width: 474px;
    margin-left: 16px;
    padding: 13px;
    position: absolute;
  }
  #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;
  color: #f68ca2;
  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;
  }
  #globalMenu .menuBlock .menuList .subMenu .decoration {
    width: 60px;
    height: 64px;
    padding: 1px;
  }
}

@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;
    padding: 13px;
    position: relative;
    left: 502px;
    margin-top: 12px;
  }
}

@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,
#globalMenu .hoursBlock .linkList li.reservationList a {
  color: #8ac4ee;
}

#globalMenu .hoursBlock .linkList li.latency a:hover,
#globalMenu .hoursBlock .linkList li.stoplist a:hover,
#globalMenu .hoursBlock .linkList li.reservationList 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,
  #globalMenu .hoursBlock .linkList li.reservationList {
    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,
#globalMenu .hoursBlock .linkList li.reservationList {
  clear: both;
  float: none;
  width: 100%;
  margin-left: 0;
}

#globalMenu .hoursBlock .linkList li.latency a,
#globalMenu .hoursBlock .linkList li.stoplist a,
#globalMenu .hoursBlock .linkList li.reservationList 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(/common_v2/img/btn_ticket.png);
  background-size: 100%;
  background-repeat: no-repeat;
  -webkit-transform: rotate(-20deg);
      -ms-transform: rotate(-20deg);
          transform: rotate(-20deg);
  /*
   * bnr1つのとき
   * top: -10%;
   */

  /*
   * パスポート・クーポン内にボタンが2つでbnrが複数のとき
   * top: -10.5%;
   */
  top: -15.4%;
  left: -4.8%;
  width: 60px;
  height: 33px;
}

@media screen and (min-width: 768px) {
  #globalMenu .ticketBlock {
    clear: both;
    width: 231px;
    margin-left: 16px;
    padding: 13px;
    /*
     * bnr1つのとき
     * top: -80px;
     */
    top: -222px;
    margin-top: initial;
  }
  #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(/common_v2/img/img_fanclub.png);
  background-size: 100%;
  background-repeat: no-repeat;
  top: -2.5%;
  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;
    padding: 13px;
    position: absolute;
    /*
     * bnr1つのとき
     * position: relative;
     * top: -224px;
     */

    /*
     * パスポート・クーポン内にボタンが2つでbnrが複数のとき
     * position: relative;
     * top: -366px;
     */
    top: 303px;
    left: 259px;
  }
  #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;
    padding: 13px;
    position: absolute;
    top: 388px;
    right: 0;
    margin-right: 16px;
  }
}

@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(/common_v2/img/foot_icon_twitter.png);
}

#footerArea .snsBlock .facebook a {
  background-color: #315b98;
  background-image: url(/common_v2/img/foot_icon_facebook.png);
}

#footerArea .snsBlock .line a {
  background-color: #00c300;
  background-image: url(/common_v2/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: url(/common_v2/img/img_top_kitty.png) no-repeat;
  }
  #footerArea .goBackTop p a:hover {
    background: url(/common_v2/img/img_top_kitty.png) no-repeat;
  }
  #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: 88px;
    overflow: hidden;
  }
  #footerArea .sponsorBnr li {
    float: left;
    margin: 0 5px;
    width: 230px !important;
  }
  #footerArea .sponsorBnr li img {
    width: 230px !important;
  }
  #footerArea .subCarouselBlock {
    width: initial;
    margin-top: 0px;
  }
  #footerArea .subCarouselBlock .carouselOperation {
    position: relative;
    width: 960px;
    margin:0 auto;
  }
  #footerArea .subCarouselBlock .carouselOperation .btnPrev {
    position: absolute;
    top: -24px;
    left:-8px;
    cursor: pointer;
  }
  #footerArea .subCarouselBlock .carouselOperation .btnPrev img {
    width: 25px;
  }
  #footerArea .subCarouselBlock .carouselOperation .btnNext {
    position: absolute;
    top: -24px;
    right: -8px;
    cursor: pointer;
  }
  #footerArea .subCarouselBlock .carouselOperation .btnNext img {
    width: 25px;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .sponsorBnr {
    margin-top: 3rem;
    padding: 4.2% 3.8% 0 3.8%;
    background: #f68ca2;
  }
  #footerArea .sponsorBnr li:first-child {
    margin-bottom:1.3rem;
  }
  #footerArea .sponsorBnr li:nth-child(3), #footerArea .sponsorBnr li:nth-child(4) {
    display:none;
  }
  #footerArea .subCarouselBlock .carouselOperation {
    position: absolute;
    width: 100%;
  }
  #footerArea .subCarouselBlock .carouselOperation .btnPrev {
    cursor: pointer;
    position: absolute;
    left: -3%;
    width: 8%;
    margin-top: 14%;
  }
  #footerArea .subCarouselBlock .carouselOperation .btnNext {
    cursor: pointer;
    position: absolute;
    right: 5%;
    width: 8%;
    margin-top: 14%;
  }
}

@media screen and (min-width: 768px) {
  #footerArea .relationBnr {
    padding: 15px 0;
    background: #f3f0ed;
  }
  #footerArea .relationBnr ul {
    width: 960px;
    margin: 0 auto;
    height: 88px;
    overflow: hidden;
  }
  #footerArea .relationBnr li {
    float: left;
    margin: 0 5px;
    width: 230px !important;
  }
  #footerArea .relationBnr li img {
    width: 230px !important;
  }
}

@media screen and (max-width: 767px) {
  #footerArea .relationBnr {
    margin-top: 0;
    padding: 4.2% 3.8% 0 3.8%;
    background: #f68ca2;
  }
  #footerArea .relationBnr .carouselOperation {
    height: initial;
  }
  #footerArea .relationBnr .js-relationBnrCarousel4to1 {
    overflow: hidden;
  }
  #footerArea .relationBnr li img {
    width: 92% !important;
  }
  #footerArea .relationBnr ul.slick-dots {
    display: none !important;
  }
}

#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 {
    color: #fff;
    font-size: 1.2rem;
  }
  #footerArea .linkBlock .language dt,
  #footerArea .linkBlock .language dd {
    float: left;
  }
  #footerArea .linkBlock .language li {
    float: left;
    padding: 0;
  }
  #footerArea .linkBlock .language li a {
    color: #fff;
    display: inline-block;
  }
  #footerArea .linkBlock .language li:first-child {
    padding-left: 0;
  }
  #footerArea .linkBlock .language li:first-child::before {
    content: "";
    padding-right: 0;
  }
  #footerArea .linkBlock .language li::before {
    content: "/";
    padding-right: 10px;
  }
  #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 .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 {
    position: relative;
    padding: 15px 25px 15px 15px;
    border-bottom: 1px solid #fcdde3;
  }
  #footerArea .linkBlock .siteLink dt::before,
  #footerArea .linkBlock .siteLink dt::after {
    content: "";
    display: block;
    background: #f68ca2;
    display: block;
    border-radius: 7px;
    position: absolute;
  }
  #footerArea .linkBlock .siteLink dt::before {
    height: 2px;
    width: 18px;
    top: 24px;
    right: 8px;
  }
  #footerArea .linkBlock .siteLink dt::after {
    height: 18px;
    width: 2px;
    top: 16px;
    right: 16px;
  }
  #footerArea .linkBlock .siteLink dt.active::after {
    display: none !important;
  }
  #footerArea .linkBlock .siteLink li {
    width: 100%;
    box-sizing: border-box;
    position: relative;
    border-bottom: 1px solid #fcdde3;
    padding-left: 15px;
  }
  #footerArea .linkBlock .siteLink .accordion li 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%;
    color: #fff;
  }
  #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 {
    content: "/";
    padding-right: 7px;
  }
  #footerArea .linkBlock .siteLink .language li:first-child::before {
    content: "";
    padding-right: 0;
  }
  #footerArea .linkBlock .siteLink .language li a {
    color: #fff;
    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(/common_v2/img/bg_footer.png) no-repeat 732px 66px;
  }
  #footerArea footer .footLink li {
    float: left;
    padding-right: 9px;
    font-size: 1.2rem;
  }
  #footerArea footer .footLink li::before {
    content: "/";
    padding-right: 9px;
    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;
  }
  #footerArea footer .contact br {
    display: none;
  }
  #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;
    text-indent: -1.2rem;
    padding-left: 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;
  }
}

#mainCarouselArea {
  position: relative;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea {
    padding: 80px 40px 30px 40px;
    background-color: #8ac4ee;
    display: block;
    border-radius: 7px;
  }

  #mainCarouselArea.mainCarouselAreaCharacter {
    padding: 80px 40px 65px 40px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea {
    z-index: 1000;
  }
}

#mainCarouselArea .carouselWrap {
  position: relative;
}

#mainCarouselArea .carouselWrap:before,
#mainCarouselArea .carouselWrap:after {
  content: "";
  display: table;
}

#mainCarouselArea .carouselWrap:after {
  clear: both;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .carouselWrap {
    width: 680px;
    float: left;
    z-index: 1100;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselWrap {
    width: 100%;
  }
}

#mainCarouselArea .carouselBody {
  position: relative;
}

#mainCarouselArea .carouselBox {
  position: relative;
  float: left;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .carouselImg .forPCImg {
    display: block;
    border-radius: 7px 7px 0 0;
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
    width: 660px;
  }
  #mainCarouselArea .carouselImg .forSPImg {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselImg {
    padding-top: 1.2%;
  }
  #mainCarouselArea .carouselImg .forPCImg {
    display: none;
  }
}

#mainCarouselArea .carouselImg .forSPImg {
  margin: 0 -10%;
  width: 120%;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .carouselDetail {
    display: block;
    border-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselDetail {
    background-color: #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselDetail .carouselItem::before {
    content: "";
    height: 25%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1100;
  }
}

#mainCarouselArea .carouselDetail .carouselItem .carouselLead {
  color: #fff;
  margin-top: 20px;
  padding: 0 40px 40px 40px;
  position: relative;
  text-align: center;
  z-index: 1900;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselDetail .carouselItem .carouselLead {
    margin: 0;
    padding: 20px 20px 0;
  }
}

#mainCarouselArea .carouselDetail .carouselItem .carouselLead .tit {
  box-sizing: border-box;
  font-size: 3.0rem;
  line-height: 1.4;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselDetail .carouselItem .carouselLead .tit {
    font-size: 2.0rem;
  }
}

#mainCarouselArea .carouselDetail .carouselItem .carouselLead .text {
  padding-top: 15px;
}

#mainCarouselArea .carouselDetail .carouselLine {
  position: absolute;
  top: 336px;
  width: 100%;
}

#mainCarouselArea .carouselOperation {
  position: absolute;
  z-index: 1200;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .carouselOperation {
    width: 660px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselOperation {
    margin-top: 45%;
    width: 100%;
  }
}

#mainCarouselArea .carouselOperation > * {
  position: absolute;
  top: 0;
  cursor: pointer;
}

#mainCarouselArea .carouselOperation > * img {
  width: 40px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselOperation > * img {
    width: 30px;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .carouselOperation .btnPrev {
    margin-top: 119px;
    left: -20px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselOperation .btnPrev {
    left: 2%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .carouselOperation .btnNext {
    margin-top: 119px;
    right: -20px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .carouselOperation .btnNext {
    right: 2%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
  }
  #mainCarouselArea.detailPage .carouselWrap {
    width: 960px;
    float: none;
  }
  #mainCarouselArea.detailPage .carouselOperation {
    width: 960px;
  }
  #mainCarouselArea.detailPage .carouselImg {
    box-shadow: none;
    width: auto;
  }
  #mainCarouselArea.detailPage .carouselImg img {
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage {
    margin-bottom: 0;
  }
  #mainCarouselArea.detailPage .carouselWrap {
    z-index: 1;
  }
  #mainCarouselArea.detailPage .carouselImg {
    padding: 0;
  }
}

#mainCarouselArea.detailPage .carouselDetail > *:not(.bottomBtn) {
  background: #8ac4ee;
  height: auto !important;
  padding: 20px 40px 35px;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage .carouselDetail > *:not(.bottomBtn) {
    border-bottom-left-radius: 7px;
    border-bottom-right-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .carouselDetail > *:not(.bottomBtn) {
    padding: 0;
  }
}

#mainCarouselArea.detailPage .carouselDetail::before {
  display: none;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage .btnPrev {
    margin-top: 200px;
    left: 10px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .btnPrev {
    margin-top: 0;
    left: 2%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage .btnNext {
    margin-top: 200px;
    right: 10px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .btnNext {
    right: 2%;
  }
}

#mainCarouselArea.detailPage .detailLead {
  color: #fff;
  float: left;
  width: 490px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .detailLead {
    background: #8ac4ee;
    float: none;
    margin: 0;
    padding: 5px 20px 0;
    width: auto;
  }
}

#mainCarouselArea.detailPage .detailLead .tit {
  text-align: left;
  font-size: 4.0rem;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .detailLead .tit {
    font-size: 2.8rem;
    line-height: 1.4;
    padding-top: 5px;
    text-align: center;
  }
}

#mainCarouselArea.detailPage .detailLead .text {
  padding-top: 15px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .detailLead .text {
    padding-top: 5px;
  }
}

#mainCarouselArea.detailPage .detailItem {
  float: right;
  width: 320px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .detailItem {
    background: #8ac4ee;
    float: none;
    padding: 20px;
    width: auto;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage .detailItem.wide {
    width: 360px;
  }
}

#mainCarouselArea.detailPage .detailItem h2 {
  color: #fff;
}

#mainCarouselArea.detailPage .detailItem td a {
  color: #fff;
  text-decoration: underline;
  display: inline;
}

#mainCarouselArea.detailPage .detailItem .annotation {
  margin-top: 5px;
  color: #fff;
}

#mainCarouselArea.detailPage .detailItem .gigya {
  margin-top: 15px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .detailItem .gigya {
    margin: 0;
    padding-top: 15px;
  }
}

#mainCarouselArea.detailPage .detailItem .gigya img {
  width: 265px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .detailItem .gigya img {
    width: 100%;
  }
}

#mainCarouselArea.detailPage .detailItem .iconList li {
  color: #8ac4ee;
  background: #fff;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage .forPCBnr {
    position: relative;
    padding-top: 15px;
    text-align: left;
  }
  #mainCarouselArea.detailPage .forPCBnr a img {
    width: 290px;
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  }
  #mainCarouselArea.detailPage .forPCBnr .imgChara {
    position: absolute;
    bottom: -30px;
    right: -55px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .forPCBnr {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.detailPage .bottomBtn {
    position: absolute;
    width: 450px;
    bottom: -35px;
    left: 50%;
    margin-left: -255px;
    font-size: 2.0rem;
  }
  #mainCarouselArea.detailPage .bottomBtn a {
    padding: 20px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.detailPage .bottomBtn {
    background-color: #8ac4ee;
    padding: 20px 12%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage {
    padding: 0;
    background-color: transparent;
    border-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselWrap {
    width: 960px;
    float: none;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselOperation {
    width: 960px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .carouselOperation {
    margin-top: 0;
    top: 24%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselImg {
    box-shadow: none;
    width: auto;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .carouselImg {
    padding: 0;
  }
  #mainCarouselArea.characterPage.pdePage .carouselImg img {
    margin: 0 -10%;
    width: 120%;
  }
}

#mainCarouselArea.characterPage .carouselImg img {
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselImg img {
    width: auto;
  }
  #mainCarouselArea.characterPage.pdePage .carouselImg {
    position: relative;
    width: 480px;
    overflow: hidden;
  }
  #mainCarouselArea.characterPage.pdePage .carouselImg::before {
    content: " ";
    display: block;
    padding-top: 100%;
  }
  #mainCarouselArea.characterPage.pdePage .carouselImg img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: auto;
    height: 100%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselItem {
    float: left;
    width: 480px;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselItem .slick-list {
    display: block;
    border-top-left-radius: 7px;
    border-bottom-left-radius: 7px;
    overflow: hidden;
  }
}

#mainCarouselArea.characterPage .carouselDetail {
  background-color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselDetail {
    float: right;
    width: 480px;
    height: 480px;
    padding: 40px;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .carouselDetail::before {
    display: none;
  }
}

#mainCarouselArea.characterPage .detailLead {
  color: #fff;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailLead {
    background: #8ac4ee;
    float: none;
    margin: 0;
    width: auto;
    padding: 20px 20px 0 20px;
  }
}

#mainCarouselArea.characterPage .detailLead .tit {
  text-align: left;
  font-size: 4.0rem;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailLead .tit {
    font-size: 2.8rem;
    line-height: 1.4;
    padding-top: 5px;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .detailLead .comment {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailLead .comment {
    font-size: 2.0rem;
  }
}

#mainCarouselArea.characterPage .detailLead .text {
  padding-top: 15px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailLead .text {
    padding-top: 5px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailItem {
    background: #8ac4ee;
    float: none;
    padding: 20px 20px 0;
    width: auto;
  }
}

#mainCarouselArea.characterPage .detailItem h2 {
  color: #fff;
}

#mainCarouselArea.characterPage .detailItem .annotation {
  margin-top: 5px;
  color: #fff;
}

#mainCarouselArea.characterPage .detailItem .gigya {
  margin-top: 15px;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailItem .gigya {
    margin: 0;
    padding-top: 15px;
  }
}

#mainCarouselArea.characterPage .detailItem .gigya img {
  width: 265px;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .detailItem .gigya img {
    width: 100%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .forPCBnr {
    position: relative;
    padding-top: 15px;
    text-align: left;
    width: 290px;
  }
  #mainCarouselArea.characterPage .forPCBnr a {
    box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  }
  #mainCarouselArea.characterPage .forPCBnr a img {
    width: 100%;
  }
  #mainCarouselArea.characterPage .forPCBnr .imgChara {
    position: absolute;
    bottom: -30px;
    right: -85px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .forPCBnr {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselOperation .btnPrev {
    margin-top: 200px;
    left: 10px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .carouselOperation .btnPrev {
    left: 2%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage .carouselOperation .btnNext {
    margin-top: 200px;
    left: 430px;
    width: 40px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage .carouselOperation .btnNext {
    right: 2%;
    left: auto;
  }
}

#mainCarouselArea.characterPage .birthImg {
  display: none;
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage.birthMonth .carouselDetail {
    border-radius: 0;
    position: relative;
    z-index: 1500;
    padding-bottom: 0;
  }
}

#mainCarouselArea.characterPage.birthMonth .birthImg {
  display: block;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage.birthMonth .birthImg {
    position: absolute;
    left: 0;
    bottom: 0;
  }
  #mainCarouselArea.characterPage.birthMonth .birthImg .forPCImg {
    border-bottom-left-radius: 7px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage.birthMonth .birthImg {
    position: relative;
    left: 0;
    top: 0;
    margin-top: -19%;
  }
}

#mainCarouselArea.characterPage.birthMonth .birthImg a {
  box-sizing: border-box;
  display: block;
  border-radius: 7px;
  background: #fff;
  color: #ffd954;
  padding: 10px;
  margin: 0 auto;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage.birthMonth .birthImg a {
    width: 330px;
    bottom: 25px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea.characterPage.birthMonth .birthImg a {
    margin: 0 20px;
    bottom: 12%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.characterPage.birthMonth .birthImg a:hover {
    opacity: 0.7;
  }
}

#mainCarouselArea .iconCharacter {
  top: auto;
  bottom: 45px;
  right: -20px;
}

#mainCarouselArea .basicTable, #mainCarouselArea .headerTable {
  color: #fff;
}

#mainCarouselArea .basicTable h2, #mainCarouselArea .headerTable h2 {
  color: #fff;
}

#mainCarouselArea .basicTable th, #mainCarouselArea .headerTable th {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .basicTable th, #mainCarouselArea .headerTable th {
    width: 40%;
    border-bottom: #8ac4ee 3px solid;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .basicTable th, #mainCarouselArea .headerTable th {
    border-bottom: #8ac4ee 2px solid;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .basicTable td, #mainCarouselArea .headerTable td {
    width: 60%;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea.inBtn .carouselDetail > *:not(.bottomBtn) {
    padding-bottom: 65px;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap {
    position: relative;
    z-index: 1100;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap {
    float: right;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .anchorWrap {
    padding: 15px 0;
    background-color: #8ac4ee;
  }
}

#mainCarouselArea .anchorWrap .anchorLink {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap .anchorLink ul {
    width: 180px;
  }
}

#mainCarouselArea .anchorWrap .anchorLink li {
  box-sizing: border-box;
  border: none;
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap .anchorLink li {
    width: 100%;
    height: auto !important;
    float: none;
    margin-bottom: 10px;
    background-color: #fff;
    border: none;
    display: block;
    border-radius: 7px;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap .anchorLink li:hover {
    opacity: 0.7;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap .anchorLink li a {
    display: inline-block;
    color: #8ac4ee;
    padding: 12px 5px 10px 40px;
    text-align: left;
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .anchorWrap .anchorLink ul.half li {
    width: 49%;
  }
  #mainCarouselArea .anchorWrap .anchorLink ul.half li:first-child {
    margin-right: 2%;
  }
  #mainCarouselArea .anchorWrap .anchorLink ul.half li a {
    background-color: #fff;
    color: #8ac4ee;
    text-align: left;
    padding: 10px 5px 10px 30px;
    border-radius: 7px;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap .anchorLink li a:hover {
    display: block;
    border-radius: 7px;
    background-color: inherit;
    color: #8ac4ee;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .anchorWrap .anchorLink li span {
    display: inline-block;
  }
  #mainCarouselArea .anchorWrap .anchorLink li span::before,
  #mainCarouselArea .anchorWrap .anchorLink li span::after {
    position: absolute;
    display: block;
    content: "";
    width: 12px;
    height: 2px;
    background-color: #8ac4ee;
    display: block;
    border-radius: 7px;
    top: 50%;
    left: -20px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li span::before {
    margin-left: -10px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #mainCarouselArea .anchorWrap .anchorLink li span::after {
    margin-left: -2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #mainCarouselArea .anchorWrap .anchorLink li#allergen span::before {
    margin-left: -4px;
    margin-top: -6px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li#allergen span::after {
    margin-left: -4px;
    margin-top: 2px;
  }

  #mainCarouselArea .anchorWrap .anchorLink li.external span::before {
    margin-left: -4px;
    margin-top: -6px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li.external span::after {
    margin-left: -4px;
    margin-top: 2px;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .anchorWrap .anchorLink li span::before,
  #mainCarouselArea .anchorWrap .anchorLink li span::after {
    position: absolute;
    display: block;
    content: "";
    width: 10px;
    height: 2px;
    background-color: #8ac4ee;
    display: block;
    border-radius: 7px;
    top: 50%;
    left: -20px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li span::before {
    margin-left: -4px;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  #mainCarouselArea .anchorWrap .anchorLink li span::after {
    margin-left: 2px;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  #mainCarouselArea .anchorWrap .anchorLink li#allergen {
    margin-top: 8px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li#allergen span::before {
    margin-top: -5px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li#allergen span::after {
    margin-left: -4px;
  }

  #mainCarouselArea .anchorWrap .anchorLink li.external {
    margin-top: 8px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li.external span::before {
    margin-top: -5px;
  }
  #mainCarouselArea .anchorWrap .anchorLink li.external span::after {
    margin-left: -4px;
  }
}

@media screen and (min-width: 768px) {
  #mainCarouselArea .charaBG {
    position: absolute;
    right: 10px;
    bottom: 40px;
    z-index: 1000;
  }
}

@media screen and (max-width: 767px) {
  #mainCarouselArea .charaBG {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .forSPBnr {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .forSPBnr {
    margin-top: 30px;
    padding: 0 3.8%;
  }
}

.subCarouselBlock {
  position: relative;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock {
    width: 800px;
    margin: 15px auto 0 auto;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock {
    margin-top: 15px;
    width: 100%;
  }
}

.subCarouselBlock .carouselBody {
  overflow: hidden;
  position: relative;
  z-index: 1040;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock .carouselBody {
    margin-left: -25px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock .slick-list {
    margin-right: -30px;
  }
}

.subCarouselBlock .carouselBox {
  float: left;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock .carouselBox {
    width: 140px;
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock .carouselBox {
    width: auto;
    margin: 0 30px 0 0;
  }
}

.subCarouselBlock .carouselImg {
  display: block;
  border-radius: 7px;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock .carouselImg {
    width: 140px;
    position: relative;
  }
  .subCarouselBlock .carouselImg img {
    position: relative;
    top: 0;
    left: -17%;
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock .carouselImg {
    width: 100%;
    height: 0;
    padding-bottom: 100%;
  }
  .subCarouselBlock .carouselImg img {
    width: 134%;
    margin-left: -17%;
  }
}

.subCarouselBlock .carouselTit {
  margin-top: 5px;
  line-height: 1.2;
}

.subCarouselBlock .carouselOperation {
  position: absolute;
  width: 100%;
  z-index: 1030;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock .carouselOperation .btnPrev {
    position: absolute;
    top: 0;
    left: -75px;
    margin-top: 55px;
    cursor: pointer;
  }
  .subCarouselBlock .carouselOperation .btnPrev img {
    width: 35px;
  }
  .subCarouselBlock .carouselOperation .btnNext {
    position: absolute;
    top: 0;
    right: -75px;
    margin-top: 55px;
    cursor: pointer;
  }
  .subCarouselBlock .carouselOperation .btnNext img {
    width: 35px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock .carouselOperation {
    height: 100%;
    padding: 0 7%;
  }
  .subCarouselBlock .carouselOperation .btnPrev {
    cursor: pointer;
    position: absolute;
    top: 25%;
    left: -2%;
    width: 7%;
  }
  .subCarouselBlock .carouselOperation .btnNext {
    cursor: pointer;
    position: absolute;
    top: 25%;
    right: -2%;
    width: 7%;
  }
}

.subCarouselBlock .carouselOperation .btnPrev.slick-disabled, .subCarouselBlock .carouselOperation .btnNext.slick-disabled {
  visibility: hidden;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.relationPde .carouselImg img,
  .subCarouselBlock.relationCharacter .carouselImg img,
  .characterBlock .subCarouselBlock .carouselImg img,
  .subCarouselBlock .js-passportCarousel .carouselImg img {
    width: 158px;
    left: -6%;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.relationPde .carouselImg img,
  .subCarouselBlock.relationCharacter .carouselImg img,
  .characterBlock .subCarouselBlock .carouselImg img {
    width: 120%;
    margin-left: -10%;
  }
  .subCarouselBlock .js-passportCarousel .carouselImg img {
    width: 122%;
    margin-left: -11%;
  }
}

.keyColorBG .subCarouselBlock a,
.subColorBG .subCarouselBlock a, #calendarBlock .subCarouselBlock a {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG .subCarouselBlock.store {
    margin-left: 30px;
  }
}

.keyColorBG .subCarouselBlock.store .carouselBox {
  background-color: #fff;
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .foundationColorBG .subCarouselBlock.store {
    margin-left: 50px;
  }
}

.foundationColorBG .subCarouselBlock.store .carouselBox {
  background-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .foundationColorBG .subCarouselBlock.store .carouselBody {
    padding-bottom: 10px;
  }
}

.foundationColorBG .subCarouselBlock.store a {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store {
    width: 870px;
    margin-top: 25px;
    margin-left: 30px;
  }
  .subCarouselBlock.store .carouselBody {
    margin: 0;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselWrap {
    margin: 0 3.8%;
  }
  .subCarouselBlock.store .carouselBody {
    padding-bottom: 15px;
  }
}

.subCarouselBlock.store .slick-list {
  overflow: visible;
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .slick-list {
    margin-right: -25px;
  }
}

.subCarouselBlock.store .carouselBox {
  display: block;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store .carouselBox {
    position: relative;
    float: left;
    width: 280px;
    margin: 0 10px 0 0;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox {
    width: 1%;
    margin: 0 35px 0 10px;
    padding-bottom: 15px;
  }
}

.subCarouselBlock.store .carouselBox .carouselImg {
  margin-bottom: 15px;
  width: 100%;
}

.subCarouselBlock.store .carouselBox .carouselImg img {
  left: 0;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox .carouselImg {
    height: auto;
    padding-bottom: 0;
  }
  .subCarouselBlock.store .carouselBox .carouselImg img {
    margin-left: 0;
  }
}

.subCarouselBlock.store .carouselBox .carouselTit {
  margin-bottom: 15px;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store .carouselBox .carouselTit {
    font-size: 2.2rem;
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox .carouselTit {
    font-size: 2.0rem;
    padding: 0 7%;
  }
}

.subCarouselBlock.store .carouselBox .carouselText {
  margin-bottom: 15px;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store .carouselBox .carouselText {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox .carouselText {
    padding: 0 7%;
  }
}

.subCarouselBlock.store .carouselBox .carouselDetail {
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store .carouselBox .carouselDetail {
    padding: 0 20px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox .carouselDetail {
    padding: 0 7%;
  }
}

.subCarouselBlock.store .carouselBox .carouselDetail dt {
  box-sizing: border-box;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store .carouselBox .carouselDetail dt {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox .carouselDetail dt {
    font-size: 1rem;
  }
}

.subCarouselBlock.store .carouselBox .carouselDetail dt::before {
  content: "★ ";
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselBox .carouselDetail dd {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.store .carouselOperation {
    margin-top: -50px;
    top: 50%;
  }
  .subCarouselBlock.store .btnPrev {
    left: -45px;
    top: 0;
    margin-top: 0;
  }
  .subCarouselBlock.store .btnNext {
    right: -35px;
    top: 0;
    margin-top: 0;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.store .carouselOperation::before {
    content: "";
  }
  .subCarouselBlock.store .btnPrev {
    top: 26%;
    left: -3.5%;
    width: 7.2%;
  }
  .subCarouselBlock.store .btnNext {
    top: 26%;
    right: -3.5%;
    width: 7.2%;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.relation .carouselWrap {
    padding: 0;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.relation .carouselOperation .btnPrev {
    left: -8%;
    width: 7%;
  }
  .subCarouselBlock.relation .carouselOperation .btnNext {
    right: -8%;
    width: 7%;
  }
}

.subCarouselBlock.character {
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.character .btnPrev {
    top: 35%;
    left: -8%;
  }
  .subCarouselBlock.character .btnNext {
    top: 35%;
    right: -8%;
  }
}

.subCarouselBlock.bnr {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.bnr {
    width: 880px;
  }
  .subCarouselBlock.bnr .carouselWrap {
    padding: 0 10px;
  }
  .subCarouselBlock.bnr .carouselBody {
    margin-left: -10px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.bnr .carouselWrap {
    padding: 0 7%;
  }
  .subCarouselBlock.bnr .carouselBody {
    overflow: hidden;
  }
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.bnr .carouselBox {
    width: 280px;
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.bnr .carouselBox {
    width: 1%;
  }
}

.subCarouselBlock.bnr .carouselBox .carouselImg {
  margin-bottom: 15px;
  width: 100%;
}

.subCarouselBlock.bnr .carouselBox .carouselImg img {
  left: 0;
  width: 100%;
  height: auto;
  display: block;
  border-radius: 7px;
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.bnr .carouselBox .carouselImg {
    height: auto;
    padding-bottom: 0;
  }
  .subCarouselBlock.bnr .carouselBox .carouselImg img {
    margin-left: 0;
  }
}

.subCarouselBlock.bnr .carouselBox .carouselTit {
  text-align: center;
}

@media screen and (min-width: 768px) {
  .subCarouselBlock.bnr .btnPrev {
    margin-top: 87px;
    left: -35px;
  }
  .subCarouselBlock.bnr .btnNext {
    margin-top: 87px;
    right: -35px;
  }
}

@media screen and (max-width: 767px) {
  .subCarouselBlock.bnr .btnPrev {
    top: 38%;
  }
  .subCarouselBlock.bnr .btnNext {
    top: 38%;
  }
}

#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: 30px 0 20px;
    background: #8ac4ee;
    background-size: 100% auto;
  }
}

#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;
    white-space: nowrap;
  }
}

@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;
  margin-top: 20px;

  /* 202008 add start */
  /* width: 240px; */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-left: -40px;
  /* 202008 add end */
}

/* 202008 add start */
#datingBlock .linkList::before,
#datingBlock .linkList::after {
  content: none;
}
/* 202008 add end */

#datingBlock .restriction {
	margin: 0 auto;
	width: 100%;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#datingBlock .restriction {
		width: 80%;
	}

}

#datingBlock .restriction a {
	display: inline;
}

@media screen and (max-width: 767px) {
  #datingBlock .linkList {
    padding-bottom: 4px;

    /* 202008 add start */
    margin-left: -20px;
    /* 202008 add end */
  }
}

@media screen and (min-width: 768px) {
  #datingBlock .linkList p {
    font-size: 2.0rem;

    /* 202008 add start */
    margin-left: 40px;
    /* 202008 add end */
  }
}

@media screen and (max-width: 767px) {
  #datingBlock .linkList p {
    font-size: 1.6rem;

    /* 202008 add start */
    margin-left: 20px;
    /* 202008 add end */
  }
}

/* 202008
#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;
  }
}

.tabLayoutBlock {
  position: relative;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock {
    margin: 25px -20px 0 -20px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock {
    margin: 0 -4%;
  }
}

.tabLayoutBlock .tabBody {
  position: relative;
  z-index: 3100;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .tabBody {
    margin-top: -7px;
    display: block;
    border-radius: 7px;
    padding: 27px 20px 20px 20px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .tabBody {
    margin-top: -5px;
    padding: 15px 10px 10px 10px;
  }
}

.tabLayoutBlock .tabBody .basicInfoBlock {
  margin-top: 15px;
}

.tabLayoutBlock .tabBody .basicInfoBlock th {
  width: 10%;
  text-align: center;
}

.tabLayoutBlock .tabBody .basicInfoBlock td {
  width: 90%;
}

.tabLayoutBlock .toggle {
  position: relative;
  z-index: 3200;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .toggle {
    margin: 0 78px;
  }
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .toggle.top {
    height: 91px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .toggle.top {
    height: 60px;
  }
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .toggle.bottom {
    bottom: 7px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .toggle.bottom {
    bottom: 5px;
  }
}

.tabLayoutBlock .toggle li {
  position: absolute;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .toggle li {
    width: 50%;
  }
}

.tabLayoutBlock .toggle li:after {
  content: "";
  position: absolute;
  width: 100%;
  left: 0;
}

.tabLayoutBlock .toggle li:first-child {
  text-align: right;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .toggle li:first-child {
    left: 78px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .toggle li:first-child {
    left: 0;
  }
}

.tabLayoutBlock .toggle li:last-child {
  text-align: left;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .toggle li:last-child {
    right: 78px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .toggle li:last-child {
    right: 0;
  }
}

.tabLayoutBlock .toggle li.active {
  z-index: 3100;
}

.tabLayoutBlock .toggle li h2 {
  margin: 0;
}

.tabLayoutBlock .toggle li img {
  cursor: pointer;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock .toggle li img {
    height: 91px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock .toggle li img {
    height: 60px;
    width: auto;
  }
}

.tabLayoutBlock .toggle li a:hover img {
  opacity: 1;
}

.tabLayoutBlock.pink .toggle.top li:after {
  bottom: 0;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock.pink .toggle.top li.blue::after {
    border-bottom: #f56e8a 7px solid;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock.pink .toggle.top li.blue::after {
    border-bottom: #f56e8a 5px solid;
  }
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock.pink .toggle.bottom li.blue::after {
    border-bottom: #f56e8a 7px solid;
    height: 7px;
    top: -7px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock.pink .toggle.bottom li.blue::after {
    border-bottom: #f56e8a 5px solid;
    height: 5px;
    top: -5px;
  }
}

.tabLayoutBlock.pink .tabBody {
  background-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock.pink .tabBody {
    border: #f56e8a 7px solid;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock.pink .tabBody {
    border-top: #f56e8a 5px solid;
    border-bottom: #f56e8a 5px solid;
  }
}

.tabLayoutBlock.pink .tabBody .basicInfoBlock th {
  color: #f68ca2;
  border-color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .floor_guide.tabLayoutBlock.pink .tabBody .basicInfoBlock th {
    padding: 5px 20px;
  }
  .floor_guide.tabLayoutBlock .tabBody .basicInfoBlock th img {
    width: 50px;
    height: 40px;
  }
}

@media screen and (max-width: 767px) {
  .floor_guide.tabLayoutBlock.pink .tabBody .basicInfoBlock th {
    padding: 0px;
  }
  .floor_guide.tabLayoutBlock .tabBody .basicInfoBlock th img {
    width: 25px;
    height: 20px;
    vertical-align: middle;
  }
}

.tabLayoutBlock.blue .toggle.top li:after {
  bottom: 0;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock.blue .toggle.top li.pink::after {
    border-bottom: #58a9e4 7px solid;
    bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock.blue .toggle.top li.pink::after {
    border-bottom: #58a9e4 5px solid;
    bottom: 0;
  }
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock.blue .toggle.bottom li.pink::after {
    border-bottom: #58a9e4 7px solid;
    height: 7px;
    top: -7px;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock.blue .toggle.bottom li.pink::after {
    border-bottom: #58a9e4 5px solid;
    height: 5px;
    top: -5px;
  }
}

.tabLayoutBlock.blue .tabBody {
  background-color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .tabLayoutBlock.blue .tabBody {
    border: #58a9e4 7px solid;
  }
}

@media screen and (max-width: 767px) {
  .tabLayoutBlock.blue .tabBody {
    border-top: #58a9e4 5px solid;
    border-bottom: #58a9e4 5px solid;
  }
}

.mfp-content {
  /*background: #f68ca2;
    opacity: 0.75;
    padding: 50px;*/
}

.mfp-content .modalBlock {
  background: #fff;
  min-height: 50px;
}

@media screen and (min-width: 768px) {
  .mfp-content .modalBlock {
    position: relative;
    width: 600px;
    margin: 0 auto;
    display: block;
    border-radius: 7px;
  }
}

.mfp-content .modalBlock .toggle {
  cursor: pointer;
  position: absolute;
  box-sizing: border-box;
  float: right;
  width: 50px;
  height: 50px;
  display: block;
  border-radius: 50px;
  background: #f68ca2;
  border: #fff 3px solid;
}

.mfp-content .modalBlock .toggle::before,
.mfp-content .modalBlock .toggle::after {
  display: block;
  position: absolute;
  content: "";
  background: #fff;
  top: 20px;
  left: 7px;
  width: 30px;
  height: 4px;
  display: block;
  border-radius: 7px;
}

.mfp-content .modalBlock .toggle::before {
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.mfp-content .modalBlock .toggle::after {
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

@media screen and (min-width: 768px) {
  .mfp-content .modalBlock .toggle {
    top: -20px;
    right: -20px;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .modalBlock .toggle {
    top: 0;
    right: 3.8%;
  }
}

@media screen and (min-width: 768px) {
  .mfp-content .modalContent {
    padding: 50px;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .modalContent {
    padding: 60px 3.8%;
  }
}

.mfp-content .modalContent .modalCarouselBlock {
  position: relative;
  box-shadow: 6px 6px 6px 0px rgba(0, 0, 0, 0.1);
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .mfp-content .modalContent .modalCarouselBlock {
    padding: 20px;
    border: #f68ca2 5px solid;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .modalContent .modalCarouselBlock {
    padding: 7%;
    border: #f68ca2 4px solid;
  }
}

.mfp-content .modalContent .modalCarouselBlock .carouselBody {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .mfp-content .modalContent .modalCarouselBlock .carouselBody .slick-dots {
    top: auto;
    bottom: -15%;
  }
}

@media screen and (min-width: 768px) {
  .mfp-content .modalContent .modalCarouselBlock .carouselBody .slick-dots {
    top: 342px;
  }
}

.mfp-content .modalContent .modalCarouselBlock .carouselBody .slick-dots li button {
  background-image: url("../img/icon_indicator_pink01.png");
}

.mfp-content .modalContent .modalCarouselBlock .carouselBody .slick-dots li.slick-active button {
  background-image: none;
}

.mfp-content .modalContent .modalCarouselBlock .carouselBody .slick-dots li.slick-active button:before {
  background-image: url("../img/icon_indicator_pink01_ct.png");
}

.mfp-content .modalContent .modalCarouselBlock + * {
  margin-top: 40px;
}

.mfp-content .modalContent .carouselImg img {
  width: 100%;
}

.mfp-content .modalContent .carouselOperation {
  position: absolute;
  width: 100%;
  z-index: 1030;
  top: 0;
  left: 0;
}

@media screen and (min-width: 768px) {
  .mfp-content .modalContent .carouselOperation .btnPrev {
    position: absolute;
    top: 165px;
    left: -20px;
    cursor: pointer;
  }
  .mfp-content .modalContent .carouselOperation .btnPrev img {
    width: 35px;
  }
  .mfp-content .modalContent .carouselOperation .btnNext {
    position: absolute;
    top: 165px;
    right: -20px;
    cursor: pointer;
  }
  .mfp-content .modalContent .carouselOperation .btnNext img {
    width: 35px;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .modalContent .carouselOperation {
    top: 45%;
  }
  .mfp-content .modalContent .carouselOperation .btnPrev {
    position: absolute;
    top: 0;
    left: -3%;
    width: 7%;
    cursor: pointer;
  }
  .mfp-content .modalContent .carouselOperation .btnNext {
    position: absolute;
    top: 0;
    right: -3%;
    width: 7%;
    cursor: pointer;
  }
}

.mfp-content a.textLink {
  color: #f68ca2;
  border-bottom: #f68ca2 2px solid;
}

@media screen and (min-width: 768px) {
  .mfp-content a.textLink:hover {
    color: #fcdde3;
    border-bottom: #fcdde3 2px solid;
  }
}

.mfp-content .title {
  margin-top: 20px;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .mfp-content .title {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .title {
    font-size: 2.0rem;
  }
}

.mfp-content .itemList {
  margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .mfp-content .itemList dl {
    display: table;
  }
}

.mfp-content .itemList dt {
  padding-right: 10px;
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .mfp-content .itemList dt {
    display: table-cell;
    vertical-align: text-top;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .itemList dt {
    float: left;
  }
}

@media screen and (min-width: 768px) {
  .mfp-content .itemList dd {
    display: table-cell;
    vertical-align: text-top;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .itemList dd {
    float: left;
  }
}

.mfp-content .itemList dl.emphasis dt,
.mfp-content .itemList dl.emphasis dd {
  display: block;
}

@media screen and (min-width: 768px) {
  .mfp-content .itemList strong {
    font-size: 2.0rem;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .itemList strong {
    font-size: 1.6rem;
  }
}

.mfp-content .iconList {
  margin-top: 20px;
}

.mfp-content .iconList li {
  background: #f68ca2;
}

.mfp-content .text {
  margin-top: 20px;
}

.mfp-content .text:first-child {
  margin-top: 0;
}

.mfp-content .annotation {
  margin-top: 20px;
}

.mfp-content a.textLink {
  display: inline-block;
  text-indent: 0;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .mfp-content a.textLink:hover {
    color: #fcdde3;
  }
}

.mfp-content .allergyTable {
  margin-top: 15px;
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .mfp-content .allergyTable {
    border: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .allergyTable {
    border: 2px solid #f68ca2;
  }
}

.mfp-content .allergyTable table {
  width: 100%;
}

.mfp-content .allergyTable table th {
  box-sizing: border-box;
  width: 25%;
}

.mfp-content .allergyTable table td {
  box-sizing: border-box;
  width: 25%;
  text-align: center;
}

.mfp-content .allergyTable table th {
  padding: 10px;
  text-align: left;
  background: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .mfp-content .allergyTable table th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .allergyTable table th {
    border-bottom: 2px solid #fff;
  }
}

.mfp-content .allergyTable table td {
  padding: 10px;
}

@media screen and (min-width: 768px) {
  .mfp-content .allergyTable table td {
    border-left: 3px solid #f68ca2;
    border-bottom: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .mfp-content .allergyTable table td {
    border-left: 2px solid #f68ca2;
    border-bottom: 2px solid #f68ca2;
  }
}

.mfp-content .allergyTable table tr:last-child th,
.mfp-content .allergyTable table tr:last-child td {
  border-bottom: none;
}

#questionModal {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
}

@media screen and (min-width: 768px) {
  #questionModal {
    min-height: 584px;
    padding-top: 90px;
  }
}

@media screen and (max-width: 767px) {
  #questionModal {
    min-height: 480px;
    padding: 20% 0 2% 0;
    overflow: auto;
  }
}

#questionModal #questionOverlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10000;
  background: #f68ca2;
  display: none;
  opacity: 0;
}

#questionModal .logo {
  position: absolute;
  z-index: 11000;
}

@media screen and (min-width: 768px) {
  #questionModal .logo {
    width: 810px;
    top: 0;
    left: 50%;
    margin-left: -405px;
    text-align: center;
  }
  #questionModal .logo img {
    margin: 0 auto;
    width: 324px;
  }
}

@media screen and (max-width: 767px) {
  #questionModal .logo {
    position: relative;
    margin: -14% 3% 1% 3%;
    top: 0;
  }
}

#questionModalBody {
  z-index: 11000;
}

@media screen and (min-width: 768px) {
  #questionModalBody {
    width: 860px;
    height: 494px;
    position: relative;
    top: 0;
    left: 50%;
    margin-left: -430px;
    padding-left: 25px;
    padding-right: 25px;
    background: url("/rs_v2/option/img/bg_content_pc.png") no-repeat 0 0;
  }
  #questionModalBody #questionHead {
    position: relative;
    text-align: center;
    top: -21px;
    margin-bottom: -21px;
  }
  #questionModalBody #questionHead .chara {
    position: absolute;
    top: 20px;
    left: 180px;
  }
  #questionModalBody #questionHead .forPClead {
    height: 61px;
    font-size: 2.0rem;
    line-height: 1.6;
  }
  #questionModalBody #questionHead .forSPlead {
    display: none;
  }
  #questionModalBody #targetSelect .forPCTarget {
    position: relative;
  }
  #questionModalBody #targetSelect .forPCTarget div {
    float: left;
  }
  #questionModalBody #targetSelect .forSPTarget {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #questionModalBody {
    position: relative;
    padding-bottom: 12%;
    background: url("/rs_v2/option/img/bg_content_sp.png") no-repeat 0 40%;
    background-size: 100% auto;
  }
  #questionModalBody #questionHead {
    position: relative;
    text-align: center;
  }
  #questionModalBody #questionHead h2 {
    margin: 0 13.2% -8% 13.2%;
  }
  #questionModalBody #questionHead .chara {
    position: absolute;
    width: 13%;
    top: 15%;
    left: 5%;
  }
  #questionModalBody #questionHead .forPClead {
    display: none;
  }
  #questionModalBody #questionHead .forSPlead {
    padding-top: 9%;
    font-size: 1.7rem;
  }
  #questionModalBody #targetSelect .forPCTarget {
    display: none;
  }
  #questionModalBody #targetSelect .forSPTarget {
    position: relative;
  }
  #questionModalBody #targetSelect .forSPTarget div {
    position: relative;
    width: 56%;
  }
  #questionModalBody #targetSelect .forSPTarget div img {
    position: relative;
    top: 0;
    left: 0;
  }
  #questionModalBody #targetSelect .forSPTarget div a {
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
    width: 85%;
    height: 85%;
  }
  #questionModalBody #targetSelect .forSPTarget .family {
    top: 0;
    left: 0;
  }
  #questionModalBody #targetSelect .forSPTarget .family a {
    top: 8%;
    left: 4%;
  }
  #questionModalBody #targetSelect .forSPTarget .couple {
    float: right;
    top: 0;
    margin-top: -30%;
  }
  #questionModalBody #targetSelect .forSPTarget .couple a {
    top: 8%;
    right: 4%;
  }
  #questionModalBody #targetSelect .forSPTarget .friends {
    float: left;
    top: 0;
    left: 1.6%;
    margin-top: -26.8%;
  }
  #questionModalBody #targetSelect .forSPTarget .friends a {
    top: 7%;
    left: 8%;
  }
}

#questionModalBody #targetSelect .skip {
  clear: both;
  text-align: center;
}

@media screen and (max-width: 767px) {
  #questionModalBody #targetSelect .skip {
    position: relative;
    top: -10px;
  }
}

#questionModalBody #targetSelect .skip p {
  display: inline-block;
  cursor: pointer;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  #questionModalBody #targetSelect .skip p {
    margin-top: 10px;
    font-size: 2.0rem;
  }
  #questionModalBody #targetSelect .skip p:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  #questionModalBody #targetSelect .skip p {
    font-size: 1.5rem;
  }
}

#vrModalBody {
  z-index: 11000;
}

@media screen and (min-width: 768px) {
  #questionModal .logo .vr {
    margin: 0 auto;
    width: 600px;
  }
  #vrModalBody {
    width: 860px;
    height: 494px;
    position: relative;
    top: 10px;
    left: 50%;
    margin-left: -430px;
    padding-left: 25px;
    padding-right: 25px;
    background: url("/rs_v2/option/img/vr_bg_content_pc.png") no-repeat 0 0;
  }
  #vrModalBody #questionHead {
    position: relative;
    text-align: center;
    top: -21px;
    margin-bottom: -21px;
  }
  #vrModalBody #questionHead .chara {
    position: absolute;
    top: 20px;
    left: 180px;
  }
  #vrModalBody #questionHead .forPClead {
    height: 61px;
    font-size: 2.0rem;
    line-height: 1.6;
    margin-top: -25px;
  }
  #vrModalBody #questionHead .forSPlead {
    display: none;
  }
  #vrModalBody #pageSelect .forPCTarget {
    position: relative;
  }
  #vrModalBody #pageSelect .forPCTarget .hp {
    position: absolute;
    left: 100px;
  }
  #vrModalBody #pageSelect .forPCTarget .vr {
    position: absolute;
    right: 120px;
  }
  #vrModalBody #pageSelect .forSPTarget {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  #vrModalBody {
    position: relative;
    padding-bottom: 20%;
    background: url("/rs_v2/option/img/vr_bg_content_sp.png") no-repeat 0 40%;
    background-size: 100% auto;
  }
  #vrModalBody #questionHead {
    position: relative;
    text-align: center;
  }
  #vrModalBody #questionHead h2 {
    margin: 0 0.2% -12% 0.2%;
  }
  #vrModalBody #questionHead .chara {
    position: absolute;
    width: 13%;
    top: 15%;
    left: 5%;
  }
  #vrModalBody #questionHead .forPClead {
    display: none;
  }
  #vrModalBody #questionHead .forSPlead {
    padding-top: 9%;
    font-size: 1.7rem;
  }
  #vrModalBody #pageSelect .forPCTarget {
    display: none;
  }
  #vrModalBody #pageSelect .forSPTarget {
    position: relative;
  }
  #vrModalBody #pageSelect .forSPTarget div {
    position: relative;
    width: 55%;
  }
  #vrModalBody #pageSelect .forSPTarget div img {
    position: relative;
    top: 0;
    left: 0;
  }
  #vrModalBody #pageSelect .forSPTarget div a {
    position: absolute;
    border-radius: 50%;
    overflow: hidden;
    width: 85%;
    height: 85%;
  }
  #vrModalBody #pageSelect .forSPTarget .hp {
    top: 15px;
    left: 1%;
  }
  #vrModalBody #pageSelect .forSPTarget .hp a {
    top: 8%;
    left: 4%;
  }
  #vrModalBody #pageSelect .forSPTarget .vr {
    top: 0;
    left: 45%;
    margin-top: -12%;
  }
  #vrModalBody #pageSelect .forSPTarget .vr a {
    top: 7%;
    left: 8%;
  }
}

#vrModalBody #pageSelect .skip {
  clear: both;
  text-align: center;
  position: relative;
  top: 300px;
}

@media screen and (max-width: 767px) {
  #vrModalBody #pageSelect .skip {
    top: 0px;
  }
}

#vrModalBody #pageSelect .skip p {
  display: inline-block;
  cursor: pointer;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  #vrModalBody #pageSelect .skip p {
    margin-top: 10px;
    font-size: 2.0rem;
  }
  #vrModalBody #pageSelect .skip p:hover {
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  #vrModalBody #pageSelect .skip p {
    font-size: 1.5rem;
  }
}

a.textLink {
  color: #fff;
  display: inline-block;
  text-indent: 0;
  text-decoration: underline !important;
  border-bottom: none !important;
}

@media screen and (max-width: 767px) {
  a.textLink {
    display: inline;
  }
}

.keyColorBG td a.leadLink {
  color: #fff;
  display: inline-block;
  text-indent: 0;
  text-decoration: underline !important;
  border-bottom: none !important;
}

.todaysRecommendBox a.leadLink {
  color: #8ac4ee;
  display: inline-block;
  text-indent: 0;
  text-decoration: underline !important;
  border-bottom: none !important;
}

a.forSPTelLink {
  display: inline;
  color: #fff;
}

.foundationColorBG a.forSPTelLink,
.keyColorBG .foundationColorBG a.forSPTelLink,
.keyColorBG .accordion a.forSPTelLink {
  color: #f68ca2;
}

.subColorBG .foundationColorBG a.forSPTelLink, #calendarBlock .foundationColorBG a.forSPTelLink {
  color: #8ac4ee;
}

@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: 15.5% 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: -6%;
  }
}

div.categoryName {
  position: relative;
}

@media screen and (min-width: 768px) {
  div.categoryName {
    top: -20px;
    margin-bottom: -70px;
    text-align: center;
  }
  div.categoryName.categoryTit {
    top: 0;
    margin-bottom: 0;
    padding-top: 0;
  }
}

@media screen and (max-width: 767px) {
  div.categoryName {
    margin-top: -3%;
    margin-bottom: -12%;
  }
  div.categoryName h1{
    width: 90%;
    margin: -15px auto;
  }
}

@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: 30%;
  }
}

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: -5%;
    width: 30%;
  }
}

@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: -10px;
  }
  .h1Adjust>h1.categoryName.notCarousel {
    margin-bottom: -20px;
  }
  .facilityTop>h1.categoryName.notCarousel {
    margin-bottom: -30px;
  }
}

@media screen and (min-width: 768px) {
  h1.categoryName.notCarousel + .subColorBG, h1.categoryName.notCarousel + #calendarBlock, .categoryName.categoryTit + .subColorBG {
    padding-top: 40px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.notCarousel + .subColorBG, h1.categoryName.notCarousel + #calendarBlock, .categoryName.categoryTit + .subColorBG {
    margin-top: 0;
    box-shadow: none;
  }
}

@media screen and (max-width: 767px) {
  .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: 18%;
  }
}

@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, .categoryName.categoryTit {
    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.parallelLine2 {
    margin-top: 60px;
    margin-bottom: -123px;
  }
  h1.categoryName.parallelLine2 img {
    margin-top: 0;
  }
  h1.categoryName.parallelLine2 + .keyColorBG,
  h1.categoryName.parallelLine2 + .subColorBG, h1.categoryName.parallelLine2 + #calendarBlock {
    padding-top: 70px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.parallelLine2 {
    margin-bottom: -45px;
    margin-top: 50px;
    margin-left: 3.8%;
  }
  h1.categoryName.parallelLine2 img {
    width: auto;
    height: 65px;
  }
}

h1.categoryName.parallelLine2 + .subColorBG, h1.categoryName.parallelLine2 + #calendarBlock {
  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: 40%;
  }
}

@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: -35px;
    left: 220px;
    z-index: 5000;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.schedule .icon {
    position: absolute;
    top: -79px;
    left: 00%;
    z-index: 5000;
    width: 112px;
    height: 90px;
  }
}

@media screen and (max-width: 767px) {
  h1.categoryName.schedule .icon img {
    width: 100px;
    height: 94px;
  }
}

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 {
  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;
  }
}

.basicTable, .headerTable {
  position: relative;
  margin-top: 15px;
}

.basicTable table, .headerTable table {
  border-collapse: separate;
  border-radius: 7px;
  width: 100%;
}

@media screen and (min-width: 768px) {
  .basicTable table, .headerTable table {
    border: 3px solid #fff;
  }
  .basicTable table th, .headerTable table th {
    width: 20%;
    font-size: 1.6rem;
  }
  .basicTable table td, .headerTable table td {
    width: 80%;
    font-size: 1.6rem;
  }
  .basicTable table th.half,
  .headerTable table th.half,
  .basicTable table td.half, .headerTable table td.half {
    width: 40%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table, .headerTable table {
    border: 2px solid #fff;
  }
  .basicTable table th, .headerTable table th {
    width: 42%;
  }
  .basicTable table td, .headerTable table td {
    width: 58%;
  }
  .basicTable table th.half,
  .headerTable table th.half,
  .basicTable table td.half, .headerTable table td.half {
    width: 28%;
  }
}

.basicTable table th, .headerTable table th {
  padding: 10px;
  text-align: left;
  background: #fff;
}

.basicTable table td, .headerTable table td {
  padding: 10px;
  color: #fff;
  word-break: break-all;
  overflow-wrap: break-word;
}

@media screen and (min-width: 768px) {
  .basicTable table td, .headerTable table td {
    border-left: 3px solid #fff;
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table td, .headerTable table td {
    border-left: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
}

.basicTable table td dl,
.headerTable table td dl,
.basicTable table td p, .headerTable table td p {
  margin-top: 10px;
}

.basicTable table td dl:first-child,
.headerTable table td dl:first-child,
.basicTable table td p:first-child, .headerTable table td p:first-child {
  margin-top: 0;
}

.basicTable table td:first-child, .headerTable table td:first-child {
  border-left: none !important;
}

.basicTable table tr:last-child th,
.headerTable table tr:last-child th,
.basicTable table tr:last-child td, .headerTable table tr:last-child td {
  border-bottom: none !important;
}

@media screen and (min-width: 768px) {
  .basicTable table th + th, .headerTable table th + th {
    border-left: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table th + th, .headerTable table th + th {
    border-left: 2px solid #f68ca2;
  }
}

.basicTable table .hasLeftBorder td:first-child,
.headerTable table .hasLeftBorder td:first-child,
.basicTable table .hasLeftBorder th:first-child, .headerTable table .hasLeftBorder th:first-child {
  border-left-style: solid !important;
}

@media screen and (min-width: 768px) {
  .basicTable table .hasLeftBorder td:first-child,
  .headerTable table .hasLeftBorder td:first-child,
  .basicTable table .hasLeftBorder th:first-child, .headerTable table .hasLeftBorder th:first-child {
    border-left-width: 3px !important;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table .hasLeftBorder td:first-child,
  .headerTable table .hasLeftBorder td:first-child,
  .basicTable table .hasLeftBorder th:first-child, .headerTable table .hasLeftBorder th:first-child {
    border-left-width: 2px !important;
  }
}

.basicTable table .borderBtmNon, .headerTable table .borderBtmNon {
  border-bottom: none !important;
}

.basicTable table .borderLeftNon,
.headerTable table .borderLeftNon,
.basicTable table .hasLeftBorder td.borderLeftNon,
.headerTable table .hasLeftBorder td.borderLeftNon,
.basicTable table .hasLeftBorder th.borderLeftNon, .headerTable table .hasLeftBorder th.borderLeftNon {
  border-left: none !important;
}

@media screen and (min-width: 768px) {
  .basicTable table.line:before,
  .headerTable table.line:before,
  .basicTable table.line:after, .headerTable table.line:after {
    content: "";
    display: table;
  }
  .basicTable table.line:after, .headerTable table.line:after {
    clear: both;
  }
  .basicTable table.line tr, .headerTable 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,
  .basicTable table.line tr:nth-last-child(2):nth-child(odd) td, .headerTable 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,
  .basicTable table.line tr:last-child td, .headerTable table.line tr:last-child td {
    border-bottom: none !important;
  }
  .basicTable table.line th,
  .headerTable table.line th,
  .basicTable table.line td, .headerTable table.line td {
    box-sizing: border-box;
    display: table-cell;
    vertical-align: middle;
  }
  .basicTable table.line th, .headerTable table.line th {
    width: 30%;
  }
  .basicTable table.line td, .headerTable table.line td {
    width: 70%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable table.line th,
  .headerTable table.line th,
  .basicTable table.line td, .headerTable table.line td {
    height: auto !important;
  }
  .basicTable table.line.itemOdd tr:last-child, .headerTable 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,
  .basicTable table.line.itemOdd tr:nth-last-child(2) td, .headerTable table.line.itemOdd tr:nth-last-child(2) td {
    border-bottom: none !important;
  }
}

@media screen and (min-width: 768px) {
  .basicTable.PCline, .PCline.headerTable {
    width: 49%;
    float: right;
  }
  .basicTable.PCline:first-child, .PCline.headerTable:first-child {
    float: left;
  }
}

.basicTable.gray table, .gray.headerTable table {
  border-color: #a0a0a0;
}

.basicTable.gray table th, .gray.headerTable table th {
  background: #a0a0a0;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .basicTable.gray table th, .gray.headerTable table th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.gray table th, .gray.headerTable table th {
    border-bottom: 2px solid #fff;
  }
}

.basicTable.gray table td, .gray.headerTable table td {
  border-color: #a0a0a0;
  color: #a0a0a0;
}

.basicTable.three th, .three.headerTable th {
  width: 25%;
}

.basicTable.three td, .three.headerTable td {
  width: 50%;
}

@media screen and (min-width: 768px) {
  .basicTable.four th, .four.headerTable th {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four th, .four.headerTable th {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four th:nth-child(1), .four.headerTable th:nth-child(1) {
    width: 20%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four th:nth-child(2), .four.headerTable th:nth-child(2) {
    width: 30%;
  }
}

@media screen and (min-width: 768px) {
  .basicTable.four td, .four.headerTable td {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.four td, .four.headerTable td {
    width: 25%;
  }
}

@media screen and (max-width: 767px) {
  .basicTable.couponTable table th,
  .couponTable.headerTable table th,
  .basicTable.couponTable table td, .couponTable.headerTable table td {
    padding: 10px 8px;
  }
  .basicTable.couponTable table th, .couponTable.headerTable table th {
    width: 34%;
  }
  .basicTable.couponTable table td.half, .couponTable.headerTable table td.half {
    width: 33%;
  }
}

@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 {
    border-bottom: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .basicTable th, .keyColorBG .headerTable th {
    border-bottom: 2px solid #f68ca2;
  }
}

.keyColorBG .basicTable th a, .keyColorBG .headerTable th a {
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .keyColorBG .basicTable th + th, .keyColorBG .headerTable th + th {
    border-left: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .basicTable th + th, .keyColorBG .headerTable th + th {
    border-left: 2px solid #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;
  }
}

.keyColorBG .foundationColorBG .basicTable table, .keyColorBG .foundationColorBG .headerTable table {
  border-color: #f68ca2;
}

.keyColorBG .foundationColorBG .basicTable th, .keyColorBG .foundationColorBG .headerTable th {
  background: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable th, .keyColorBG .foundationColorBG .headerTable th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG .basicTable th, .keyColorBG .foundationColorBG .headerTable th {
    border-bottom: 2px solid #fff;
  }
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable th + th, .keyColorBG .foundationColorBG .headerTable th + th {
    border-left: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .keyColorBG .foundationColorBG .basicTable th + th, .keyColorBG .foundationColorBG .headerTable th + th {
    border-left: 2px solid #fff;
  }
}

.keyColorBG .foundationColorBG .basicTable td, .keyColorBG .foundationColorBG .headerTable td {
  color: #f68ca2;
}

@media screen and (min-width: 768px) {
  .keyColorBG .foundationColorBG .basicTable td, .keyColorBG .foundationColorBG .headerTable 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 {
    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 {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .basicTable th, #calendarBlock .basicTable th, .subColorBG .headerTable th, #calendarBlock .headerTable th {
    border-bottom: 3px solid #8ac4ee;
  }
}

@media screen and (max-width: 767px) {
  .subColorBG .basicTable th, #calendarBlock .basicTable th, .subColorBG .headerTable th, #calendarBlock .headerTable 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 {
    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 {
    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;
}

.subColorBG .foundationColorBG .basicTable table, #calendarBlock .foundationColorBG .basicTable table, .subColorBG .foundationColorBG .headerTable table, #calendarBlock .foundationColorBG .headerTable table {
  border-color: #8ac4ee;
}

.subColorBG .foundationColorBG .basicTable table th, #calendarBlock .foundationColorBG .basicTable table th, .subColorBG .foundationColorBG .headerTable table th, #calendarBlock .foundationColorBG .headerTable 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 {
    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 {
    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 {
    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 {
    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 {
  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 {
    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 {
    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;
}

.subColorBG .itemDetailBox .itemContent a, #calendarBlock .itemDetailBox .itemContent a {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .itemDetailBox .itemContent a:hover, #calendarBlock .itemDetailBox .itemContent a:hover {
    text-decoration: underline;
  }
}

.subColorBG .itemDetailBox .itemMoreLink a, #calendarBlock .itemDetailBox .itemMoreLink a {
  color: #8ac4ee;
}

@media screen and (min-width: 768px) {
  .subColorBG .itemDetailBox .itemMoreLink a:hover, #calendarBlock .itemDetailBox .itemMoreLink a:hover {
    color: #dcedfa;
  }
}

@media screen and (max-width: 767px) {
  .forSPBnr + .keyColorBG,
  .forSPBnr + .subColorBG,
  .forSPBnr + #calendarBlock,
  .anchorLink + .keyColorBG,
  .anchorLink + .subColorBG, .anchorLink + #calendarBlock {
    margin-top: 30px;
  }
}

@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;
}

.keyColorBG p.text {
  color: #fff;
  text-align: center;
}

@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 table, .foundationColorBG .headerTable table {
    border: 3px solid #f68ca2;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG .basicTable table, .foundationColorBG .headerTable table {
    border: 2px solid #f68ca2;
  }
}

.foundationColorBG .basicTable th, .foundationColorBG .headerTable th {
  background: #f68ca2;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .foundationColorBG .basicTable th, .foundationColorBG .headerTable th {
    border-bottom: 3px solid #fff;
  }
}

@media screen and (max-width: 767px) {
  .foundationColorBG .basicTable th, .foundationColorBG .headerTable th {
    border-bottom: 2px solid #fff;
  }
}

.foundationColorBG .basicTable td, .foundationColorBG .headerTable 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(/common_v2/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 .itemPopup {
  outline: none;
}

.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.offshotArea .itemImg {
    padding-bottom: 100%;
  }
}

.itemDetailBox .itemImg img {
  display: block;
  border-radius: 7px;
  box-shadow: 0 6px 6px 0px rgba(0, 0, 0, 0.1);
}

.itemDetailBox .specialSiteImg {
  padding: 20px 20px 0;
}

.itemDetailBox .specialSiteImg img {
  display: block;
  border-radius: 7px;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .specialSiteImg img {
    width: 300px;
  }
  .itemDetailBox .specialSiteImg {
    padding: 20px 0 0;
  }
}

.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: "…";
}

.itemDetailBox .mainItemList dd {
  box-sizing: border-box;
  padding-left: 1rem;
  word-break: break-all;
  overflow-wrap: break-word;
}

@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-bottom: 15px;
  }
  .itemDetailBox.coupon .itemDetailBtn {
    margin: 0px auto;
    padding: 0;
    width: 130px;
  }
  .itemDetailBox.coupon .itemDetailBtn .couponNum {
    margin: 20px auto 10px;
  }
}

.itemDetailBox.coupon .itemDetailBtn .couponNum {
  width: 130px;
  background-color: #f68ca2;
  color: #fff;
  text-align: center;
  font-size: 2rem;
  margin-bottom: 10px;
}

.itemDetailBox .itemMoreLink {
  text-align: right;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .itemDetailBox .itemMoreLink {
    margin-top: -2em;
  }
}

@media screen and (max-width: 767px) {
  .itemDetailBox .itemMoreLink {
    font-size: 1.2rem;
  }
}

@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:before,
.itemDetailBox .itemList dl.emphasis:after {
  content: "";
  display: table;
}

.itemDetailBox .itemList dl.emphasis:after {
  clear: both;
}

.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 15px 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 .pickupArea {
    position: absolute;
    bottom: 30px;
    left: auto;
    right: 30px;
  }
  .itemDetailBox.side .pickupArea .itemDetailBtn {
    position: initial;
  }
  .itemDetailBox.side .itemDetailBtn {
    bottom: 30px;
    left: auto;
    right: 30px;
    padding: 0;
    width: 410px;
  }
  .itemDetailBox.coupon .itemDetailBtn {
    position: static;
    padding-top: 10px;
  }
}

@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);
  }
  .itemDetailBox.side .itemImg.characteristic {
    padding: 0;
    height: auto;
  }
  .itemDetailBox.side .itemImg.characteristic img {
    position: relative;
  }
}

@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 {
    position: static;
    width: 50%;
    float: left;
    overflow: hidden;
    box-shadow: none;
    display: block;
    border-radius: 7px;
    height: 0;
    padding-bottom: 50%;
  }
  .itemDetailBox.forSPSide .itemImg img {
    position: static;
    width: 134%;
    margin-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;
  box-shadow: none;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .row2 .itemDetailBox.side .itemImg {
    position: relative;
    width: 140px;
  }
  .row2 .itemDetailBox.side .itemImg img {
    position: relative;
    top: 0;
    left: -17%;
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .row2 .itemDetailBox.side .itemImg {
    width: 42.2%;
    position: static;
    height: 0;
    padding-bottom: 42.2%;
  }
  .row2 .itemDetailBox.side .itemImg img {
    position: static;
    width: 134%;
    margin-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;
}

@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 {
    position: relative;
  }
  .newInfoBox .infoImg img {
    position: relative;
    top: 0;
    left: -17%;
    width: 187px;
    height: 140px;
  }
}

@media screen and (max-width: 767px) {
  .newInfoBox .infoImg {
    height: 0;
    padding-bottom: 42.2%;
  }
  .newInfoBox .infoImg img {
    width: 134%;
    margin-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 (max-width: 767px) {
  .anchorLink ul li:only-child {
    border-top: 3px solid #f68ca2 !important;
    border-top-right-radius: 7px;
  }
}

@media screen and (min-width: 768px) {
  .anchorLink ul.full li {
    width: 160px;
  }
  .anchorLink ul.full li a {
    padding: 15px 10px;
  }
  .anchorLink ul.full li span {
    margin-left: 30px;
    text-align: left;
  }
  .anchorLink ul.full li span::before,
  .anchorLink ul.full li span::after {
    border-radius: 0;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.full li {
    display: block;
    width: 50%;
    overflow: hidden;
  }
}

@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;
    margin-top: 2%;
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third li:nth-child(1) {
  }
}

@media screen and (max-width: 767px) {
  .anchorLink ul.third a {
    display: block;
    padding: 10px 5px 10px 40px;
    text-align: left;
    color: #8ac4ee;
    border-radius: 7px;
  }
}

.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%;
  }
}

@media screen and (max-width: 767px) {
  .subInfo h2 {
    font-size: 2.0rem;
  }
}

.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,
  .foundationColorBox .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%;
  }
}

.containNames .carouselTit {
  text-align: center;
}

.characterBlock .carouselTit {
  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;
  }
}

.attractionBox .accordionBody .basicTable table, .attractionBox .accordionBody .headerTable table {
  border-color: #f68ca2;
}

.attractionBox .accordionBody .basicTable th, .attractionBox .accordionBody .headerTable th {
  background: #f68ca2;
  color: #fff;
  border-color: #fff;
}

.attractionBox .accordionBody .basicTable td, .attractionBox .accordionBody .headerTable td {
  color: #f68ca2;
  border-color: #f68ca2;
}

.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.foundationColorBG {
  border: none;
}

.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;
  }
}

.keyColorBG .recommendInfoBlock.foundationColorBG .carouselTit {
  color: #f68ca2;
}

.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;
  margin: 25px 0;
}

@media screen and (min-width: 768px) {
  .closedDay {
    display: table;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .closedDay {
    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;
}

@media screen and (min-width: 768px) {
  .characterList .charaImg {
    position: relative;
    margin-bottom: 15px;
  }
  .characterList .charaImg img {
    position: relative;
    top: 0;
    width: 158px;
    height: 140px;
    left: -6%;
  }
}

@media screen and (max-width: 767px) {
  .characterList .charaImg {
    height: 0;
    margin-bottom: 10px;
    padding-bottom: 100%;
  }
  .characterList .charaImg img {
    width: 120%;
    margin-left: -10%;
  }
}

.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;
}

@media screen and (max-width: 767px) {
  .campaignBG .foundationColorBG h3,
  .couponBG .foundationColorBG h3 {
    font-size: 2.0rem;
  }
}

.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;
  }
  .greetingHeadBlock .detail p img {
    width: 300px;
  }
}

@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) {
  .couponBox.row2 .itemDetailBox.side .itemImg img {
    width: auto;
    left: -12%;
  }
}

@media screen and (max-width: 767px) {
  .couponBox.row2 .itemDetailBox.side .itemImg img {
    position: static;
    width: 122%;
    margin-left: -11%;
  }
}

@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;
  }
}

.freeContent .basicTable th, .ruleContent .ruleBody .basicTable th, .freeContent .headerTable th, .ruleContent .ruleBody .headerTable th {
  color: #f68ca2;
}

.freeContent .accordion, .ruleContent .ruleBody .accordion {
  color: #f68ca2;
}

.timeTit,
.recommendTit {
  color: #fff;
}

@media screen and (min-width: 768px) {
  .timeTit,
  .recommendTit {
    font-size: 2rem;
    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: 1.8rem;
  }
}

@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;
  }
  .forPCMT50 {
    margin-top: 50px !important;
  }
  .forPCMR50 {
    margin-right: 50px !important;
  }
  .forPCMB50 {
    margin-bottom: 50px !important;
  }
  .forPCML50 {
    margin-left: 50px !important;
  }
  .forPCPT50 {
    padding-top: 50px !important;
  }
  .forPCPR50 {
    padding-right: 50px !important;
  }
  .forPCPB50 {
    padding-bottom: 50px !important;
  }
  .forPCPL50 {
    padding-left: 50px !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;
  }
  .forSPMT50 {
    margin-top: 50px !important;
  }
  .forSPMR50 {
    margin-right: 50px !important;
  }
  .forSPMB50 {
    margin-bottom: 50px !important;
  }
  .forSPML50 {
    margin-left: 50px !important;
  }
  .forSPPT50 {
    padding-top: 50px !important;
  }
  .forSPPR50 {
    padding-right: 50px !important;
  }
  .forSPPB50 {
    padding-bottom: 50px !important;
  }
  .forSPPL50 {
    padding-left: 50px !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: 1.0rem;
}

ul.plain li {
  padding-left: 1.4rem;
  text-indent: -1.4rem;
}

ul.num li,
ul.square li,
ul.disc li,
ul.alpha li {
  list-style-position: inside;
}

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 {
  margin-left: 0.6rem;
}

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: "•";
  display: table-cell;
  padding-right: 0.4em;
}

ul.alpha {
  margin-left: 0.6rem;
}

ul.alpha > li {
  list-style: lower-alpha;
}

@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: 0 !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 tr:last-child td:first-child {
  border-bottom-left-radius: 5px;
}

#calendarBlock .headerTable tr:last-child td:last-child {
  border-bottom-right-radius: 5px;
}

#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: 70px;
  }
}

#calendarBlock .headerTable .weekday {
  background-color: #e8f3fc;
}

#calendarBlock .headerTable .holiday {
  background-color: #fcdce3;
}

#calendarBlock .headerTable .closeday {
  background-color: #ececec;
}

#calendarBlock .headerTable .holiday span,
#calendarBlock .headerTable .holiday p {
  text-align: center;
  color: #f68ca2 !important;
}

#calendarBlock .headerTable .closeday span,
#calendarBlock .headerTable .closeday p {
  text-align: center;
  color: #b8b8b8 !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.event {
  margin-top: 0;
}

#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;
  }

  #calendarBlock .detail .icon p img.thanksparty {
    width: 42px;
  }
}

@media screen and (max-width: 767px) {
  #calendarBlock .detail .icon p img {
    width: 15px;
  }
  #calendarBlock .detail .icon p img.thanksparty {
    width: 33px;
  }
}

#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;
  }
}

.colorRed {
  color: #ff0000;
}

/*
 *
 * 202003 197 add
 *
 */
.mb0 {
  margin-bottom: 0 !important;
}

.mt20 {
  margin-top: 20px !important;
}

.tac {
  text-align: center !important;
}

a.colorDefault {
  color: #f68ca2 !important;
}

a.colorRed {
  color: #ff0000 !important;
}

hr.colorDefault {
  border: 1px solid #f68ca2;
}

.basicBtn.posCenter,
.subBtn.posCenter {
  margin-left: auto;
  margin-right: auto;
}

.subBtn.iconArrowRight {
  background-image: url(/common_v2/img/btn_next_blue01_on.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 26px auto;
}

.saleTicketArea .saleTicketItem {
  border: 3px solid #f68ca2;
  border-radius: 7px;
  box-sizing: border-box;
  padding: 15px;
}

.saleTicketArea .saleTicketItem .plain > li {
  margin-top: 1rem;
}

.saleTicketArea .saleTicketItem .plain > li:first-child {
  margin-top: 0;
}

.saleTicketArea .saleTicketItemTtl {
  display: inline-block;
  font-size: 1.8rem;
  margin-bottom: 15px;
}

.saleTicketArea .saleTicketItemLinks {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-left: -7.5px;
  margin-right: -7.5px;
}

.saleTicketArea .saleTicketItemLinks > * {
  margin-left: 7.5px;
  margin-right: 7.5px;
  margin-top: 15px;
  width: calc(50% - 15px);
}

.saleTicketArea .saleTicketItemLinks .basicBtn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-image: url(/common_v2/img/btn_next_pink01_off.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 26px auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  height: 100%;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 2.6% 18% 2.6% 5%;
  text-align: left;
}

.saleTicketArea .saleTicketItemLinks .pointBtn {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-image: url(/common_v2/img/btn_next_pink01_on.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 26px auto;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  height: 100%;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 2.6% 18% 2.6% 5%;
  text-align: left;
}

.puropass .h1Adjust section .sectionTtl {
  color: #fff;
  line-height: 1;
  margin-bottom: 15px;
  padding: 15px;
  text-align: center;
}

.puropass .modalTtl {
  border-radius: 0 0 7px 7px;
  color: #fff;
  line-height: 1;
  margin: -1px -1px 0;
  padding: 15px;
  text-align: center;
}

.puropass .mfp-content .modalContent {
  padding: 20px;
}

.puropass .mfp-content .modalContent > *:not(:last-child) {
  margin-bottom: 15px;
}

.puropass .mfp-content .modalContent .basicBtn {
  background-image: url(/common_v2/img/btn_next_pink01_off.png);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 26px auto;
}

.puropass .mfp-content .modalContent .modalContentRead {
  font-size: 1.6rem;
}

.puropass .mfp-bg {
  background-color: rgba(000, 000, 000, .5);
}

.puropass .modalBlock {
  border: 3px solid #f68ca2;
}

.puropass .mfp-content .modalBlock .toggle {
  height: 36px;
  right: 2px;
  top: 3px;
  width: 36px;
}

.puropass .mfp-content .modalBlock .toggle::before,
.puropass .mfp-content .modalBlock .toggle::after {
  height: 3px;
  left: 5px;
  top: 14px;
  width: 20px;
}

.puropass .h1Adjust section .sectionContent > *:not(:last-child) {
  margin-bottom: 15px;
}

.puropass .h1Adjust .notesWrap .sectionTtl {
  border-radius: 7px;
  color: #f68ca2;
  display: block;
  margin-top: 30px;
  padding-bottom: 0;
}

@media screen and (min-width: 768px) {
  .puropass .h1Adjust h1.categoryName.notCarousel img {
    height: auto;
    width: 700px;
  }

  .basicBtn.sizeMPc,
  .subBtn.sizeMPc {
    padding: 1.3%;
    width: 50%;
  }

  .saleTicketArea {
    display:-webkit-box;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -7.5px;
    margin-right: -7.5px;
  }

  .saleTicketArea .saleTicketItem {
    margin-left: 7.5px;
    margin-right: 7.5px;
    width: calc(50% - 15px);
  }

  .saleTicketArea a.saleTicketItemTtl:hover {
    text-decoration: underline;
  }
}

@media screen and (max-width: 767px) {
  .puropass .h1Adjust h1.categoryName.notCarousel {
    margin-top: 0;
  }

  .puropass .h1Adjust h1.categoryName.notCarousel img {
    height: auto;
    width: 100%;
  }

  .basicBtn.sizeLSSp,
  .subBtn.sizeLSSp {
    padding: 1.3%;
    width: 90%;
  }

  .puropass .h1Adjust section {
    padding-left: 3.8%;
    padding-right: 3.8%;
  }

  .puropass .h1Adjust section .sectionTtl {
    border-radius: 7px;
    box-shadow: none;
    margin-top: 20px;
  }

  .puropass .mfp-content {
    padding: 20px 0;
  }

  .puropass .modalBlock {
    border-radius: 7px;
  }

  .puropass .mfp-content .modalBlock .toggle {
    right: 5px;
    top: 26px;
  }

  .puropass .mfp-content .modalBlock .toggle::before,
  .puropass .mfp-content .modalBlock .toggle::after {
    left: 4.5px;
  }

  .puropass .modalTtl {
    box-shadow: none;
    padding: 15px 38px;
  }

  .puropass .mfp-content .modalContent .basicBtn {
    background-size: 19.5px auto;
  }

  .subBtn.iconArrowRight {
    background-size: 19.5px auto;
  }

  .saleTicketArea .saleTicketItem {
    padding: 4.113%;
  }

  .saleTicketArea .saleTicketItem:not(:last-child) {
    margin-bottom: 4.113%;
  }

  .saleTicketArea .saleTicketItemLinks > * {
    margin-left: 2.18%;
    margin-right: 2.18%;
    width: calc(50% - 4.36%);
  }

  .saleTicketArea .saleTicketItemLinks .basicBtn {
    background-size: 19.5px auto;
    padding: 2.6% 24% 2.6% 5%;
  }

  .saleTicketArea .saleTicketItemLinks .pointBtn {
    background-size: 19.5px auto;
    padding: 2.6% 24% 2.6% 5%;
  }
}

@media screen and (max-width: 320px) {
  .puropass .modalTtl {
    font-size: 15px;
  }
}

/* calendar update add 20220113 start */
#datingBlock .newCalendarLink {
  font-size: 1.5rem;
  margin-top: 20px;
  text-align: center;
}

#datingBlock .newCalendarLink a {
  color: #fff;
  display: inline;
  text-decoration: underline;
}

#datingBlock .newCalendarLink a:hover {
  text-decoration: none;
}

#calendarBlock .detail .newCalendarLink {
  clear: both;
  font-size: 1.5rem;
  padding-bottom: 10px;
  padding-top: 20px;
  text-align: center;
}

#calendarBlock .detail .newCalendarLink a {
  display: inline;
  text-decoration: underline;
}

#calendarBlock .detail .newCalendarLink a:hover {
  text-decoration: none;
}

.v2_calendar_top #datingBlock .calendarMessage {
  font-size: 1.2rem;
  line-height: 1.5;
  margin-top: 0;
  text-align: center;
}

.v2_calendar_top #calendarBlock .detail_inr {
  background: #fff;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgb(0 0 0 / 10%);
  padding: 18px 20px 24px;
}

.v2_calendar_top #calendarBlock .detail_inr h2 {
  margin-bottom: 18px;
}

.v2_calendar_top .detail_price {
  border: 3px solid #8ac4ee;
  border-collapse: separate;
  border-radius: 7px;
  font-size: 1.6rem;
  overflow: hidden;
  width: 100%;
}

.v2_calendar_top .detail_price th {
  background-color: #8ac4ee;
  color: #fff;
  line-height: 1.4;
  padding: 14px;
  width: 50%;
}

.v2_calendar_top .detail_price th + th {
  border-left: 3px solid #fff;
}

.v2_calendar_top .detail_price td {
  border-bottom: 3px solid #8ac4ee;
  padding: 12px;
  text-align: center;
  width: 25%;
}

.v2_calendar_top .detail_price tr:nth-child(2) td {
  color: #8ac4ee;
}

.v2_calendar_top .detail_price tr:last-child td {
  border-bottom: none;
}

.v2_calendar_top .detail_price td + td {
  border-left: 3px solid #8ac4ee;
}

.v2_calendar_top #calendarBlock .detail_inr .detail_desc {
  font-size: 1.6rem;
}

.v2_calendar_top #calendarBlock .detail_inr .detail_desc .notes {
  padding-left:1em;
  text-indent:-1em;
}

.v2_calendar_top #calendarBlock .detail_inr .detail_btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 -10px;
}

.v2_calendar_top #calendarBlock .detail_inr .detail_btns .btn {
  margin: 20px 10px 0;
}

.v2_calendar_top #calendarBlock .detail_inr .subBasicBtn {
  font-size: 1.8rem;
  line-height: 1;
  padding: 23px 20px;
}

.v2_calendar_top #calendarBlock .check_schedule {
  margin-top: 20px;
}

.v2_calendar_top #calendarBlock .check_schedule .check_schedule_inr {
  background: #fff;
  border-radius: 7px;
  box-shadow: 6px 6px 6px 0px rgb(0 0 0 / 10%);
  padding: 18px 20px 24px;
}

.v2_calendar_top #calendarBlock .check_schedule .check_schedule_inr p {
  font-size: 1.6rem;
}

.v2_calendar_top #calendarBlock .check_schedule .check_schedule_inr .subBasicBtn {
  font-size: 1.8rem;
  line-height: 1;
  padding: 23px 20px;
}

@media screen and (min-width: 768px) {
  .v2_calendar_top #datingBlock {
    padding-bottom: 28px;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG {
    background: #8ac4ee;
    box-shadow: none;
    padding: 0;
  }

  .v2_calendar_top .forPC {
    display: block;
  }

  .v2_calendar_top .forSP {
    display: none;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG .headerTable table {
    border: none;
    overflow: hidden;
  }

  .v2_calendar_top #calendarBlock .headerTable th,
  .v2_calendar_top #calendarBlock .headerTable td {
    width: 14.285714286%;
  }

  .v2_calendar_top #calendarBlock .headerTable th:first-child,
  .v2_calendar_top #calendarBlock .headerTable th:last-child,
  .v2_calendar_top #calendarBlock .headerTable td:first-child,
  .v2_calendar_top #calendarBlock .headerTable td:last-child {
    width: 14.285714286%;
  }

  .v2_calendar_top #calendarBlock .headerTable table tr:first-child th {
    padding: 4px;
  }

  .v2_calendar_top #calendarBlock .headerTable table tr:nth-child(2) td {
    border-top: 3px solid #fff !important;
  }

  .v2_calendar_top #calendarBlock .headerTable table td {
    padding: 0;
  }

  .v2_calendar_top #calendarBlock .headerTable table td > * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: 100%;
    min-height: 137px;
    padding: 10px;
  }

  .v2_calendar_top #calendarBlock .headerTable table td:first-child {
    border-left: 3px solid #fff !important;
  }

  .v2_calendar_top #calendarBlock .headerTable table td:last-child {
    border-right: 3px solid #fff;
  }

  .v2_calendar_top #calendarBlock .headerTable tr:last-child td:first-child {
    border-bottom-left-radius: 7px;
  }

  .v2_calendar_top #calendarBlock .headerTable tr:last-child td:last-child {
    border-bottom-right-radius: 7px;
  }

  .v2_calendar_top #calendarBlock .headerTable table tr:last-child th,
  .v2_calendar_top #calendarBlock .headerTable table tr:last-child td {
    border-bottom: 3px solid #fff !important;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG .headerTable table th {
    background: #fff;
    color: #8ac4ee;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG .headerTable table th + th {
    border-left-color: #8ac4ee;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG .headerTable table tr:first-child th {
    border-bottom: 6px solid #8ac4ee;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG .headerTable table td {
    border-bottom-color: #fff;
    border-left-color: #fff;
    border-right-color: #fff;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG .headerTable table td a .day {
    text-decoration: underline;
  }

  .v2_calendar_top #calendarBlock .headerTable .day {
    display: block;
    font-size: 2rem;
    line-height: 1;
  }

  .v2_calendar_top #calendarBlock .headerTable .price_set {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .v2_calendar_top #calendarBlock .headerTable .time {
    font-size: 1.4rem;
    line-height: 1;
    margin: 10px 0;
  }

  .v2_calendar_top #calendarBlock .headerTable .price_set + .price_set {
    margin-top: 2px;
  }

  .v2_calendar_top #calendarBlock .headerTable .price_set .price_category {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.2rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1.2;
    margin-right: 6px;
    min-width: 48px;
    padding: 3px;
    width: 48px;
  }

  .v2_calendar_top #calendarBlock .headerTable .price_set .price_num {
    font-size: 1.4rem;
  }

  .v2_calendar_top #calendarBlock .headerTable .price_set .price_num .price_unit {
    display: inline;
    font-size: 1rem;
    text-decoration: none;
  }
}

@media screen and (max-width: 767px) {
  .v2_calendar_top #datingBlock .calendarMessage {
    margin: 0 10.1vw;
    text-align: left;
  }

  .v2_calendar_top #calendarBlock .foundationColorBG {
    padding-bottom: 0;
  }

  .v2_calendar_top .forPC {
    display: none;
  }

  .v2_calendar_top .forSP {
    display: block;
  }

  .v2_calendar_top #calendarBlock .dateSet {
    border-radius: 7px;
    min-height: 78px;
    overflow: hidden;
    padding: 14px 35px 12px 14px;
  }

  .v2_calendar_top #calendarBlock a.dateSet {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    position: relative;
  }

  .v2_calendar_top #calendarBlock a.dateSet::before {
    border-top: 2px solid #8ac4ee;
    border-right: 2px solid #8ac4ee;
    content: '';
    height: 5px;
    position: absolute;
    right: 18px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 5px;
    z-index: 1;
  }

  .v2_calendar_top #calendarBlock a.dateSet::after {
    background: #fff;
    border-radius: 50%;
    content: '';
    height: 20px;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
  }

  .v2_calendar_top #calendarBlock .dateSet + .dateSet {
    margin-top: 6px;
  }

  .v2_calendar_top #calendarBlock .dateSet .dateTop {
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    line-height: 1;
  }

  .v2_calendar_top #calendarBlock .dateSet .day {
    font-size: 1.4rem;
  }

  .v2_calendar_top #calendarBlock .dateSet .day span {
    display: inline-block;
    font-size: 2.2rem;
    margin-right: 8px;
    text-align: center;
    width: 35px;
  }

  .v2_calendar_top #calendarBlock .dateSet .time {
    margin-left: 14px;
  }

  .v2_calendar_top #calendarBlock .dateSet .dateBottom {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 6px;
  }

  .v2_calendar_top #calendarBlock .dateSet .price_set {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .v2_calendar_top #calendarBlock .dateSet .price_set + .price_set {
    margin-left: 14px;
  }

  .v2_calendar_top #calendarBlock .dateSet .price_set .price_category {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #fff;
    border-radius: 4px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 1.2rem;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    line-height: 1;
    margin-right: 8px;
    min-width: 48px;
    padding: 4px 6px;
  }

  .v2_calendar_top #calendarBlock .dateSet .price_set .price_num {
    font-size: 1.4rem;
  }

  .v2_calendar_top #calendarBlock .dateSet .price_set .price_num .price_unit {
    display: inline;
    font-size: 1rem;
    text-decoration: none;
  }

  .v2_calendar_top #calendarBlock .detail {
    background-color: #8ac4ee;
    margin: 24px -3.8% 0;
    padding: 24px 3.8% 10px;
  }

  .v2_calendar_top #calendarBlock .detail_inr {
    background-color: #fff;
    box-shadow: none;
    padding: 18px 14px 24px;
  }

  .v2_calendar_top #calendarBlock .detail_inr h2 {
    margin-bottom: 10px;
  }

  .v2_calendar_top .detail_price {
    font-size: 1.2rem;
  }

  .v2_calendar_top .detail_price th {
    padding: 9px 3px;
  }

  .v2_calendar_top .detail_price td {
    padding: 6px;
  }

  .v2_calendar_top .detail_price tr:nth-child(2) td {
    line-height: 1.4;
    padding: 9px 3px;
  }

  .v2_calendar_top #calendarBlock .detail_inr .detail_desc {
    font-size: 1.4rem;
  }

  .v2_calendar_top #calendarBlock .detail_inr .detail_btns {
    display: block;
    margin: 0;
  }

  .v2_calendar_top #calendarBlock .detail_inr .detail_btns .btn {
    margin: 20px 0 0;
  }

  .v2_calendar_top #calendarBlock .detail_inr .subBasicBtn {
    font-size: 1.4rem;
    padding: 14px 10px;
  }

  .v2_calendar_top #calendarBlock .check_schedule {
    background-color: #8ac4ee;
    margin: 0 -3.8%;
    padding: 10px 3.8% 36px;
  }

  .v2_calendar_top #calendarBlock .check_schedule .check_schedule_inr {
    box-shadow: none;
    padding: 20px 14px 24px;
  }

  .v2_calendar_top #calendarBlock .check_schedule .check_schedule_inr p {
    font-size: 1.4rem;
  }

  .v2_calendar_top #calendarBlock .check_schedule .check_schedule_inr .subBasicBtn {
    font-size: 1.4rem;
    padding: 14px 10px;
  }

  .v2_calendar_top .fixedBottom {
    background-color: #fff;
    border-radius: 7px 7px 0 0;
    bottom: 0;
    box-shadow: 0px -6px 6px 0px rgb(0 0 0 / 10%);
    left: 0;
    overflow: hidden;
    position: fixed;
    width: 100%;
    z-index: 5000;
  }

  .v2_calendar_top .fixedBottom .accordionToggle {
    color: #8ac4ee;
    font-size: 2rem;
    padding: 6.5px 20px;
    text-align: center;
  }

  .v2_calendar_top .fixedBottom .accordionToggle::after {
    content: none;
  }

  .v2_calendar_top .fixedBottom .accordionToggle::before {
    background: transparent;
    border-top: 3px solid #8ac4ee;
    border-left: 3px solid #8ac4ee;
    border-radius: 0;
    height: 8px;
    margin-top: 2px;
    right: 20px;
    transform: rotate(45deg) translateY(-50%);
    top: 50%;
    width: 8px;
  }

  .v2_calendar_top .fixedBottom .accordionToggle.active::before {
    content: '';
    border-bottom: 3px solid #8ac4ee;
    border-left: none;
    border-right: 3px solid #8ac4ee;
    border-top: none;
    margin-top: -2px;
    transform: rotate(45deg) translateY(-50%);
  }

  .v2_calendar_top .fixedBottom .accordionBody {
    padding: 0 14px 14px;
  }

  .v2_calendar_top #footerArea {
    margin-bottom: 48px;
  }
}

@media screen and (max-width: 320px) {
  .v2_calendar_top #calendarBlock .dateSet {
    padding: 14px 14px 12px;
  }

  .v2_calendar_top #calendarBlock a.dateSet::before {
    height: 3px;
    right: 10px;
    width: 3px;
  }

  .v2_calendar_top #calendarBlock a.dateSet::after {
    height: 14px;
    right: 5px;
    width: 14px;
  }
}
/* calendar update add 20220113 end */
