@charset "UTF-8";
/*
  This mixin can be used to set the object-fit:
  @include object-fit(contain);

  or object-fit and object-position:
  @include object-fit(cover, top);
*/
/*! normalize.css v4.1.1 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 * 2. Add the correct display in IE.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  /* 1 */
  display: block;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Add the correct display in IE 10-.
 * 1. Add the correct display in IE.
 */
template,
[hidden] {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the bottom border in Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/* Forms
   ========================================================================== */
/**
 * 1. Change font properties to `inherit` in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
select,
textarea {
  font: inherit;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Restore the font weight unset by the previous rule.
 */
optgroup {
  font-weight: bold;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on OS X.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* ======================================== */
/* 基本設定 */
/* ======================================== */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
}

html {
  color: #000;
  font-size: 13px;
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

@media screen and (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

body {
  background: #dd2d81;
}

a {
  color: #fff;
  text-decoration: underline;
}

a:visited {
  color: inherit;
}

@media screen and (min-width: 768px) {
  a {
    -webkit-transition: color 200ms ease;
    -o-transition: color 200ms ease;
    transition: color 200ms ease;
  }
  body a:hover {
    color: #bbb;
    text-decoration: none;
  }
}

p {
  line-height: 1.6;
}

p:first-child {
  margin-top: 0;
}

p:last-child {
  margin-bottom: 0;
}

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

/* ======================================== */
/* フレーム */
/* ======================================== */
.l-frame {
  margin: 0 17px;
}

@media screen and (min-width: 768px) {
  .l-frame {
    max-width: 1020px;
    margin: 0 auto;
    padding: 0 30px;
  }
}

@media screen and (min-width: 768px) {
  .l-frame__wrap {
    padding: 0 40px;
  }
}

/* ======================================== */
/* ヘッダー */
/* ======================================== */
.l-header, .l-header--top {
  position: relative;
  height: 80px;
  background: #fff;
  z-index: 20;
}

@media screen and (min-width: 768px) {
  .l-header, .l-header--top {
    height: 120px;
  }
}

.l-header--top {
  height: 35px;
}

@media screen and (min-width: 768px) {
  .l-header--top {
    height: 62px;
  }
}

.l-header__logo, .l-header__copy {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  max-width: 163px;
  margin: 0;
  padding: 0 10px;
  text-align: center;
  line-height: 1;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.l-header__logo img, .l-header__copy img {
  width: 100%;
}

@media screen and (min-width: 768px) {
  .l-header__logo, .l-header__copy {
    max-width: 252px;
    padding-right: 30px;
    padding-left: 30px;
  }
}

.l-header__copy {
  max-width: 354px;
}

@media screen and (min-width: 768px) {
  .l-header__copy {
    max-width: 744px;
  }
}

@media screen and (min-width: 768px) {
  .l-header__pc-menu {
    position: fixed;
    right: 0;
    top: 0;
    max-width: 300px;
    margin: 139px 0 0;
    z-index: -1;
  }
  .l-header--top .l-header__pc-menu {
    position: absolute;
    margin-top: 195px;
  }
  .l-header--top .l-header__pc-menu.is-fixed {
    position: fixed;
    margin-top: 139px;
  }
  .l-header__pc-menu::after {
    content: "";
    position: fixed;
    top: 0;
    width: 100%;
    height: 100vh;
    background: rgba(255, 255, 255, 0.6);
    z-index: -1;
  }
}

@media screen and (min-width: 768px) {
  .l-header__pc-menu-list {
    margin: 0;
    padding: 0 20px;
    list-style: none;
    font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
    font-size: .75rem;
    font-weight: bold;
    color: #dd2d81;
    text-align: right;
  }
}

@media screen and (min-width: 768px) {
  .l-header__pc-menu-list-item, .l-header__pc-menu-list-item--disabled, .l-header__pc-menu-list-item--button {
    margin: 0 0 .8em;
  }
  .l-header__pc-menu-list-item:last-child, .l-header__pc-menu-list-item--disabled:last-child, .l-header__pc-menu-list-item--button:last-child {
    margin-bottom: 0;
  }
  .l-header__pc-menu-list-item a, .l-header__pc-menu-list-item--disabled a, .l-header__pc-menu-list-item--button a {
    display: block;
    color: #dd2d81;
    text-decoration: none;
  }
  .l-header__pc-menu-list-item a::after, .l-header__pc-menu-list-item--disabled a::after, .l-header__pc-menu-list-item--button a::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: -3px 0 0 4px;
    border-top: 1px solid;
    border-right: 1px solid;
    color: #dd2d81;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: color 200ms ease;
    -o-transition: color 200ms ease;
    transition: color 200ms ease;
  }
  .l-header__pc-menu-list-item a:hover, .l-header__pc-menu-list-item--disabled a:hover, .l-header__pc-menu-list-item--button a:hover {
    color: #e479ac;
  }
  .l-header__pc-menu-list-item a:hover::after, .l-header__pc-menu-list-item--disabled a:hover::after, .l-header__pc-menu-list-item--button a:hover::after {
    color: #e479ac;
  }
}

@media screen and (min-width: 768px) {
  .l-header__pc-menu-list-item--disabled::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin: -2px 0 0 4px;
    border-top: 1px solid;
    border-right: 1px solid;
    color: #dd2d81;
    vertical-align: middle;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    -webkit-transition: color 200ms ease;
    -o-transition: color 200ms ease;
    transition: color 200ms ease;
  }
}

@media screen and (min-width: 768px) {
  .l-header__pc-menu-list-item--button {
    display: inline-block;
    width: 170px;
    margin-right: calc(-.8em - 2px);
    font-size: .75rem;
  }
  .l-header__pc-menu-list-item--button a {
    display: block;
    padding: .6em .8em;
    border: 2px solid #dd2d81;
    border-radius: 9999px;
    background: #fff;
  }
  .l-header__pc-menu-list-item--button a::after {
    margin-top: -2px;
  }
}

.l-header__menu-button {
  position: fixed;
  right: 10px;
  top: 10px;
  margin: 0;
  z-index: 20;
}

.l-header--top .l-header__menu-button {
  position: absolute;
  top: 50px;
}

.l-header--top .l-header__menu-button.is-fixed {
  position: fixed;
  top: 10px;
}

.l-header__menu-button a {
  display: block;
  width: 60px;
  height: 60px;
  border: 1px solid #fff;
  border-radius: 50%;
  background: rgba(207, 25, 91, 0.8);
  color: #fff;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .l-header__menu-button {
    right: 16px;
    top: 24px;
  }
  .l-header__menu-button.is-fixed {
    top: 24px;
  }
  .l-header--top .l-header__menu-button {
    top: 80px;
  }
  .l-header--top .l-header__menu-button.is-fixed {
    top: 24px;
  }
  .l-header__menu-button a {
    width: 72px;
    height: 72px;
    border-width: 2px;
    -webkit-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
  }
  .l-header__menu-button a:hover {
    color: #fff;
    opacity: 0.7;
  }
}

.l-header__menu-line--1, .l-header__menu-line--2, .l-header__menu-line--3 {
  position: absolute;
  left: 50%;
  top: 14px;
  display: inline-block;
  width: 28px;
  height: 3px;
  background: #fff;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .l-header__menu-line--1, .l-header__menu-line--2, .l-header__menu-line--3 {
    top: 18px;
    width: 35px;
    height: 4px;
  }
}

.l-header__menu-line--2 {
  top: 22px;
}

@media screen and (min-width: 768px) {
  .l-header__menu-line--2 {
    top: 28px;
  }
}

.l-header__menu-line--3 {
  top: 30px;
}

@media screen and (min-width: 768px) {
  .l-header__menu-line--3 {
    top: 38px;
  }
}

