@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Ropa+Sans&display=swap");
/*! sanitize.css v5.0.0 | CC0 License | github.com/jonathantneal/sanitize.css */
/* Document (https://html.spec.whatwg.org/multipage/semantics.html#semantics)
   ========================================================================== */
/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add box sizing inheritence in all browsers (opinionated).
 */
*,
::before,
::after {
  background-repeat: no-repeat;
  /* 1 */
  -webkit-box-sizing: inherit;
          box-sizing: inherit;
  /* 2 */ }

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritence in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit;
  /* 1 */
  vertical-align: inherit;
  /* 2 */ }

/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Add the default cursor in all browsers (opinionated).
 * 3. Prevent font size adjustments after orientation changes in IE and iOS.
 */
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  cursor: default;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* Sections (https://html.spec.whatwg.org/multipage/semantics.html#sections)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

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

/* Grouping content (https://html.spec.whatwg.org/multipage/semantics.html#grouping-content)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * 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 */ }

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none; }

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

/* Text-level semantics (https://html.spec.whatwg.org/multipage/semantics.html#text-level-semantics)
   ========================================================================== */
/**
 * 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 */ }

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

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

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

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

/**
 * 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: -.25em; }

sup {
  top: -.5em; }

/*
 * Remove the text shadow on text selections (opinionated).
 * 1. Restore the coloring undone by defining the text shadow (opinionated).
 */
::-moz-selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000000;
  /* 1 */
  text-shadow: none; }

::selection {
  background-color: #b3d4fc;
  /* 1 */
  color: #000000;
  /* 1 */
  text-shadow: none; }

/* Embedded content (https://html.spec.whatwg.org/multipage/embedded-content.html#embedded-content)
   ========================================================================== */
/*
 * Change the alignment on media elements in all browers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

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

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

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

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg {
  fill: currentColor; }

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

/* Tabular data (https://html.spec.whatwg.org/multipage/tables.html#tables)
   ========================================================================== */
/**
 * Collapse border spacing
 */
table {
  border-collapse: collapse; }

/* Forms (https://html.spec.whatwg.org/multipage/forms.html#forms)
   ========================================================================== */
/**
 * Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  margin: 0; }

/**
 * Inherit styling in all browsers (opinionated).
 */
button,
input,
select,
textarea {
  background-color: transparent;
  color: inherit;
  font-size: inherit;
  line-height: inherit; }

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

/**
 * 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 */ }

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * 1. Remove the default vertical scrollbar in IE.
 * 2. Change the resize direction on textareas in all browsers (opinionated).
 */
textarea {
  overflow: auto;
  /* 1 */
  resize: vertical;
  /* 2 */ }

/**
 * 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 macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 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 */ }

/* Interactive elements (https://html.spec.whatwg.org/multipage/forms.html#interactive-elements)
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Scripting (https://html.spec.whatwg.org/multipage/scripting.html#scripting-3)
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

/* User interaction (https://html.spec.whatwg.org/multipage/interaction.html#editing)
   ========================================================================== */
/*
 * Remove the tapping delay on clickable elements (opinionated).
 * 1. Remove the tapping delay in IE 10.
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  /* 1 */
  touch-action: manipulation; }

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

/* ARIA (https://w3c.github.io/html-aria/)
   ========================================================================== */
/**
 * Change the cursor on busy elements (opinionated).
 */
[aria-busy="true"] {
  cursor: progress; }

/*
 * Change the cursor on control elements (opinionated).
 */
[aria-controls] {
  cursor: pointer; }

/*
 * Change the display on visually hidden accessible elements (opinionated).
 */
[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute; }

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements (opinionated).
 */