.l-header__menu-text {
  position: absolute;
  left: 50%;
  bottom: 15%;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: .76923076rem;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (min-width: 768px) {
  .l-header__menu-text {
    font-size: .625rem;
  }
}

.l-header__menu-content {
  position: fixed;
  right: -90%;
  top: 0;
  width: 90%;
  height: 100vh;
  padding: 60px 20px 0;
  background: #fff;
  overflow: auto;
  z-index: 100;
  -webkit-overflow-scrolling: touch;
  -webkit-transition: right 400ms ease;
  -o-transition: right 400ms ease;
  transition: right 400ms ease;
}

.l-header__menu-content.is-opened {
  right: 0;
}

@media screen and (min-width: 768px) {
  .l-header__menu-content {
    right: -480px;
    width: 480px;
    padding: 90px 35px 0;
  }
}

.l-header__menu-button-close {
  position: absolute;
  right: 25px;
  top: 25px;
  margin-bottom: 0;
  text-indent: -9999px;
}

.l-header__menu-button-close a {
  position: relative;
  display: block;
  width: 27px;
  height: 27px;
  text-decoration: none;
}

.l-header__menu-button-close a::before, .l-header__menu-button-close a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-block;
  width: 36px;
  height: 3px;
  margin: -2px 0 0 -18px;
  border-radius: 9999px;
  background: #dd2d81;
}

.l-header__menu-button-close a::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.l-header__menu-button-close a::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .l-header__menu-button-close {
    right: 35px;
    top: 35px;
  }
  .l-header__menu-button-close a {
    width: 34px;
    height: 34px;
  }
  .l-header__menu-button-close a::before, .l-header__menu-button-close a::after {
    content: "";
    width: 44px;
    height: 5px;
    margin: -3px 0 0 -22px;
    -webkit-transition: background-color 200ms ease;
    -o-transition: background-color 200ms ease;
    transition: background-color 200ms ease;
  }
  .l-header__menu-button-close a:hover::before, .l-header__menu-button-close a:hover::after {
    background: #e479ac;
  }
}

.l-header__menu-list, .l-header__menu-list--second {
  margin: 0;
  padding: 0;
  list-style: none;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-weight: bold;
}

.l-header__menu-list--second {
  margin-left: 40px;
}

@media screen and (min-width: 768px) {
  .l-header__menu-list--second {
    margin-left: 50px;
  }
}

.l-header__menu-list-item, .l-header__menu-list-item--disabled {
  margin-bottom: 1.5em;
  line-height: 1.2;
  letter-spacing: .05em;
}

.l-header__menu-list--second .l-header__menu-list-item:first-child, .l-header__menu-list--second .l-header__menu-list-item--disabled:first-child {
  margin-top: 1.5em;
}

.l-header__menu-list-item a, .l-header__menu-list-item--disabled a {
  display: block;
  color: #dd2d81;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .l-header__menu-list-item, .l-header__menu-list-item--disabled {
    margin-bottom: 1.8em;
  }
  .l-header__menu-list--second .l-header__menu-list-item:first-child, .l-header__menu-list--second .l-header__menu-list-item--disabled:first-child {
    margin-top: 1.8em;
  }
  .l-header__menu-list-item a:hover, .l-header__menu-list-item--disabled a:hover {
    color: #e479ac;
  }
}

.l-header__menu-list-item--disabled {
  color: #dd2d81;
  opacity: .4;
}

.l-header__menu-title--en {
  position: relative;
  padding-left: 18px;
  font-size: 1.53846153rem;
}

.l-header__menu-title--en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  margin: -4px 0 0 -4px;
  display: inline-block;
  width: 9px;
  height: 9px;
  vertical-align: middle;
  border-top: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 50% 50%;
  -ms-transform-origin: 50% 50%;
  transform-origin: 50% 50%;
}

@media screen and (min-width: 768px) {
  .l-header__menu-title--en {
    padding-left: 22px;
    font-size: 1.5rem;
  }
  .l-header__menu-title--en::before {
    margin-top: -5px;
    margin-left: -5px;
    width: 11px;
    height: 11px;
  }
}

.l-header__menu-title--ja {
  position: relative;
  margin-left: 18px;
  padding-left: 10px;
  font-size: .84615384rem;
}

.l-header__menu-title--ja::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  display: inline-block;
  width: 5px;
  height: 1px;
  margin-top: -1px;
  background: #dd2d81;
}

.l-header__menu-list-item--disabled .l-header__menu-title--ja::before {
  opacity: .4;
}

@media screen and (min-width: 768px) {
  .l-header__menu-title--ja {
    margin-left: 22px;
    padding-left: 12px;
    font-size: .75rem;
  }
  .l-header__menu-title--ja::before {
    -webkit-transition: background-color 200ms ease;
    -o-transition: background-color 200ms ease;
    transition: background-color 200ms ease;
  }
  a:hover .l-header__menu-title--ja::before {
    background: #e479ac;
  }
}

.l-header__sns-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 50px 0 100px;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .l-header__sns-list {
    margin-top: 70px;
    margin-bottom: 70px;
  }
}

.l-header__sns-list-item {
  margin-right: 14px;
}

.l-header__sns-list-item:last-child {
  margin-right: 0;
}

.l-header__sns-list-item a {
  display: block;
  padding: 12px;
  background: #000;
  border-radius: 50%;
  line-height: 1;
}

.l-header__sns-list-item img {
  width: 16px;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .l-header__sns-list-item {
    margin-right: 12px;
  }
  .l-header__sns-list-item a {
    padding: 13px;
  }
  .l-header__sns-list-item a:hover img {
    opacity: 0.7;
  }
  .l-header__sns-list-item img {
    width: 20px;
    -webkit-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
  }
}

.l-header__overlay {
  position: fixed;
  left: 0;
  top: 0;
  display: none;
  width: 100%;
  height: 100vh;
  background: rgba(0, 0, 0, 0.6);
  z-index: 50;
}

/* ======================================== */
/* フッター */
/* ======================================== */
.l-footer {
  position: relative;
  margin-top: 90px;
  padding: 20px 0;
  background: #051924;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .l-footer {
    margin-top: 100px;
    padding-top: 10px;
    padding-bottom: 10px;
  }
}

.l-footer__sns-list {
  position: fixed;
  left: 10px;
  bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
  z-index: 10;
}

.l-footer__sns-list.is-absolute {
  position: absolute;
}

@media screen and (min-width: 768px) {
  .l-footer__sns-list {
    left: 15px;
    bottom: 30px;
  }
}

.l-footer__sns-list-item {
  margin-right: 14px;
}

.l-footer__sns-list-item:last-child {
  margin-right: 0;
}

.l-footer__sns-list-item a {
  display: block;
  padding: 12px;
  background: #000;
  border-radius: 50%;
  line-height: 1;
}

.l-footer__sns-list-item img {
  width: 16px;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .l-footer__sns-list-item {
    margin-right: 12px;
  }
  .l-footer__sns-list-item a {
    padding: 13px;
  }
  .l-footer__sns-list-item a:hover img {
    opacity: 0.7;
  }
  .l-footer__sns-list-item img {
    width: 20px;
    -webkit-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
  }
}

.l-footer__pagetop-button {
  position: fixed;
  right: 10px;
  bottom: 18px;
  display: none;
  margin-bottom: 0;
  z-index: 30;
}

.l-footer__pagetop-button.is-absolute {
  position: absolute;
}

.l-footer__pagetop-button a {
  position: relative;
  display: block;
  width: 37px;
  height: 27px;
}

@media screen and (min-width: 768px) {
  .l-footer__pagetop-button {
    right: 16px;
    bottom: 20px;
  }
  .l-footer__pagetop-button a {
    width: 43px;
    height: 31px;
    -webkit-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
  }
  .l-footer__pagetop-button a:hover {
    opacity: 0.7;
  }
}

.l-footer__pagetop-line--1::before, .l-footer__pagetop-line--2::before, .l-footer__pagetop-line--1::after, .l-footer__pagetop-line--2::after {
  content: "";
  position: absolute;
  top: 0;
  display: inline-block;
  width: 26px;
  height: 2px;
  border-radius: 9999px;
  background: #000;
}

.l-footer__pagetop-line--1::before, .l-footer__pagetop-line--2::before {
  left: 0;
  margin: 9px 0 0 -3px;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.l-footer__pagetop-line--1::after, .l-footer__pagetop-line--2::after {
  right: 0;
  margin: 9px -3px 0 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

@media screen and (min-width: 768px) {
  .l-footer__pagetop-line--1::before, .l-footer__pagetop-line--2::before, .l-footer__pagetop-line--1::after, .l-footer__pagetop-line--2::after {
    width: 31px;
    height: 3px;
  }
  .l-footer__pagetop-line--1::before, .l-footer__pagetop-line--2::before {
    margin: 10px 0 0 -4px;
  }
  .l-footer__pagetop-line--1::after, .l-footer__pagetop-line--2::after {
    margin: 10px -4px 0 0;
  }
}

.l-footer__pagetop-line--2::before {
  margin-top: 16px;
}

.l-footer__pagetop-line--2::after {
  margin-top: 16px;
}

@media screen and (min-width: 768px) {
  .l-footer__pagetop-line--2::before {
    margin-top: 20px;
  }
  .l-footer__pagetop-line--2::after {
    margin-top: 20px;
  }
}

@media screen and (min-width: 768px) {
  .l-footer__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.l-footer__logo-timeriver {
  margin-bottom: 15px;
  text-align: center;
}

.l-footer__logo-timeriver img {
  width: 98px;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .l-footer__logo-timeriver {
    width: 85px;
    margin: 0 20px 0 0;
  }
  .l-footer__logo-timeriver img {
    width: 100%;
  }
}

.l-footer__copyright {
  margin-top: 0;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: .76923076rem;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .l-footer__copyright {
    width: calc(100% - 105px);
    font-size: .75rem;
    text-align: right;
  }
}

/* ======================================== */
/* グリッドシステム */
/* ======================================== */
.c-row::after, .c-row--10::after, .c-row--reverse-10::after, .c-row--20::after, .c-row--reverse-20::after, .c-row--30::after, .c-row--reverse-30::after, .c-row--40::after, .c-row--reverse-40::after, .c-row--50::after, .c-row--reverse-50::after, .c-row--reverse::after {
  content: "";
  display: block;
  clear: both;
}

.c-row--10, .c-row--reverse-10 {
  margin-right: -5px;
  margin-left: -5px;
}

.c-row--20, .c-row--reverse-20 {
  margin-right: -10px;
  margin-left: -10px;
}

.c-row--30, .c-row--reverse-30 {
  margin-right: -15px;
  margin-left: -15px;
}

.c-row--40, .c-row--reverse-40 {
  margin-right: -20px;
  margin-left: -20px;
}

.c-row--50, .c-row--reverse-50 {
  margin-right: -25px;
  margin-left: -25px;
}

.c-col--1, .c-col--2, .c-col--3, .c-col--4, .c-col--5, .c-col--6, .c-col--7, .c-col--8, .c-col--9, .c-col--10, .c-col--11, .c-col--12 {
  position: relative;
  float: left;
  min-height: 1px;
}

[class*="c-row--reverse"] > .c-col--1, [class*="c-row--reverse"] > .c-col--2, [class*="c-row--reverse"] > .c-col--3, [class*="c-row--reverse"] > .c-col--4, [class*="c-row--reverse"] > .c-col--5, [class*="c-row--reverse"] > .c-col--6, [class*="c-row--reverse"] > .c-col--7, [class*="c-row--reverse"] > .c-col--8, [class*="c-row--reverse"] > .c-col--9, [class*="c-row--reverse"] > .c-col--10, [class*="c-row--reverse"] > .c-col--11, [class*="c-row--reverse"] > .c-col--12 {
  float: right;
}

.c-col--1 {
  width: 8.33333%;
}

.c-col--2 {
  width: 16.66667%;
}

.c-col--3 {
  width: 25%;
}

.c-col--4 {
  width: 33.33333%;
}

.c-col--5 {
  width: 41.66667%;
}

.c-col--6 {
  width: 50%;
}

.c-col--7 {
  width: 58.33333%;
}

.c-col--8 {
  width: 66.66667%;
}

.c-col--9 {
  width: 75%;
}

.c-col--10 {
  width: 83.33333%;
}

.c-col--11 {
  width: 91.66667%;
}

.c-col--12 {
  width: 100%;
}

.c-row--10 > .c-col--1, .c-row--reverse-10 > .c-col--1, .c-row--10 > .c-col--2, .c-row--reverse-10 > .c-col--2, .c-row--10 > .c-col--3, .c-row--reverse-10 > .c-col--3, .c-row--10 > .c-col--4, .c-row--reverse-10 > .c-col--4, .c-row--10 > .c-col--5, .c-row--reverse-10 > .c-col--5, .c-row--10 > .c-col--6, .c-row--reverse-10 > .c-col--6, .c-row--10 > .c-col--7, .c-row--reverse-10 > .c-col--7, .c-row--10 > .c-col--8, .c-row--reverse-10 > .c-col--8, .c-row--10 > .c-col--9, .c-row--reverse-10 > .c-col--9, .c-row--10 > .c-col--10, .c-row--reverse-10 > .c-col--10, .c-row--10 > .c-col--11, .c-row--reverse-10 > .c-col--11, .c-row--10 > .c-col--12, .c-row--reverse-10 > .c-col--12 {
  padding-right: 5px;
  padding-left: 5px;
}

.c-row--20 > .c-col--1, .c-row--reverse-20 > .c-col--1, .c-row--20 > .c-col--2, .c-row--reverse-20 > .c-col--2, .c-row--20 > .c-col--3, .c-row--reverse-20 > .c-col--3, .c-row--20 > .c-col--4, .c-row--reverse-20 > .c-col--4, .c-row--20 > .c-col--5, .c-row--reverse-20 > .c-col--5, .c-row--20 > .c-col--6, .c-row--reverse-20 > .c-col--6, .c-row--20 > .c-col--7, .c-row--reverse-20 > .c-col--7, .c-row--20 > .c-col--8, .c-row--reverse-20 > .c-col--8, .c-row--20 > .c-col--9, .c-row--reverse-20 > .c-col--9, .c-row--20 > .c-col--10, .c-row--reverse-20 > .c-col--10, .c-row--20 > .c-col--11, .c-row--reverse-20 > .c-col--11, .c-row--20 > .c-col--12, .c-row--reverse-20 > .c-col--12 {
  padding-right: 10px;
  padding-left: 10px;
}

.c-row--30 > .c-col--1, .c-row--reverse-30 > .c-col--1, .c-row--30 > .c-col--2, .c-row--reverse-30 > .c-col--2, .c-row--30 > .c-col--3, .c-row--reverse-30 > .c-col--3, .c-row--30 > .c-col--4, .c-row--reverse-30 > .c-col--4, .c-row--30 > .c-col--5, .c-row--reverse-30 > .c-col--5, .c-row--30 > .c-col--6, .c-row--reverse-30 > .c-col--6, .c-row--30 > .c-col--7, .c-row--reverse-30 > .c-col--7, .c-row--30 > .c-col--8, .c-row--reverse-30 > .c-col--8, .c-row--30 > .c-col--9, .c-row--reverse-30 > .c-col--9, .c-row--30 > .c-col--10, .c-row--reverse-30 > .c-col--10, .c-row--30 > .c-col--11, .c-row--reverse-30 > .c-col--11, .c-row--30 > .c-col--12, .c-row--reverse-30 > .c-col--12 {
  padding-right: 15px;
  padding-left: 15px;
}

.c-row--40 > .c-col--1, .c-row--reverse-40 > .c-col--1, .c-row--40 > .c-col--2, .c-row--reverse-40 > .c-col--2, .c-row--40 > .c-col--3, .c-row--reverse-40 > .c-col--3, .c-row--40 > .c-col--4, .c-row--reverse-40 > .c-col--4, .c-row--40 > .c-col--5, .c-row--reverse-40 > .c-col--5, .c-row--40 > .c-col--6, .c-row--reverse-40 > .c-col--6, .c-row--40 > .c-col--7, .c-row--reverse-40 > .c-col--7, .c-row--40 > .c-col--8, .c-row--reverse-40 > .c-col--8, .c-row--40 > .c-col--9, .c-row--reverse-40 > .c-col--9, .c-row--40 > .c-col--10, .c-row--reverse-40 > .c-col--10, .c-row--40 > .c-col--11, .c-row--reverse-40 > .c-col--11, .c-row--40 > .c-col--12, .c-row--reverse-40 > .c-col--12 {
  padding-right: 20px;
  padding-left: 20px;
}

.c-row--50 > .c-col--1, .c-row--reverse-50 > .c-col--1, .c-row--50 > .c-col--2, .c-row--reverse-50 > .c-col--2, .c-row--50 > .c-col--3, .c-row--reverse-50 > .c-col--3, .c-row--50 > .c-col--4, .c-row--reverse-50 > .c-col--4, .c-row--50 > .c-col--5, .c-row--reverse-50 > .c-col--5, .c-row--50 > .c-col--6, .c-row--reverse-50 > .c-col--6, .c-row--50 > .c-col--7, .c-row--reverse-50 > .c-col--7, .c-row--50 > .c-col--8, .c-row--reverse-50 > .c-col--8, .c-row--50 > .c-col--9, .c-row--reverse-50 > .c-col--9, .c-row--50 > .c-col--10, .c-row--reverse-50 > .c-col--10, .c-row--50 > .c-col--11, .c-row--reverse-50 > .c-col--11, .c-row--50 > .c-col--12, .c-row--reverse-50 > .c-col--12 {
  padding-right: 25px;
  padding-left: 25px;
}

table col[class*="c-col--"] {
  position: static;
  display: table-column;
  float: none;
}

table td[class*="c-col--"],
table th[class*="c-col--"] {
  position: static;
  display: table-cell;
  float: none;
}

.c-col-break {
  width: 100%;
  clear: both;
}

/* ======================================== */
/* 汎用パーツ */
/* ======================================== */
.p-page-title {
  margin: 0;
  padding: 1.2em 0;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-weight: normal;
  color: #fff;
  text-align: center;
  line-height: 1.2;
}

@media screen and (min-width: 768px) {
  .p-page-title {
    padding-top: 2.5em;
    padding-bottom: 2.5em;
    background: url(../img/bg_page-title_01_pc.png) no-repeat center center/714px auto;
  }
}

.p-page-title__en {
  position: relative;
  display: inline-block;
  padding: 0 28px;
  font-size: 2.30769230rem;
  letter-spacing: .1em;
}

.p-page-title__en::before, .p-page-title__en::after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 16px;
  height: 2px;
  margin-top: -1px;
  background: #fff;
}

.p-page-title__en::before {
  left: 0;
}

.p-page-title__en::after {
  right: 0;
}

@media screen and (min-width: 768px) {
  .p-page-title__en {
    padding-right: 35px;
    padding-left: 35px;
    font-size: 2.25rem;
  }
  .p-page-title__en::before, .p-page-title__en::after {
    width: 20px;
  }
}

.p-page-title__ja {
  display: block;
  margin-top: .5em;
  font-size: .92307692rem;
  letter-spacing: .25em;
}

@media screen and (min-width: 768px) {
  .p-page-title__ja {
    font-size: 1rem;
  }
}

.p-content-title {
  position: relative;
  margin: 1.2em 0;
  padding: 0 .5em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.46153846rem;
  font-weight: normal;
  color: #040404;
  line-height: 1.2;
}

.p-content-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: .1em;
  display: inline-block;
  width: 100%;
  height: 5px;
  background: rgba(0, 0, 0, 0.15);
}

@media screen and (min-width: 768px) {
  .p-content-title {
    font-size: 1.5rem;
  }
  .p-content-title::after {
    content: "";
    height: 6px;
  }
}

.p-section {
  margin-bottom: 35px;
}

@media screen and (min-width: 768px) {
  .p-section {
    margin-bottom: 80px;
  }
}

.p-modal__wrapper {
  position: relative;
}

.p-modal__close {
  position: absolute;
  right: 0;
  top: -35px;
  margin-bottom: 0;
  text-indent: -9999px;
}

.p-modal__close a {
  position: relative;
  display: block;
  width: 25px;
  height: 25px;
  text-decoration: none;
}

.p-modal__close a::before, .p-modal__close a::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  display: inline-block;
  width: 35px;
  height: 1px;
  margin: -1px 0 0 -18px;
  background: #fff;
}