[aria-disabled] {
  cursor: default; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

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

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

@font-face {
  font-family: 'youfab_fix';
  src: url("../fonts/youfab_fix.eot");
  src: url("../fonts/youfab_fix.eot?#iefix") format("embedded-opentype"), url("../fonts/youfab_fix.woff") format("woff"), url("../fonts/youfab_fix.ttf") format("truetype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 200;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-Light.otf) format("opentype"); }

@font-face {
  font-family: 'Noto Sans Japanese';
  font-weight: 300;
  font-style: normal;
  src: url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff2) format("woff2"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.woff) format("woff"), url(//fonts.gstatic.com/ea/notosansjapanese/v6/NotoSansJP-DemiLight.otf) format("opentype"); }

html, :root {
  color: #fff;
  background-color: #000;
  font-family: 'Noto Sans Japanese', 'YakuHanJP', Avenir, ' Helvetica Neue ', Helvetica, Arial, Verdana,  ' 游ゴシック ', ' Yu Gothic ', ' 游ゴシック体 ', ' YuGothic ', ' ヒラギノ角ゴ Pro W3 ', ' Hiragino Kaku Gothic Pro ', ' Meiryo UI ', ' メイリオ ', Meiryo, ' ＭＳ Ｐゴシック ', ' MS PGothic ', sans-serif; }

a {
  color: inherit;
  text-decoration: none; }

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  html body {
    overflow: auto; }
    @media screen and (min-width: 768px) {
      html body {
        min-width: 1280px; } }

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

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

br.br_sp {
  display: none; }
  @media screen and (max-width: 767px) {
    br.br_sp {
      display: inline; } }

.header_teaser {
  width: 100%;
  position: fixed;
  top: 0;
  padding: 0 20px 0 72px;
  z-index: 10;
  pointer-events: none; }
  @media screen and (max-width: 767px) {
    .header_teaser {
      min-width: 0;
      padding: 0 10px 0 15px; } }
  .header_teaser .logo-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: relative; }
    .header_teaser .logo-list .list__sns {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-top: 40px;
      margin-left: auto; }
      @media screen and (max-width: 767px) {
        .header_teaser .logo-list .list__sns {
          margin-top: 20px; } }
      .header_teaser .logo-list .list__sns .link {
        display: block;
        width: 50px;
        height: 50px;
        margin-right: 20px;
        pointer-events: painted;
        position: relative; }
        @media screen and (max-width: 767px) {
          .header_teaser .logo-list .list__sns .link {
            width: 32px;
            height: 32px;
            margin-right: 10px; } }
        .header_teaser .logo-list .list__sns .link:last-child {
          margin-right: 0; }
        .header_teaser .logo-list .list__sns .link img {
          width: 100%;
          height: 100%;
          -webkit-transition: all 0.1s ease-out;
          transition: all 0.1s ease-out; }

.header {
  /**

   */ }
  @media screen and (min-width: 768px) {
    .header {
      height: 120px; }
      .header .container {
        min-width: 1000px;
        width: 100%;
        position: fixed;
        top: 0;
        z-index: 10;
        -webkit-transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
        transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86); }
      .header .status-bar.isPc {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        height: 40px;
        background-color: #000;
        color: #fff; }
        .header .status-bar.isPc .text {
          font-size: 16px;
          font-weight: bolder;
          margin: 0 10px; }
          .header .status-bar.isPc .text .text__red {
            color: #d71518; }
        .header .status-bar.isPc div.counter {
          border-left: 1px solid #2f2e2e;
          height: 100%; }
          .header .status-bar.isPc div.counter span {
            font-size: 20px;
            font-weight: bolder;
            height: 100%;
            display: -webkit-inline-box;
            display: -ms-inline-flexbox;
            display: inline-flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-box-pack: center;
                -ms-flex-pack: center;
                    justify-content: center;
            vertical-align: top;
            border-right: 1px solid #2f2e2e;
            padding: 0 5px; }
          .header .status-bar.isPc div.counter span.two, .header .status-bar.isPc div.counter span.one {
            font-family: 'youfab_fix', 'Noto Sans Japanese', 'YakuHanJP', Avenir, ' Helvetica Neue ', Helvetica, Arial, Verdana, ' 游ゴシック ', ' Yu Gothic ', ' 游ゴシック体 ', ' YuGothic ', ' ヒラギノ角ゴ Pro W3 ', ' Hiragino Kaku Gothic Pro ', ' Meiryo UI ', ' メイリオ ', Meiryo, ' ＭＳ Ｐゴシック ', ' MS PGothic ', sans-serif;
            color: #d71518;
            font-size: 40px; }
        .header .status-bar.isPc a.btn.app-btn {
          line-height: 20px;
          background-color: #d71518;
          display: inline-block;
          font-size: 11px;
          border-radius: 10px;
          padding: 0 28px;
          margin: 0 10px;
          -webkit-transition: all 0.18s ease-out;
          transition: all 0.18s ease-out; }
          .header .status-bar.isPc a.btn.app-btn.results {
            padding: 0 15px; }
          .header .status-bar.isPc a.btn.app-btn:hover {
            background-color: #fff;
            color: #d71518; }
        .header .status-bar.isPc a.news-btn {
          position: relative;
          font-size: 12px;
          -webkit-transition: all 0.18s ease-out;
          transition: all 0.18s ease-out; }
          .header .status-bar.isPc a.news-btn:before, .header .status-bar.isPc a.news-btn:after {
            content: "";
            width: 5px;
            height: 1px;
            position: absolute;
            background-color: white;
            right: -7px; }
          .header .status-bar.isPc a.news-btn:before {
            -webkit-transform: rotate(45deg);
                    transform: rotate(45deg);
            top: 5px; }
          .header .status-bar.isPc a.news-btn:after {
            -webkit-transform: rotate(-45deg);
                    transform: rotate(-45deg);
            top: 8px; }
          .header .status-bar.isPc a.news-btn:hover {
            opacity: 0.7; } }
  @media screen and (max-width: 767px) {
    .header {
      height: 60px; }
      .header .container {
        width: 100%;
        position: fixed;
        top: 0;
        z-index: 10;
        -webkit-transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
        transition: all 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86); }
      .header .status-btn.isSp {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        width: 180px; }
        .header .status-btn.isSp span:nth-child(1) {
          font-size: 12px;
          line-height: 18px; }
        .header .status-btn.isSp span:nth-child(2) {
          font-size: 18px;
          line-height: 22px; }
      .header .menu-btn {
        width: 44px;
        height: 44px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-pack: distribute;
            justify-content: space-around;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        padding: 9px 10px;
        position: absolute;
        top: 8px;
        right: 8px; }
        .header .menu-btn span {
          width: 100%;
          height: 3px;
          background-color: #fff;
          display: block;
          -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86); } }
  .header .navi {
    height: 80px;
    background-color: #fff;
    color: #000;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (max-width: 767px) {
      .header .navi {
        height: 60px;
        background-color: rgba(0, 0, 0, 0.95);
        color: #fff;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        min-width: 0; } }
    .header .navi a.logo-btn {
      position: absolute;
      width: auto;
      height: 53px;
      display: inline-block;
      top: 13px;
      left: 9px; }
      @media screen and (max-width: 1300px) {
        .header .navi a.logo-btn {
          width: 91px; } }
      @media screen and (max-width: 767px) {
        .header .navi a.logo-btn {
          width: auto;
          height: 30px;
          top: 15px;
          left: 9px;
          z-index: 10; } }
      .header .navi a.logo-btn svg path {
        fill: #000;
        display: inline-block;
        -webkit-transition: all 0.18s ease-out;
        transition: all 0.18s ease-out; }
        @media screen and (max-width: 767px) {
          .header .navi a.logo-btn svg path {
            fill: #fff; } }
      .header .navi a.logo-btn .logo {
        width: 91px;
        height: 100%; }
        @media screen and (max-width: 767px) {
          .header .navi a.logo-btn .logo {
            width: auto; } }
      .header .navi a.logo-btn .text {
        vertical-align: top;
        margin-top: 4px;
        margin-left: 6px;
        width: 133px;
        height: 87%;
        display: inline-block; }
        @media screen and (max-width: 1300px) {
          .header .navi a.logo-btn .text {
            display: none; } }
      @media screen and (min-width: 768px) {
        .header .navi a.logo-btn:hover svg path {
          fill: #d71518; } }
    .header .navi .menu {
      width: 100%;
      text-align: center;
      margin-left: 80px; }
      @media screen and (max-width: 1300px) {
        .header .navi .menu {
          padding-right: 80px;
          padding-left: 40px;
          margin: 0; } }
      @media screen and (max-width: 767px) {
        .header .navi .menu {
          display: none;
          position: fixed;
          width: 100%;
          height: 100%;
          background-color: #000;
          top: 0;
          left: 0;
          padding: 60px 15px 20px;
          overflow-y: auto; } }
      .header .navi .menu .menu__btn {
        font-size: 16px;
        font-weight: 400;
        text-align: center;
        height: 80px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        vertical-align: top;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 0 1.6%;
        position: relative; }
        .header .navi .menu .menu__btn:after {
          content: "";
          display: block;
          height: 1px;
          position: absolute;
          left: 0;
          bottom: 26px;
          background-color: #000;
          width: 0;
          -webkit-transition: width 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86);
          transition: width 0.2s cubic-bezier(0.785, 0.135, 0.15, 0.86); }
        @media screen and (min-width: 768px) {
          .header .navi .menu .menu__btn.current:after, .header .navi .menu .menu__btn:hover:after {
            width: 100%; } }
        @media screen and (max-width: 1300px) {
          .header .navi .menu .menu__btn {
            margin: 0 1.2%; } }
        @media screen and (max-width: 767px) {
          .header .navi .menu .menu__btn {
            display: block;
            width: 100%;
            height: auto;
            line-height: 60px;
            font-size: 15px;
            border-bottom: 1px solid #2f2e2e; }
            .header .navi .menu .menu__btn.current {
              display: none; } }
      @media screen and (min-width: 768px) {
        .header .navi .menu .hovevr_none:hover:after {
          width: 0; } }
      .header .navi .menu .blank__btn::before {
        content: "";
        background-image: url("../images/top2020/menu_icon.png");
        background-repeat: no-repeat;
        background-size: 100%;
        width: 8px;
        height: 8px;
        top: calc(50% + 1px);
        right: -12px;
        position: absolute;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); }
        @media screen and (max-width: 767px) {
          .header .navi .menu .blank__btn::before {
            background-image: url("../images/top2020/menu_icon_wh.png");
            width: 8px;
            height: 8px;
            left: calc(50% + 40px);
            position: absolute; } }
      @media screen and (max-width: 767px) {
        .header .navi .menu.show {
          display: block; }
          .header .navi .menu.show + .menu-btn span:nth-child(1) {
            -webkit-transform: translateY(8px) rotate(45deg);
                    transform: translateY(8px) rotate(45deg); }
          .header .navi .menu.show + .menu-btn span:nth-child(2) {
            -webkit-transform: scaleX(0);
                    transform: scaleX(0); }
          .header .navi .menu.show + .menu-btn span:nth-child(3) {
            -webkit-transform: translateY(-9px) rotate(-45deg);
                    transform: translateY(-9px) rotate(-45deg); } }
    .header .navi .tools {
      position: absolute;
      top: 0;
      right: 20px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
      .header .navi .tools .mail-btn {
        display: none; }
      .header .navi .tools .facebook-btn {
        display: none; }
      .header .navi .tools .instagram-btn {
        display: none; }
      .header .navi .tools .btn_area {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      @media screen and (max-width: 1300px) {
        .header .navi .tools {
          right: 0px; } }
      @media screen and (max-width: 767px) {
        .header .navi .tools {
          width: 100%;
          position: relative;
          right: inherit;
          height: 75px; }
          .header .navi .tools .btn {
            width: 30px;
            height: 30px;
            display: block;
            margin-right: 10px; }
            .header .navi .tools .btn:last-child {
              margin-right: 0; }
            .header .navi .tools .btn img {
              width: 100%; } }
      .header .navi .tools .lang {
        display: inline-block;
        font-size: 12px;
        /* フォント置換による類似 */
        font-weight: 400;
        text-align: center;
        margin-right: 20px; }
        @media screen and (max-width: 767px) {
          .header .navi .tools .lang {
            position: relative;
            top: 2px; } }
        .header .navi .tools .lang .ja_btn {
          margin-right: 2px; }
        .header .navi .tools .lang .en_btn {
          margin-left: 2px; }
        .header .navi .tools .lang span, .header .navi .tools .lang a {
          display: inline-block;
          width: 40px;
          height: 20px;
          border-radius: 10px;
          line-height: 18px; }
        .header .navi .tools .lang span {
          background-color: #000;
          border: 1px solid #000;
          color: #fff; }
          @media screen and (max-width: 767px) {
            .header .navi .tools .lang span {
              background-color: #fff;
              border-color: 1px solid #fff;
              width: 50px;
              height: auto;
              color: #000;
              border-radius: 15px;
              line-height: 30px;
              font-size: 16px; } }
        @media screen and (min-width: 768px) {
          .header .navi .tools .lang a {
            -webkit-transition: all 0.18s ease-out;
            transition: all 0.18s ease-out;
            border: 1px solid #fff; }
            .header .navi .tools .lang a:hover {
              border-color: #000; } }
        @media screen and (max-width: 767px) {
          .header .navi .tools .lang a {
            line-height: 30px;
            font-size: 16px;
            height: auto;
            width: 50px; } }
  .header .entry-btn {
    font-family: 'youfab_fix', 'Noto Sans Japanese', 'YakuHanJP', Avenir, ' Helvetica Neue ', Helvetica, Arial, Verdana, ' 游ゴシック ', ' Yu Gothic ', ' 游ゴシック体 ', ' YuGothic ', ' ヒラギノ角ゴ Pro W3 ', ' Hiragino Kaku Gothic Pro ', ' Meiryo UI ', ' メイリオ ', Meiryo, ' ＭＳ Ｐゴシック ', ' MS PGothic ', sans-serif;
    color: #000;
    width: 130px;
    height: 130px;
    text-align: center;
    position: absolute;
    top: 140px;
    right: 25px;
    padding-top: 28px; }
    @media screen and (max-width: 767px) {
      .header .entry-btn {
        width: 70px;
        height: 70px;
        top: 70px;
        right: 10px;
        padding-top: 14px; } }
    .header .entry-btn .bg {
      content: "";
      border-radius: 50%;
      background-color: #d71518;
      width: 120px;
      height: 120px;
      display: block;
      position: absolute;
      top: 5px;
      left: 5px;
      z-index: -1;
      overflow: hidden; }
      @media screen and (max-width: 767px) {
        .header .entry-btn .bg {
          width: 100%;
          height: 100%;
          top: 0;
          left: 0; } }
      .header .entry-btn .bg .hand {
        position: absolute;
        bottom: -8px;
        left: 43px; }
        @media screen and (max-width: 767px) {
          .header .entry-btn .bg .hand {
            bottom: -4px;
            left: 24px;
            width: 26px;
            height: auto; } }
    .header .entry-btn .date {
      font-size: 24px;
      /* フォント置換による類似 */
      letter-spacing: 0.4px; }
      .header .entry-btn .date .dot_1 {
        letter-spacing: -3px; }
      .header .entry-btn .date .hyphen {
        letter-spacing: -1px; }
      .header .entry-btn .date .dot_2 {
        letter-spacing: 1px; }
      .header .entry-btn .date .space {
        letter-spacing: -0.2px; }
      @media screen and (max-width: 767px) {
        .header .entry-btn .date {
          font-size: 14px; }
          .header .entry-btn .date .dot_1 {
            letter-spacing: -1px; } }
    .header .entry-btn .label {
      font-size: 26px;
      /* フォント置換による類似 */ }
      @media screen and (max-width: 767px) {
        .header .entry-btn .label {
          font-size: 15px;
          margin-top: -2px; } }
      .header .entry-btn .label.small02 {
        margin: 0;
        font-size: 24px;
        line-height: 1.1; }
        @media screen and (max-width: 767px) {
          .header .entry-btn .label.small02 {
            font-size: 14px; } }
    @media screen and (min-width: 768px) {
      .header .entry-btn .bg, .header .entry-btn .bg .hand {
        -webkit-transition: all 0.1s linear;
        transition: all 0.1s linear; }
      .header .entry-btn:hover .bg {
        width: 130px;
        height: 130px;
        top: 0;
        left: 0; }
        .header .entry-btn:hover .bg .hand {
          bottom: -2px;
          left: 48px; } }
  .header {
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86);
    transition: transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86), -webkit-transform 0.4s cubic-bezier(0.785, 0.135, 0.15, 0.86); }

@media screen and (min-width: 768px) {
  .no-header .header .container {
    -webkit-transform: matrix(1, 0, 0, 1, 0, -120);
            transform: matrix(1, 0, 0, 1, 0, -120); } }

@media screen and (max-width: 767px) {
  .no-header .header .container {
    -webkit-transform: matrix(1, 0, 0, 1, 0, -60);
            transform: matrix(1, 0, 0, 1, 0, -60); } }

.headline-news-area {
  background-color: #000;
  padding: 15px 0;
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 10; }
  @media screen and (max-width: 767px) {
    .headline-news-area {
      padding: 0;
      height: 40px; } }
  .headline-news-area .headline-news dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-transition: all 0.2s ease-out;
    transition: all 0.2s ease-out; }
    @media screen and (max-width: 767px) {
      .headline-news-area .headline-news dl {
        height: 40px; } }
    @media screen and (min-width: 768px) {
      .headline-news-area .headline-news dl:hover {
        opacity: 0.6; } }
  .headline-news-area .headline-news .news-title {
    margin-right: 40px;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.04em;
    position: relative; }
    @media screen and (max-width: 767px) {
      .headline-news-area .headline-news .news-title {
        margin-right: 18px;
        font-size: 13px;
        top: -1px; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .headline-news-area .headline-news .news-title {
      font-size: 12px; } }
  .headline-news-area .headline-news .news-link {
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.04em;
    position: relative; }
    @media screen and (max-width: 767px) {
      .headline-news-area .headline-news .news-link {
        font-size: 13px;
        top: -1px; } }
  @media screen and (max-width: 767px) and (max-width: 320px) {
    .headline-news-area .headline-news .news-link {
      font-size: 12px; } }
    .headline-news-area .headline-news .news-link::before {
      content: '';
      width: 1px;
      height: 20px;
      background-color: #666666;
      position: absolute;
      top: -1px;
      left: -20px; }
      @media screen and (max-width: 767px) {
        .headline-news-area .headline-news .news-link::before {
          height: 13px;
          left: -7px;
          top: 1px; } }

.global-footer--teaser {
  background-color: #000;
  position: relative;
  z-index: 10; }
  @media screen and (max-width: 767px) {
    .global-footer--teaser {
      width: 100%; } }
  .global-footer--teaser img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out; }
  .global-footer--teaser .tools {
    background: #1b1b1b;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    height: 50px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .global-footer--teaser .tools {
        width: 100%; } }
    .global-footer--teaser .tools .mail-btn, .global-footer--teaser .tools .facebook-btn {
      background: #fff;
      border-radius: 50%;
      display: inline-block;
      width: 34px;
      height: 34px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      @media screen and (min-width: 768px) {
        .global-footer--teaser .tools .mail-btn, .global-footer--teaser .tools .facebook-btn {
          -webkit-transition: all 0.18s ease-out;
          transition: all 0.18s ease-out; }
          .global-footer--teaser .tools .mail-btn:hover, .global-footer--teaser .tools .facebook-btn:hover {
            opacity: 0.4; } }
      @media screen and (max-width: 767px) {
        .global-footer--teaser .tools .mail-btn, .global-footer--teaser .tools .facebook-btn {
          width: 30px;
          height: 30px;
          bottom: 0; } }
    .global-footer--teaser .tools .mail-btn {
      margin-right: 20px; }
      @media screen and (max-width: 767px) {
        .global-footer--teaser .tools .mail-btn {
          margin-right: 12px; } }
    .global-footer--teaser .tools .mail-btn img {
      width: 20px; }
    .global-footer--teaser .tools .facebook-btn img {
      width: 18px; }
  .global-footer--teaser h3 {
    font-family: 'youfab_fix', 'Noto Sans Japanese', 'YakuHanJP', Avenir, ' Helvetica Neue ', Helvetica, Arial, Verdana, ' 游ゴシック ', ' Yu Gothic ', ' 游ゴシック体 ', ' YuGothic ', ' ヒラギノ角ゴ Pro W3 ', ' Hiragino Kaku Gothic Pro ', ' Meiryo UI ', ' メイリオ ', Meiryo, ' ＭＳ Ｐゴシック ', ' MS PGothic ', sans-serif;
    padding: 18px 0 17px;
    border-bottom: 1px solid #313131;
    background: #1b1b1b;
    text-align: center;
    color: #fff;
    line-height: 1;
    font-size: 20px;
    letter-spacing: 0.1em; }
    .global-footer--teaser h3:after, .global-footer--teaser h3 br {
      display: none; }
    @media screen and (max-width: 767px) {
      .global-footer--teaser h3 {
        padding: 18px 0 14px;
        line-height: 1.2; }
        .global-footer--teaser h3:after {
          display: none; }
        .global-footer--teaser h3 br {
          display: block; } }
  .global-footer--teaser .text {
    overflow: hidden;
    max-width: 1160px;
    margin: 0 auto; }
    .global-footer--teaser .text .cp {
      float: left;
      margin: 18px 0 0 3.44828%;
      color: #fff;
      font-size: 12px; }
      @media screen and (max-width: 767px) {
        .global-footer--teaser .text .cp {
          float: none;
          margin: 18px 0 0;
          padding: 0 0 19px;
          font-size: 10px;
          text-align: center; } }
    .global-footer--teaser .text div {
      overflow: hidden;
      float: right;
      width: 227px;
      margin: 0 3.44828% 0 0; }
      @media screen and (max-width: 767px) {
        .global-footer--teaser .text div {
          float: none;
          width: 204px;
          margin: 0 auto; } }
      .global-footer--teaser .text div p {
        float: left;
        padding: 15px 0 0 0;
        color: #fff;
        font-size: 12px; }
        @media screen and (max-width: 767px) {
          .global-footer--teaser .text div p {
            padding: 12px 0 0 0;
            font-size: 12px; } }
      .global-footer--teaser .text div .logo {
        float: right;
        width: 126px;
        padding: 0;
        margin: 0 0 10px; }
        @media screen and (min-width: 768px) {
          .global-footer--teaser .text div .logo {
            -webkit-transition: all 0.18s ease-out;
            transition: all 0.18s ease-out; }
            .global-footer--teaser .text div .logo:hover {
              opacity: 0.7; } }
        @media screen and (max-width: 767px) {
          .global-footer--teaser .text div .logo {
            width: 106px;
            padding: 0;
            margin: 0; } }
  .global-footer--teaser .btn-area-top {
    position: absolute;
    width: 100%;
    top: -30px; }
    @media screen and (max-width: 767px) {
      .global-footer--teaser .btn-area-top {
        top: -25px; } }
    .global-footer--teaser .btn-area-top .btn-area-top__wrap {
      position: relative;
      display: block;
      text-align: center; }
      .global-footer--teaser .btn-area-top .btn-area-top__wrap a {
        width: 40px;
        height: 40px;
        position: absolute;
        right: 40px; }
        .global-footer--teaser .btn-area-top .btn-area-top__wrap a img {
          width: 100%;
          height: auto;
          -webkit-transition: all 0.18s ease-out;
          transition: all 0.18s ease-out; }
        @media screen and (min-width: 768px) {
          .global-footer--teaser .btn-area-top .btn-area-top__wrap a:hover img {
            -webkit-transform: translateY(-10px);
                    transform: translateY(-10px); } }
        @media screen and (max-width: 767px) {
          .global-footer--teaser .btn-area-top .btn-area-top__wrap a {
            right: auto;
            width: 33px;
            display: inline-block;
            position: inherit; } }

.global-footer {
  background-color: #000;
  position: relative;
  z-index: 10; }
  @media screen and (max-width: 767px) {
    .global-footer {
      width: 100%; } }
  .global-footer img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
    -webkit-transition: opacity 0.3s ease-out;
    transition: opacity 0.3s ease-out; }
  .global-footer .tools {
    background: #1b1b1b;
    height: 80px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    @media screen and (max-width: 767px) {
      .global-footer .tools {
        width: 100%;
        height: 60px; } }
    .global-footer .tools .btn {
      width: 40px;
      height: 40px;
      display: block;
      margin-right: 20px; }
      @media screen and (min-width: 768px) {
        .global-footer .tools .btn {
          -webkit-transition: all 0.18s ease-out;
          transition: all 0.18s ease-out; }
          .global-footer .tools .btn:hover {
            opacity: 0.4; } }
      @media screen and (max-width: 767px) {
        .global-footer .tools .btn {
          width: 30.5px;
          height: 30.5px;
          margin-right: 10px; } }
      .global-footer .tools .btn:last-child {
        margin-right: 0; }
      .global-footer .tools .btn img {
        width: 100%; }
  .global-footer .kon {
    font-family: 'youfab_fix', 'Noto Sans Japanese', 'YakuHanJP', Avenir, ' Helvetica Neue ', Helvetica, Arial, Verdana, ' 游ゴシック ', ' Yu Gothic ', ' 游ゴシック体 ', ' YuGothic ', ' ヒラギノ角ゴ Pro W3 ', ' Hiragino Kaku Gothic Pro ', ' Meiryo UI ', ' メイリオ ', Meiryo, ' ＭＳ Ｐゴシック ', ' MS PGothic ', sans-serif;
    padding: 10px 0 8px;
    border-bottom: 1px solid #313131;
    background: #1b1b1b;
    text-align: center;
    color: #fff;
    line-height: 1;
    font-size: 22px;
    letter-spacing: 0.1em; }
    @media screen and (max-width: 767px) {
      .global-footer .kon {
        font-size: 24px;
        padding: 18px 0 14px;
        line-height: 1.2; } }
  .global-footer .text {
    overflow: hidden;
    max-width: 1032px;
    margin: 0 auto; }
    .global-footer .text .cp {
      float: left;
      margin: 18px 0 0 3.44828%;
      color: #fff;
      font-size: 12px; }
      @media screen and (max-width: 767px) {
        .global-footer .text .cp {
          float: none;
          margin: 18px 0 0;
          padding: 0 0 19px;
          font-size: 10px;
          text-align: center; } }
    .global-footer .text div {
      overflow: hidden;
      float: right;
      width: 227px;
      margin: 0 3.44828% 0 0; }
      @media screen and (max-width: 767px) {
        .global-footer .text div {
          float: none;
          width: 204px;
          margin: 0 auto; } }
      .global-footer .text div p {
        float: left;
        padding: 15px 0 0 0;
        color: #fff;
        font-size: 12px; }
        @media screen and (max-width: 767px) {
          .global-footer .text div p {
            padding: 12px 0 0 0;
            font-size: 12px; } }
      .global-footer .text div .logo {
        float: right;
        width: 126px;
        padding: 0;
        margin: 0 0 10px; }
        @media screen and (min-width: 768px) {
          .global-footer .text div .logo {
            -webkit-transition: all 0.18s ease-out;
            transition: all 0.18s ease-out; }
            .global-footer .text div .logo:hover {
              opacity: 0.7; } }
        @media screen and (max-width: 767px) {
          .global-footer .text div .logo {
            width: 106px;
            padding: 0;
            margin: 0; } }
  .global-footer .btn-area-top {
    position: absolute;
    width: 100%;
    top: -30px; }
    @media screen and (max-width: 767px) {
      .global-footer .btn-area-top {
        top: -25px; } }
    .global-footer .btn-area-top .btn-area-top__wrap {
      position: relative;
      display: block;
      text-align: center; }
      .global-footer .btn-area-top .btn-area-top__wrap a {
        width: 40px;
        height: 40px;
        position: absolute;
        right: 40px; }
        .global-footer .btn-area-top .btn-area-top__wrap a img {
          width: 100%;
          height: auto;
          -webkit-transition: all 0.18s ease-out;
          transition: all 0.18s ease-out; }
        @media screen and (min-width: 768px) {
          .global-footer .btn-area-top .btn-area-top__wrap a:hover img {
            -webkit-transform: translateY(-10px);
                    transform: translateY(-10px); } }
        @media screen and (max-width: 767px) {
          .global-footer .btn-area-top .btn-area-top__wrap a {
            right: auto;
            width: 33px;
            display: inline-block;
            position: inherit; } }

.mod-modal__content {
  display: none; }

.mod-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999999;
  overflow: hidden; }
  .mod-modal .mod-modal__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.8); }
  .mod-modal .mod-modal__content {
    display: inherit;
    overflow: auto;
    width: 100%;
    height: 100%;
    position: relative;
    -webkit-overflow-scrolling: touch;
    text-align: center; }
    .mod-modal .mod-modal__content:after {
      display: inline-block;
      height: 100%;
      margin-left: -.05em;
      content: "";
      vertical-align: middle; }
  .mod-modal .mod-modal__close_bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
  .mod-modal .mod-modal__wrap {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    font-family: 'Noto Sans Japanese', sans-serif; }
    @media screen and (max-width: 767px) {
      .mod-modal .mod-modal__wrap {
        width: 90.625%; } }
    @media screen and (min-width: 768px) {
      .mod-modal .mod-modal__wrap {
        width: 1000px; } }
    @media screen and (max-width: 767px) {
      .mod-modal .mod-modal__wrap {
        vertical-align: top; } }
  .mod-modal .mod-modal__container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: 960px;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 6.2963% 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .mod-modal .mod-modal__container {
        padding: 12.5926% 0 6.2963%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
  .mod-modal .mod-modal__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 29px;
    height: 29px;
    cursor: pointer;
    z-index: 9;
    background-image: url(../images/top2020/btn-close.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: -webkit-transform 0.3s ease-out;
    transition: -webkit-transform 0.3s ease-out;
    transition: transform 0.3s ease-out;
    transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out; }
    @media screen and (min-width: 768px) {
      .mod-modal .mod-modal__close:hover {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg); } }
    @media screen and (max-width: 767px) {
      .mod-modal .mod-modal__close {
        top: 5.5%;
        right: 7%; } }
  .mod-modal.show {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

.inner {
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 767px) {
    .inner {
      width: 90.625%; } }
  @media screen and (min-width: 768px) {
    .inner {
      width: 1000px; } }

.inner-wide {
  margin-left: auto;
  margin-right: auto; }
  @media screen and (max-width: 767px) {
    .inner-wide {
      width: 90.625%; } }

#content .btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0px 45px;
  width: 201px;
  height: 50px;
  font-size: 1.4rem; }

.media-queries-check {
  display: none;
  font-family: 'pc'; }
  @media screen and (max-width: 767px) {
    .media-queries-check {
      font-family: 'sp'; } }

/**
Japanese
 */
html[lang="ja"] {
  display: block; }

/**
English
 */
html[lang="en"] {
  display: block; }

.content_wrap {
  overflow: hidden; }

.js-fade-in, .js-fade-in-bg {
  opacity: 0;
  -webkit-transition: all 0.6s ease-out;
  transition: all 0.6s ease-out; }
  .js-fade-in[fade-data="1"], .js-fade-in-bg[fade-data="1"] {
    -webkit-transition-delay: 0;
            transition-delay: 0; }
  .js-fade-in[fade-data="2"], .js-fade-in-bg[fade-data="2"] {
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s; }
  .js-fade-in[fade-data="3"], .js-fade-in-bg[fade-data="3"] {
    -webkit-transition-delay: 0.4s;
            transition-delay: 0.4s; }

.show-on {
  opacity: 1; }

@-webkit-keyframes animate-panel {
  0% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1); }
  45% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  46% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  100% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1); } }

@keyframes animate-panel {
  0% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1); }
  45% {
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  46% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1); }
  100% {
    -webkit-transform-origin: right top;
            transform-origin: right top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1); } }