.p-modal__close a::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.p-modal__close a::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

@media screen and (min-width: 768px) {
  .p-modal__close {
    top: -42px;
  }
  .p-modal__close a {
    width: 32px;
    height: 32px;
  }
  .p-modal__close a::before, .p-modal__close a::after {
    content: "";
    width: 44px;
    margin: -1px 0 0 -22px;
    -webkit-transition: background-color 200ms ease;
    -o-transition: background-color 200ms ease;
    transition: background-color 200ms ease;
  }
  .p-modal__close a:hover::before, .p-modal__close a:hover::after {
    background: #ccc;
  }
}

.p-modal__content {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.p-modal__content::after {
  content: "";
  display: block;
  padding-bottom: 56.25%;
}

.p-modal__content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ======================================== */
/* トップページ */
/* ======================================== */
.p-header-top {
  margin: 0;
  padding: .3em 0;
  background: #24acfa;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-weight: bold;
  font-size: .92307692rem;
  color: #fff;
  text-align: center;
}

@media screen and (max-width: 399px) {
  .p-header-top {
    font-size: 3.2vw;
  }
}

@media screen and (min-width: 768px) {
  .p-header-top {
    font-size: 1.125rem;
  }
}

.p-mainvisual {
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 768px) {
  .p-mainvisual {
    min-height: 450px;
  }
}

.p-mainvisual__image {
  height: 100%;
}

.p-mainvisual__image img {
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: top;
  object-position: top;
  font-family: "object-fit: cover; object-position: top";
  width: 100%;
  height: 100%;
}

.p-mainvisual__logo {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
}

.p-mainvisual__logo img {
  width: 100%;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-mainvisual__logo {
    left: -7%;
    bottom: auto;
    top: 50%;
    width: 716px;
    -webkit-transform: translate(10%, -36%);
    -ms-transform: translate(10%, -36%);
    transform: translate(10%, -36%);
  }
}

@media screen and (min-width: 768px) and (min-width: 1020px) {
  .p-mainvisual__logo {
    left: 50%;
    -webkit-transform: translate(-70%, -36%);
    -ms-transform: translate(-70%, -36%);
    transform: translate(-70%, -36%);
  }
}

.p-mainvisual__text {
  position: absolute;
  left: 6%;
  top: 12%;
  margin: 0;
}

.p-mainvisual__text img {
  width: 61px;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-mainvisual__text {
    left: 50%;
    -webkit-transform: translateX(-360%);
    -ms-transform: translateX(-360%);
    transform: translateX(-360%);
  }
  .p-mainvisual__text img {
    width: 102px;
  }
}

@media screen and (min-width: 768px) and (min-width: 1020px) {
  .p-mainvisual__text {
    -webkit-transform: translateX(-450%);
    -ms-transform: translateX(-450%);
    transform: translateX(-450%);
  }
}

.p-mainvisual__onlineshop-button {
  position: absolute;
  right: 15px;
  top: 35%;
  width: 100px;
  height: 100px;
  margin: 0;
  font-size: .76923076rem;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-weight: bold;
  text-align: center;
}

.p-mainvisual__onlineshop-button a {
  display: block;
  height: 100%;
  border-radius: 50%;
  background: #af2fc6;
  color: #fff;
  text-decoration: none;
}

.p-mainvisual__onlineshop-button a::before, .p-mainvisual__onlineshop-button a::after {
  content: "";
  position: absolute;
  left: 50%;
  display: inline-block;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-mainvisual__onlineshop-button a::before {
  bottom: 15px;
  width: 14px;
  height: 14px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.p-mainvisual__onlineshop-button a::after {
  bottom: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2px 0 2px 5px;
  border-color: transparent transparent transparent #fff;
}

@media screen and (min-width: 768px) {
  .p-mainvisual__onlineshop-button {
    right: 330px;
    width: 124px;
    height: 124px;
    font-size: .75rem;
  }
  .p-mainvisual__onlineshop-button a {
    -webkit-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
  }
  .p-mainvisual__onlineshop-button a::before {
    bottom: 20px;
    width: 18px;
    height: 18px;
    border-width: 1px;
  }
  .p-mainvisual__onlineshop-button a::after {
    bottom: 27px;
    border-width: 2px 0 2px 5px;
  }
  .p-mainvisual__onlineshop-button a:hover {
    color: #fff;
    opacity: 0.7;
  }
}

.p-mainvisual__onlineshop-button-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}





.p-mainvisual__onlinedelivery-button {
  position: absolute;
  right: 15px;
  top: 15%;
  width: 100px;
  height: 100px;
  margin: 0;
  font-size: .76923076rem;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-weight: bold;
  text-align: center;
}

.p-mainvisual__onlinedelivery-button a {
  display: block;
  height: 100%;
  border-radius: 50%;
  background: #dd2d81;
  color: #fff;
  text-decoration: none;
}

.p-mainvisual__onlinedelivery-button a::before, .p-mainvisual__onlinedelivery-button a::after {
  content: "";
  position: absolute;
  left: 50%;
  display: inline-block;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
}

.p-mainvisual__onlinedelivery-button a::before {
  bottom: 15px;
  width: 14px;
  height: 14px;
  border: 1px solid #fff;
  border-radius: 50%;
}

.p-mainvisual__onlinedelivery-button a::after {
  bottom: 20px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 2px 0 2px 5px;
  border-color: transparent transparent transparent #fff;
}

@media screen and (min-width: 768px) {
  .p-mainvisual__onlinedelivery-button {
    top: 10%;
    right: 330px;
    width: 124px;
    height: 124px;
    font-size: .75rem;
  }
  .p-mainvisual__onlinedelivery-button a {
    -webkit-transition: opacity 200ms ease;
    -o-transition: opacity 200ms ease;
    transition: opacity 200ms ease;
  }
  .p-mainvisual__onlinedelivery-button a::before {
    bottom: 20px;
    width: 18px;
    height: 18px;
    border-width: 1px;
  }
  .p-mainvisual__onlinedelivery-button a::after {
    bottom: 27px;
    border-width: 2px 0 2px 5px;
  }
  .p-mainvisual__onlinedelivery-button a:hover {
    color: #fff;
    opacity: 0.7;
  }
}

.p-mainvisual__onlinedelivery-button-inner {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}



.p-index-award {
  padding: 30px 0;
  background: #dd2d81;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-index-award {
    padding-right: 40px;
    padding-left: 40px;
  }
}

.p-index-award__heading {
  margin: 0 0 .8em;
  font-size: 2.125rem;
  font-weight: normal;
  letter-spacing: .4em;
}

@media screen and (min-width: 768px) {
  .p-index-award__heading {
    margin: 0 0 .8em;
  }
}

.p-index-award__sub-heading {
  display: inline-block;
  margin: 0 0 1.2em;
  padding: .2em 1.5em;
  background: #000;
  font-size: 1.15384615rem;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-index-award__sub-heading {
    font-size: 1.125rem;
  }
}

.p-index-award__text {
  margin: 0;
}

.p-index-trailer {
  padding: 60px 8px;
  background: #e76ca8;
}

@media screen and (min-width: 768px) {
  .p-index-trailer {
    padding-right: 0;
    padding-left: 0;
  }
}

.p-index-trailer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .p-index-trailer-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-index-trailer-list__item {
  margin-bottom: 50px;
}

.p-index-trailer-list__item:last-child {
  margin-bottom: 0;
}

.p-index-trailer-list__item a {
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .p-index-trailer-list__item {
    margin: 0 60px 0 0;
  }
  .p-index-trailer-list__item:last-child {
    margin-right: 0;
  }
}

.p-index-trailer-list__image {
  margin-bottom: 0;
}

.p-index-trailer-list__image img {
  width: 100%;
  vertical-align: middle;
}

.p-index-trailer-list__title {
  margin-top: 0;
  padding: .3em 1em;
  background: #fff;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.53846153rem;
  font-weight: bold;
  color: #dd2d81;
  text-align: center;
}

a .p-index-trailer-list__title {
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media screen and (min-width: 768px) {
  .p-index-trailer-list__title {
    font-size: 1.125rem;
  }
  a:hover .p-index-trailer-list__title {
    color: #e479ac;
  }
}

.p-index-column-block {
  padding: 50px 8px;
}

@media screen and (min-width: 768px) {
  .p-index-column-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 70px 30px 120px;
  }
}

.p-index-column-box--banner, .p-index-column-box--twitter {
  margin-bottom: 50px;
}

.p-index-column-box--banner:last-child, .p-index-column-box--twitter:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-index-column-box--banner, .p-index-column-box--twitter {
    width: calc((100% - 58px) / 2);
    margin-bottom: 0;
  }
}

.p-index-column-box--banner img {
  width: 100%;
  vertical-align: middle;
}

.p-index-column-box--twitter {
  height: 300px;
  overflow: scroll;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}

@media screen and (min-width: 768px) {
  .p-index-column-box--twitter {
    position: relative;
    height: auto;
    overflow: auto;
  }
  .p-index-column-box--twitter::after {
    content: "";
    display: block;
    padding-bottom: 60.47619047%;
  }
  .p-index-column-box--twitter iframe {
    position: absolute !important;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
  }
}

.p-index-theater {
  padding: 30px 0;
  background: #fff;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  text-align: center;
}

@media screen and (min-width: 768px) {
  .p-index-theater {
    padding-right: 40px;
    padding-left: 40px;
  }
}

.p-index-theater__heading {
  margin: 0 0 .8em;
  font-size: 2.125rem;
  font-weight: normal;
  letter-spacing: .4em;
}

@media screen and (min-width: 768px) {
  .p-index-theater__heading {
    margin: 0 0 .8em;
  }
}

.p-index-theater__sub-heading {
  display: inline-block;
  margin: 0 0 1.2em;
  padding: .2em 1.5em;
  background: #000;
  font-size: 1.15384615rem;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .p-index-theater__sub-heading {
    font-size: 1.125rem;
  }
}

.p-index-theater__text {
  margin: 0;
}

.p-index-cast {
  padding-top: 100px;
  text-align: center;
}

.p-index-cast__heading {
  margin: 0 0 .6em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.84615384rem;
  font-weight: normal;
  line-height: 1.3;
  letter-spacing: .4em;
}

@media screen and (min-width: 768px) {
  .p-index-cast__heading {
    font-size: 2.125rem;
  }
}

.p-index-cast__image img {
  width: 100%;
  vertical-align: middle;
}