@-webkit-keyframes animate-content {
  0% {
    visibility: hidden; }
  45% {
    visibility: hidden; }
  46% {
    visibility: visible; }
  100% {
    visibility: visible; } }

@keyframes animate-content {
  0% {
    visibility: hidden; }
  45% {
    visibility: hidden; }
  46% {
    visibility: visible; }
  100% {
    visibility: visible; } }

.mask-wrap .mask-inner {
  position: relative;
  visibility: hidden; }
  .mask-wrap .mask-inner::after {
    content: "";
    background: #000;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transform-origin: left top;
            transform-origin: left top;
    -webkit-transform: scale(0, 1);
            transform: scale(0, 1);
    -webkit-transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
    transition: all 0.4s cubic-bezier(0.39, 0.575, 0.565, 1);
    visibility: visible; }
  .mask-wrap .mask-inner.show-on {
    -webkit-animation-name: animate-content;
            animation-name: animate-content;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
            animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1;
    -webkit-animation-direction: normal;
            animation-direction: normal;
    -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
    -webkit-animation-play-state: running;
            animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    .mask-wrap .mask-inner.show-on::after {
      -webkit-animation-name: animate-panel;
              animation-name: animate-panel;
      -webkit-animation-duration: 1s;
              animation-duration: 1s;
      -webkit-animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
              animation-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
      -webkit-animation-delay: 0s;
              animation-delay: 0s;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-direction: normal;
              animation-direction: normal;
      -webkit-animation-fill-mode: both;
              animation-fill-mode: both;
      -webkit-animation-play-state: running;
              animation-play-state: running;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
    .mask-wrap .mask-inner.show-on[fade-data="1"] {
      -webkit-animation-delay: 0;
              animation-delay: 0; }
      .mask-wrap .mask-inner.show-on[fade-data="1"]::after {
        -webkit-animation-delay: 0;
                animation-delay: 0; }
    .mask-wrap .mask-inner.show-on[fade-data="2"] {
      -webkit-animation-delay: 0.3s;
              animation-delay: 0.3s; }
      .mask-wrap .mask-inner.show-on[fade-data="2"]::after {
        -webkit-animation-delay: 0.3s;
                animation-delay: 0.3s; }
    .mask-wrap .mask-inner.show-on[fade-data="3"] {
      -webkit-animation-delay: 0.6s;
              animation-delay: 0.6s; }
      .mask-wrap .mask-inner.show-on[fade-data="3"]::after {
        -webkit-animation-delay: 0.6s;
                animation-delay: 0.6s; }
    .mask-wrap .mask-inner.show-on.kv {
      -webkit-animation-duration: 1.4s;
              animation-duration: 1.4s; }
      @media screen and (max-width: 767px) {
        .mask-wrap .mask-inner.show-on.kv {
          -webkit-animation-duration: 1.0s;
                  animation-duration: 1.0s; } }
      .mask-wrap .mask-inner.show-on.kv::after {
        -webkit-animation-duration: 1.4s;
                animation-duration: 1.4s; }
        @media screen and (max-width: 767px) {
          .mask-wrap .mask-inner.show-on.kv::after {
            -webkit-animation-duration: 1.0s;
                    animation-duration: 1.0s; } }
    .mask-wrap .mask-inner.show-on[fade-data="1"].kv {
      -webkit-animation-delay: 0.2s;
              animation-delay: 0.2s; }
      @media screen and (max-width: 767px) {
        .mask-wrap .mask-inner.show-on[fade-data="1"].kv {
          -webkit-animation-delay: 1.2s;
                  animation-delay: 1.2s; } }
      .mask-wrap .mask-inner.show-on[fade-data="1"].kv::after {
        -webkit-animation-delay: 0.2s;
                animation-delay: 0.2s; }
        @media screen and (max-width: 767px) {
          .mask-wrap .mask-inner.show-on[fade-data="1"].kv::after {
            -webkit-animation-delay: 1.2s;
                    animation-delay: 1.2s; } }
    .mask-wrap .mask-inner.show-on[fade-data="2"].kv {
      -webkit-animation-delay: 0.8s;
              animation-delay: 0.8s; }
      @media screen and (max-width: 767px) {
        .mask-wrap .mask-inner.show-on[fade-data="2"].kv {
          -webkit-animation-delay: 1.8s;
                  animation-delay: 1.8s; } }
      .mask-wrap .mask-inner.show-on[fade-data="2"].kv::after {
        -webkit-animation-delay: 0.8s;
                animation-delay: 0.8s; }
        @media screen and (max-width: 767px) {
          .mask-wrap .mask-inner.show-on[fade-data="2"].kv::after {
            -webkit-animation-delay: 1.8s;
                    animation-delay: 1.8s; } }
    .mask-wrap .mask-inner.show-on[fade-data="3"].kv {
      -webkit-animation-delay: 1.4s;
              animation-delay: 1.4s; }
      @media screen and (max-width: 767px) {
        .mask-wrap .mask-inner.show-on[fade-data="3"].kv {
          -webkit-animation-delay: 2.4s;
                  animation-delay: 2.4s; } }
      .mask-wrap .mask-inner.show-on[fade-data="3"].kv::after {
        -webkit-animation-delay: 1.4s;
                animation-delay: 1.4s; }
        @media screen and (max-width: 767px) {
          .mask-wrap .mask-inner.show-on[fade-data="3"].kv::after {
            -webkit-animation-delay: 2.4s;
                    animation-delay: 2.4s; } }