.p-index-cast__text--1, .p-index-cast__text--2, .p-index-cast__text--3, .p-index-cast__text--4 {
  margin: 1.3em 0 0 !important;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  color: #fff;
  line-height: 1.8;
  letter-spacing: .1em;
}

.p-index-cast__text--1 {
  font-size: 1.84615384rem;
}

@media screen and (min-width: 768px) {
  .p-index-cast__text--1 {
    font-size: 1.75rem;
  }
}

.p-index-cast__text--2 {
  font-size: 1.38461538rem;
}

@media screen and (min-width: 768px) {
  .p-index-cast__text--2 {
    font-size: 1.25rem;
  }
}

.p-index-cast__text--3 {
  font-size: 1.07692307rem;
}

@media screen and (min-width: 768px) {
  .p-index-cast__text--3 {
    max-width: 820px;
    margin-right: auto !important;
    margin-left: auto !important;
    font-size: 1rem;
  }
}

.p-index-cast__text--4 {
  margin-top: 3em !important;
  font-size: .92307692rem;
  color: #000;
  letter-spacing: normal;
}

@media screen and (min-width: 768px) {
  .p-index-cast__text--4 {
    font-size: .75rem;
  }
}

.p-index-cast__text-title {
  margin-right: 1em;
  font-size: 1.07692307rem;
}

@media screen and (min-width: 768px) {
  .p-index-cast__text-title {
    font-size: 1rem;
  }
}

.p-index-cast__text-wrap--1, .p-index-cast__text-wrap--2 {
  display: inline-block;
}

.p-index-cast__text-wrap--1 {
  margin: 0 .5em;
}

/* ======================================== */
/* 新着情報ページ */
/* ======================================== */
.p-news-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-news-list__item {
  margin: 0 0 20px;
  padding: 20px;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .p-news-list__item {
    margin: 0 0 15px;
    padding: 40px;
  }
}

.p-news-list__title {
  margin: 0 0 1em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.38461538rem;
}

@media screen and (min-width: 768px) {
  .p-news-list__title {
    font-size: 1.25;
  }
}

.p-news-list__date {
  margin: 0 0 2em;
  font-size: 1.07692307rem;
  font-weight: bold;
  color: #999;
}

@media screen and (min-width: 768px) {
  .p-news-list__date {
    font-size: .875em;
  }
}

.p-news-list__content {
  font-size: 1.07692307rem;
  line-height: 2;
}

.p-news-list__content p {
  line-height: 2;
}

.p-news-list__content a {
  color: #dd2d81;
}

@media screen and (min-width: 768px) {
  .p-news-list__content {
    font-size: .875em;
  }
  .p-news-list__content a:hover {
    color: #e479ac;
  }
}

/* ======================================== */
/* 劇場情報ページ */
/* ======================================== */
.p-table-schedule-wrap {
  padding: 40px 17px;
  background: #fff;
}

@media screen and (min-width: 768px) {
  .p-table-schedule-wrap {
    max-width: 1020px;
    margin: 0 auto;
    padding: 55px 30px;
  }
}

.p-table-schedule {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.p-table-schedule th,
.p-table-schedule td {
  text-align: left;
  vertical-align: top;
}

.p-table-schedule th {
  padding: .3em .5em;
  background: #000;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  color: #fff;
}

.p-table-schedule td {
  padding: .8em .5em;
  word-wrap: break-word;
}

.p-table-schedule tbody tr:nth-child(even) {
  background: #fceff5;
}

.p-table-schedule a {
  color: #cf195b;
}

@media screen and (min-width: 768px) {
  .p-table-schedule th {
    padding: .8em 1.5em;
  }
  .p-table-schedule td {
    padding: 2em 1.5em;
  }
}

.p-table-schedule__column1 {
  width: 19%;
}

@media screen and (min-width: 768px) {
  .p-table-schedule__column1 {
    width: 17%;
  }
}

.p-table-schedule__column2 {
  width: 27%;
}

@media screen and (min-width: 768px) {
  .p-table-schedule__column2 {
    width: 31%;
  }
}

.p-table-schedule__column3 {
  width: 23%;
}

@media screen and (min-width: 768px) {
  .p-table-schedule__column3 {
    width: 23%;
  }
}

.p-table-schedule__column4 {
  width: 17%;
}

@media screen and (min-width: 768px) {
  .p-table-schedule__column4 {
    width: 17%;
  }
}

.p-table-schedule__column5 {
  width: 14%;
}

@media screen and (min-width: 768px) {
  .p-table-schedule__column5 {
    width: 12%;
  }
}

.p-table-schedule__tel-link {
  color: #000 !important;
  text-decoration: none;
}

@media screen and (min-width: 768px) {
  .p-table-schedule__tel-link {
    pointer-events: none;
    cursor: text;
  }
}

/* ======================================== */
/* アバウトページ */
/* ======================================== */
.p-about-introduction__copy {
  margin-bottom: 1em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.61538461rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .p-about-introduction__copy {
    margin-top: 1.8em !important;
    font-size: 1.625rem;
    line-height: 1.8;
  }
}

.p-about-introduction__text {
  color: #fff;
  line-height: 1.8;
}

.p-about-introduction__imagebox {
  position: relative;
  margin-top: 35px;
}

@media screen and (min-width: 768px) {
  .p-about-introduction__imagebox {
    margin-top: 0;
  }
}

.p-about-introduction__imagebox-image {
  margin-bottom: 0;
}

.p-about-introduction__imagebox-image img {
  vertical-align: middle;
}

.p-about-introduction__textarea {
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (min-width: 768px) {
  .p-about-introduction__textarea {
    top: 20%;
  }
}

.p-about-introduction__textarea-text {
  margin-bottom: 2em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.07692307rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.8;
}

.p-about-introduction__textarea-text:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-about-introduction__textarea-text {
    font-size: 1.5rem;
  }
}

.p-about-introduction__text {
  color: #fff;
}

.p-about-introduction__image {
  margin-top: 30px;
}

.p-about-introduction__image img {
  width: 100%;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-about-introduction__image {
    margin-top: 60px;
  }
}

.p-about-cast__block {
  margin-bottom: 25px;
  padding: 20px 10px;
  background: #fff;
}

.p-about-cast__block:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-about-cast__block {
    margin-bottom: 30px;
    padding: 40px 28px;
  }
}

.p-about-cast__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 25px;
}

@media screen and (min-width: 768px) {
  .p-about-cast__heading {
    margin-bottom: 40px;
  }
}

.p-about-cast__heading-image {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 96px;
  margin: 0 12px 0 0;
}

.p-about-cast__heading-image img {
  vertical-align: middle;
}

.p-about-cast__heading-data {
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  line-height: 1.2;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .p-about-cast__heading-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-about-cast__heading-title {
  margin: 0 0 .5em;
  font-weight: bold;
  color: #dd2d81;
}

@media screen and (min-width: 768px) {
  .p-about-cast__heading-title {
    margin: 0 2em 0 0;
  }
}

.p-about-cast__heading-name-ja {
  margin: 0;
  font-size: 2em;
  font-weight: normal;
}

@media screen and (min-width: 768px) {
  .p-about-cast__heading-name-ja {
    margin: 0 .5em 0 0;
    font-size: 2.25em;
  }
}

.p-about-cast__heading-name-en {
  margin: 0;
  font-size: 1.07692307rem;
}

@media screen and (min-width: 768px) {
  .p-about-cast__heading-name-en {
    font-size: .875em;
  }
}

.p-about-cast__content {
  padding: 0 5px;
}

@media screen and (min-width: 768px) {
  .p-about-cast__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-about-cast__content-image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 255px;
    margin: 0 40px 0 0;
  }
}

.p-about-cast__content-text {
  margin-top: 0;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-about-cast__content-text {
    font-size: .875em;
  }
}

.p-about-cast__filmography {
  margin-top: 1.5em;
  padding: 1.5em 5px 0;
  border-top: 1px solid #dd2d81;
}

@media screen and (min-width: 768px) {
  .p-about-cast__filmography {
    padding-right: 0;
    padding-left: 0;
    border-top-width: 2px;
    font-size: .875rem;
  }
}

.p-about-cast__filmography-heading {
  margin: 0;
  line-height: 1.8;
}

.p-about-cast__filmography-text {
  margin: 0;
  line-height: 1.8;
}

.p-about-cast__filmography-text-inner {
  display: inline-block;
  margin-left: 1em;
}

/* ======================================== */
/* DVDページ */
/* ======================================== */
.p-dvd-introduction__copy {
  margin-bottom: 1em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.61538461rem;
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .p-dvd-introduction__copy {
    margin-top: 1.8em !important;
    font-size: 1.625rem;
    line-height: 1.8;
  }
}

.p-dvd-introduction__text {
  color: #fff;
  line-height: 1.8;
}

.p-dvd-introduction__imagebox {
  position: relative;
  margin-top: 35px;
}

@media screen and (min-width: 768px) {
  .p-dvd-introduction__imagebox {
    margin-top: 0;
  }
}

.p-dvd-introduction__imagebox-image {
  margin-bottom: 0;
}

.p-dvd-introduction__imagebox-image img {
  vertical-align: middle;
}

.p-dvd-introduction__textarea {
  position: absolute;
  left: 0;
  top: 0;
}

@media screen and (min-width: 768px) {
  .p-dvd-introduction__textarea {
    top: 20%;
  }
}

.p-dvd-introduction__textarea-text {
  margin-bottom: 2em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.07692307rem;
  font-weight: bold;
  color: #fffd;
  line-height: 1.8;
}

.p-dvd-introduction__textarea-text:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-dvd-introduction__textarea-text {
    font-size: 1.5rem;
  }
}

.p-dvd-introduction__text {
  color: #fff;
}

.p-dvd-introduction__image {
  margin-top: 30px;
}

.p-dvd-introduction__image img {
  width: 100%;
  vertical-align: middle;
}

@media screen and (min-width: 768px) {
  .p-dvd-introduction__image {
    margin-top: 60px;
  }
}

.p-dvd-cast__block {
  margin-bottom: 25px;
  padding: 20px 10px;
  background: #000;
}

.p-dvd-cast__block:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__block {
    margin-bottom: 30px;
    padding: 40px 28px;
  }
}

.p-dvd-cast__heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 25px;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__heading {
    margin-bottom: 40px;
  }
}

.p-dvd-cast__heading-image {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 96px;
  margin: 0 12px 0 0;
}

.p-dvd-cast__heading-image img {
  vertical-align: middle;
}

.p-dvd-cast__heading-data {
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  line-height: 1.2;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__heading-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }
}

.p-dvd-cast__heading-title {
  margin: 0 0 .5em;
  font-weight: bold;
  color: #dd2d81;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__heading-title {
    margin: 0 2em 0 0;
  }
}

.p-dvd-cast__heading-name-ja {
  margin: 0;
  font-size: 2em;
  font-weight: normal;
    color:#fff;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__heading-name-ja {
    margin: 0 .5em 0 0;
    font-size: 2.25em;
        color:#fff;
  }
}

.p-dvd-cast__heading-name-en {
  margin: 0;
  font-size: 1.07692307rem;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__heading-name-en {
    font-size: .875em;
  }
}

.p-dvd-cast__content {
  padding: 0 5px;
      color:#fff;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
      color:#fff;
  }
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__content-image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 255px;
    margin: 0 40px 0 0;
  }
}

.p-dvd-cast__content-text {
  margin-top: 0;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__content-text {
    font-size: .875em;
  }
}

.p-dvd-cast__filmography {
  margin-top: 1.5em;
  padding: 1.5em 5px 0;
  border-top: 1px solid #dd2d81;
      color:#fff;
}

@media screen and (min-width: 768px) {
  .p-dvd-cast__filmography {
    padding-right: 0;
    padding-left: 0;
    border-top-width: 2px;
    font-size: .875rem;
  color:#fff;
  }
}

.p-dvd-cast__filmography-heading {
  margin: 0;
  line-height: 1.8;
  }

.p-dvd-cast__filmography-text {
  margin: 10;
  line-height: 1.8;
  font-size: 1.1rem;
}
  
.p-dvd-cast__filmography-text-inner {
  display: inline-block;
  margin-left: 1em;
}
}

/* ======================================== */
/* コメントページ */
/* ======================================== */
.p-comment-block {
  position: relative;
  padding: 0 10px;
  background: rgba(255, 255, 255, 0.8);
}

.p-comment-block::before, .p-comment-block::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
}

.p-comment-block::before {
  left: 0;
  top: 0;
  border-width: 25px 25px 0 0;
  border-color: #dd2d81 transparent transparent transparent;
}

.p-comment-block::after {
  right: 0;
  bottom: 0;
  border-width: 0 0 25px 25px;
  border-color: transparent transparent #dd2d81 transparent;
}

@media screen and (min-width: 768px) {
  .p-comment-block {
    padding-right: 25px;
    padding-left: 25px;
  }
  .p-comment-block::before {
    border-width: 35px 35px 0 0;
  }
  .p-comment-block::after {
    border-width: 0 0 35px 35px;
  }
}

.p-comment-block__box {
  padding: 30px 5px;
  border-bottom: 1px solid #dd2d81;
}

.p-comment-block__box:first-child::before, .p-comment-block__box:first-child::after {
  content: "";
  position: absolute;
  display: inline-block;
  width: 46px;
  height: 1px;
  background: rgba(255, 255, 255, 0.8);
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
  z-index: 1;
}

.p-comment-block__box:first-child::before {
  left: 0;
  top: 0;
  margin: 12px 0 0 -11px;
}

.p-comment-block__box:first-child::after {
  right: 0;
  bottom: 0;
  margin: 0 -11px 12px 0;
}

.p-comment-block__box:last-child {
  border-bottom: none;
}

@media screen and (min-width: 768px) {
  .p-comment-block__box {
    padding-top: 50px;
    padding-bottom: 50px;
    border-bottom-width: 2px;
  }
  .p-comment-block__box:first-child::before, .p-comment-block__box:first-child::after {
    width: 70px;
  }
  .p-comment-block__box:first-child::before {
    margin-top: 17px;
    margin-left: -18px;
  }
  .p-comment-block__box:first-child::after {
    margin-right: -18px;
    margin-bottom: 17px;
  }
}

.p-comment-block__title {
  margin: 0 0 1.5em;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.23076923rem;
  letter-spacing: .1em;
}

@media screen and (min-width: 768px) {
  .p-comment-block__title {
    font-size: 1.375rem;
  }
}

.p-comment-block__text {
  font-size: 1.07692307rem;
  line-height: 1.8;
}

@media screen and (min-width: 768px) {
  .p-comment-block__text {
    font-size: 1.125rem;
  }
}

/* ======================================== */
/* トレーラーページ */
/* ======================================== */
.p-trailer-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .p-trailer-list {
    max-width: 420px;
    margin: 0 auto;
  }
}

.p-trailer-list__item {
  margin-bottom: 50px;
}

.p-trailer-list__item:last-child {
  margin-bottom: 0;
}

.p-trailer-list__item a {
  text-decoration: none;
}

.p-trailer-list__image {
  margin-bottom: 0;
}

.p-trailer-list__image img {
  width: 100%;
  vertical-align: middle;
}

.p-trailer-list__title {
  margin-top: 0;
  padding: .3em 1em;
  background: #fff;
  font-family: "Hiragino Mincho ProN", 游明朝, "Yu Mincho", YuMincho, "Noto Serif JP", serif;
  font-size: 1.53846153rem;
  font-weight: bold;
  color: #dd2d81;
  text-align: center;
}

a .p-trailer-list__title {
  -webkit-transition: color 200ms ease;
  -o-transition: color 200ms ease;
  transition: color 200ms ease;
}

@media screen and (min-width: 768px) {
  .p-trailer-list__title {
    padding-top: .8em;
    padding-bottom: .8em;
    font-size: 1.125rem;
  }
  a:hover .p-trailer-list__title {
    color: #e479ac;
  }
}

/* ======================================== */
/* メディアクエリ切替 */
/* ======================================== */
.p-media-queries {
  display: none;
  font-family: 'sp';
}

@media screen and (min-width: 768px) {
  .p-media-queries {
    font-family: 'pc';
  }
}

/* ======================================== */
/* 画面幅による表示切替 */
/* ======================================== */
@media screen and (min-width: 768px) {
  .u-sp-only {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc-only {
    display: none !important;
  }
}

/* ======================================== */
/* マージン */
/* ======================================== */
.u-mt-0 {
  margin-top: 0px !important;
}

.u-mr-0 {
  margin-right: 0px !important;
}

.u-mb-0 {
  margin-bottom: 0px !important;
}

.u-ml-0 {
  margin-left: 0px !important;
}

.u-mt-10 {
  margin-top: 10px !important;
}

.u-mr-10 {
  margin-right: 10px !important;
}

.u-mb-10 {
  margin-bottom: 10px !important;
}

.u-ml-10 {
  margin-left: 10px !important;
}

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

.u-mr-20 {
  margin-right: 20px !important;
}

.u-mb-20 {
  margin-bottom: 20px !important;
}

.u-ml-20 {
  margin-left: 20px !important;
}

.u-mt-30 {
  margin-top: 30px !important;
}

.u-mr-30 {
  margin-right: 30px !important;
}

.u-mb-30 {
  margin-bottom: 30px !important;
}

.u-ml-30 {
  margin-left: 30px !important;
}

.u-mt-40 {
  margin-top: 40px !important;
}

.u-mr-40 {
  margin-right: 40px !important;
}

.u-mb-40 {
  margin-bottom: 40px !important;
}

.u-ml-40 {
  margin-left: 40px !important;
}

.u-mt-50 {
  margin-top: 50px !important;
}

.u-mr-50 {
  margin-right: 50px !important;
}

.u-mb-50 {
  margin-bottom: 50px !important;
}

.u-ml-50 {
  margin-left: 50px !important;
}

.u-mt-60 {
  margin-top: 60px !important;
}

.u-mr-60 {
  margin-right: 60px !important;
}

.u-mb-60 {
  margin-bottom: 60px !important;
}

.u-ml-60 {
  margin-left: 60px !important;
}

.u-mt-70 {
  margin-top: 70px !important;
}

.u-mr-70 {
  margin-right: 70px !important;
}

.u-mb-70 {
  margin-bottom: 70px !important;
}

.u-ml-70 {
  margin-left: 70px !important;
}

.u-mt-80 {
  margin-top: 80px !important;
}

.u-mr-80 {
  margin-right: 80px !important;
}

.u-mb-80 {
  margin-bottom: 80px !important;
}

.u-ml-80 {
  margin-left: 80px !important;
}

.u-mt-90 {
  margin-top: 90px !important;
}

.u-mr-90 {
  margin-right: 90px !important;
}

.u-mb-90 {
  margin-bottom: 90px !important;
}

.u-ml-90 {
  margin-left: 90px !important;
}

.u-mt-100 {
  margin-top: 100px !important;
}

.u-mr-100 {
  margin-right: 100px !important;
}

.u-mb-100 {
  margin-bottom: 100px !important;
}

.u-ml-100 {
  margin-left: 100px !important;
}

/* スマホマージン */
@media screen and (max-width: 767px) {
  .u-sp-mt-0 {
    margin-top: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-0 {
    margin-right: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-0 {
    margin-bottom: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-0 {
    margin-left: 0px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-10 {
    margin-top: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-10 {
    margin-right: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-10 {
    margin-left: 10px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-20 {
    margin-top: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-20 {
    margin-right: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-20 {
    margin-left: 20px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-30 {
    margin-top: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-30 {
    margin-right: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-30 {
    margin-left: 30px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-40 {
    margin-top: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-40 {
    margin-right: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-40 {
    margin-left: 40px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-50 {
    margin-top: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-50 {
    margin-right: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-50 {
    margin-left: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-60 {
    margin-top: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-60 {
    margin-right: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-60 {
    margin-left: 60px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-70 {
    margin-top: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-70 {
    margin-right: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-70 {
    margin-left: 70px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-80 {
    margin-top: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-80 {
    margin-right: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-80 {
    margin-left: 80px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-90 {
    margin-top: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-90 {
    margin-right: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-90 {
    margin-left: 90px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mt-100 {
    margin-top: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mr-100 {
    margin-right: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-mb-100 {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-ml-100 {
    margin-left: 100px !important;
  }
}

/* ======================================== */
/* フロート */
/* ======================================== */
.u-float-left {
  float: left !important;
  margin-top: 0;
  margin-right: 20px;
  margin-bottom: 0;
}

.u-float-right {
  float: right !important;
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 20px;
}

.u-clear {
  clear: both !important;
}

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

/* ======================================== */
/* テキスト配置 */
/* ======================================== */
.u-align-left {
  text-align: left !important;
}

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

.u-align-right {
  text-align: right !important;
}

.u-valign-top {
  vertical-align: top !important;
}

.u-valign-middle {
  vertical-align: middle !important;
}

.u-valign-bottom {
  vertical-align: bottom !important;
}

/* ======================================== */
/* 文字スタイル */
/* ======================================== */
/* 文字サイズ */
.u-text-smaller {
  font-size: .75em !important;
  /* 16px * 0.75 = 12px */
}

.u-text-small {
  font-size: .875em !important;
  /* 16px * 0.875 = 14px */
}

.u-text-large {
  font-size: 1.125em !important;
  /* 16px * 0.875 = 18px */
}

.u-text-larger {
  font-size: 1.3125em !important;
  /* 16px * 1.3125 = 21px */
}

/* ウェイト */
.u-text-weight-normal {
  font-weight: normal !important;
}

.u-text-weight-bold {
  font-weight: bold !important;
}

/* 下線 */
.u-text-underline {
  text-decoration: underline !important;
}

/* ======================================== */
/* 改行なし */
/* ======================================== */
.u-nowrap {
  white-space: nowrap !important;
}

/* ======================================== */
/* スマホ表示時の幅指定 */
/* ======================================== */
@media screen and (max-width: 767px) {
  .u-sp-width-50 {
    max-width: 50px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-width-100 {
    max-width: 100px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-width-150 {
    max-width: 150px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-width-200 {
    max-width: 200px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-width-250 {
    max-width: 250px !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp-width-300 {
    max-width: 300px !important;
  }
}

/* ======================================== */
/* フルードイメージ */
/* ======================================== */
.u-fluid-image {
  width: 100%;
  height: auto;
  vertical-align: top;
}

@media screen and (max-width: 767px) {
  .u-sp-fluid-image {
    width: 100%;
    height: auto;
    vertical-align: top;
  }
}


/* ======================================== */
/* 追加 */
/* ======================================== */
.l-header-switch a {
  font-size: 80%;
  line-height: 1;
  text-decoration: none;
  color: #dd2d81;
  padding: 3px 5px;
  border: solid 1px #dd2d81;
  border-radius: 3px;
}

.l-header-switch--2 {
  text-align: right;
  padding-right: 20px;
}

.l-header-switch--2 a {
  font-size: 70%;
  line-height: 1;
  text-decoration: none;
  color: #dd2d81;
  padding: 3px 5px;
  border: solid 1px #dd2d81;
  border-radius: 3px;
  background: #fff;
}