@charset "UTF-8";
/*!
 * ress.css • v2.0.4
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  -moz-tab-size: 4;
  tab-size: 4; }

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit; }

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit; }

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0; }

/* # =================================================================
	 # General elements
	 # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */ }

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */ }

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

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */ }

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

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted; }

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */ }

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */ }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */ }

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */ }

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

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* # =================================================================
	 # Forms
	 # ================================================================= */
input {
  border-radius: 0; }

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default; }

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

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

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */ }

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */ }

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */ }

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

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ }

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */ }

/* Apply cursor pointer to button elements */
button,
[type="button"],
[type="reset"],
[type="submit"],
[role="button"] {
  cursor: pointer;
  color: inherit; }

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

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText; }

button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */ }

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none; }

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */ }

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */ }

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */ }

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */ }

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

/* # =================================================================
	 # Specify media element style
	 # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */ }

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

svg:not([fill]) {
  fill: currentColor; }

/* # =================================================================
	 # Accessibility
	 # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important; } }

/* Specify the progress cursor of updating elements */
[aria-busy="true"] {
  cursor: progress; }

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer; }

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default; }

html {
  overflow-x: hidden; }

body {
  font-family: "\30D2\30E9\30AE\30CE\89D2\30B4   Pro W3", "Hiragino Kaku Gothic Pro", "\30E1\30A4\30EA\30AA", "Meiryo", "Osaka", "\FF2D\FF33   \FF30\30B4\30B7\30C3\30AF", "MS P Gothic", sans-serif;
  position: relative;
  width: 100%;
  height: 100%;
  background: #ecf1f5;
  background-image: url("../images/pc/common/bg_hex.png");
  background-size: auto;
  background-position: top center;
  background-repeat: no-repeat;
  overflow-x: hidden; }
  body .l-main__inner {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 50px; }
  body #l-pagetop {
    position: fixed;
    bottom: 100px;
    right: 0;
    z-index: 998;
    opacity: 0;
    -webkit-transition: opacity .2s linear;
    transition: opacity .2s linear; }
    body #l-pagetop.is-show {
      opacity: 1;
      cursor: pointer; }
  body.loaded > .c-intro {
    opacity: 0;
    -webkit-transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1);
    transition: opacity 1s cubic-bezier(0.19, 1, 0.22, 1); }

@media (min-width: 320px) {
  body .l-main {
    padding: 210px 0 0; } }

@media (max-width: 1024px) {
  body {
    background-image: url("../images/pc/common/bg_hex.png");
    background-size: 200% auto;
    background-position: top center;
    background-repeat: no-repeat; }
    body .l-main {
      padding: 15vw 0 0; }
      body .l-main__inner {
        width: 100%;
        padding: 0 2.28571vw; } }

@media (max-width: 767px) {
  body {
    background-image: url("../images/sp/common/bg_hex.png");
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat; }
    body .l-main {
      padding: 25.06667vw 0 0; }
      body .l-main__inner {
        width: 100%;
        padding: 0 4.26667vw; }
    body #l-pagetop {
      width: 13.73333vw;
      bottom: 13.33333vw; } }

img {
  width: 100%;
  display: inline-block;
  vertical-align: top; }

a:hover {
  -webkit-transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  transition: opacity 0.5s cubic-bezier(0.19, 1, 0.22, 1);
  opacity: .8; }

a.no-opacity:hover {
  opacity: 1; }

ul,
ol {
  list-style-type: none; }

@media (min-width: 1025px) {
  .is-pc {
    display: block !important; } }

@media (max-width: 1024px) {
  .is-pc {
    display: block !important; } }

@media (max-width: 767px) {
  .is-pc {
    display: none !important; } }

@media (min-width: 1025px) {
  .is-sp {
    display: none !important; } }

@media (max-width: 1024px) {
  .is-sp {
    display: none !important; } }

@media (max-width: 767px) {
  .is-sp {
    display: block !important; } }

@media (min-width: 1025px) {
  .visible-pc {
    opacity: 1; } }

@media (max-width: 1024px) {
  .visible-pc {
    opacity: 1; } }

@media (max-width: 767px) {
  .visible-pc {
    opacity: 0; } }

@media (min-width: 1025px) {
  .visible-sp {
    opacity: 0; } }

@media (max-width: 1024px) {
  .visible-sp {
    opacity: 0; } }

@media (max-width: 767px) {
  .visible-sp {
    opacity: 1; } }

@-webkit-keyframes loading {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); }
  100% {
    -webkit-transform: rotateY(365deg);
            transform: rotateY(365deg); } }

@keyframes loading {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); }
  100% {
    -webkit-transform: rotateY(365deg);
            transform: rotateY(365deg); } }

@-webkit-keyframes loadingBgFade {
  0% {
    opacity: 1;
    background-color: #000000; }
  30% {
    opacity: 1;
    background-color: #ffffff; }
  100% {
    opacity: 0;
    background-color: transparent; } }

@keyframes loadingBgFade {
  0% {
    opacity: 1;
    background-color: #000000; }
  30% {
    opacity: 1;
    background-color: #ffffff; }
  100% {
    opacity: 0;
    background-color: transparent; } }

@-webkit-keyframes introBgPCAnimation {
  0% {
    opacity: 0;
    width: 70.71429vw;
    max-width: 990px; }
  100% {
    opacity: 1;
    width: 58.92857vw;
    max-width: 825px; } }

@keyframes introBgPCAnimation {
  0% {
    opacity: 0;
    width: 70.71429vw;
    max-width: 990px; }
  100% {
    opacity: 1;
    width: 58.92857vw;
    max-width: 825px; } }

@-webkit-keyframes introBgSPAnimation {
  0% {
    opacity: 0;
    width: 105.6vw;
    max-width: 792px; }
  100% {
    opacity: 1;
    width: 88vw;
    max-width: 660px; } }

@keyframes introBgSPAnimation {
  0% {
    opacity: 0;
    width: 105.6vw;
    max-width: 792px; }
  100% {
    opacity: 1;
    width: 88vw;
    max-width: 660px; } }

@-webkit-keyframes introTextAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes introTextAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes scrollBarAnimation {
  0% {
    height: 0;
    opacity: 0;
    top: -15px; }
  50% {
    height: 45px;
    opacity: 1; }
  100% {
    height: 45px;
    opacity: 0;
    top: 5px; } }

@keyframes scrollBarAnimation {
  0% {
    height: 0;
    opacity: 0;
    top: -15px; }
  50% {
    height: 45px;
    opacity: 1; }
  100% {
    height: 45px;
    opacity: 0;
    top: 5px; } }

@-webkit-keyframes fadeIn01 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn01 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes fadeIn02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeIn02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@-webkit-keyframes fadeOut01 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut01 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

#p-top #animation_container {
  position: fixed;
  margin: auto;
  left: -100%;
  right: -100%;
  top: 0;
  bottom: 0;
  z-index: 1001;
  opacity: 0;
  -webkit-transition: opacity 0.3s cubic-bezier(0.87, 0, 0.13, 1);
  transition: opacity 0.3s cubic-bezier(0.87, 0, 0.13, 1);
  overflow: hidden; }

#p-top #loading {
  z-index: 1000;
  display: block;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  -webkit-transition: background-color 1s;
  transition: background-color 1s;
  overflow: hidden; }
  #p-top #loading__contents {
    position: fixed;
    right: 30px;
    bottom: 30px; }
    #p-top #loading__contents span {
      display: block;
      margin: 0 auto; }
    #p-top #loading__contents .card {
      width: 100px;
      -webkit-animation: loading 1s linear infinite;
              animation: loading 1s linear infinite; }
    #p-top #loading__contents .text {
      width: 81.5px; }

#p-top.is-loading #loading {
  opacity: 1;
  background-color: #000000; }

#p-top.is-loading #kv__contents__logo {
  opacity: 0; }

#p-top.is-middle #loading {
  opacity: 1;
  background-color: #ffffff; }
  #p-top.is-middle #loading__contents {
    display: none; }

#p-top.is-middle #kv__contents {
  z-index: 1000; }
  #p-top.is-middle #kv__contents__logo {
    opacity: 1;
    -webkit-transition: opacity .3s;
    transition: opacity .3s;
    -webkit-transition-delay: .6s;
            transition-delay: .6s; }

#p-top.is-end #loading {
  opacity: 1;
  -webkit-animation: fadeOut01 0.3s cubic-bezier(0.87, 0, 0.13, 1);
          animation: fadeOut01 0.3s cubic-bezier(0.87, 0, 0.13, 1);
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
  -webkit-animation-duration: .8s;
          animation-duration: .8s; }
  #p-top.is-end #loading__contents {
    display: none; }

#p-top.is-intro #loading {
  opacity: 1; }

#p-top.is-intro #animation_container {
  opacity: 1;
  display: block; }

#p-top.is-loading, #p-top.is-intro {
  overflow: hidden; }

@keyframes loading {
  0% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0); }
  100% {
    -webkit-transform: rotateY(365deg);
            transform: rotateY(365deg); } }

@keyframes loadingBgFade {
  0% {
    opacity: 1;
    background-color: #000000; }
  30% {
    opacity: 1;
    background-color: #ffffff; }
  100% {
    opacity: 0;
    background-color: transparent; } }

@keyframes introBgPCAnimation {
  0% {
    opacity: 0;
    width: 70.71429vw;
    max-width: 990px; }
  100% {
    opacity: 1;
    width: 58.92857vw;
    max-width: 825px; } }

@keyframes introBgSPAnimation {
  0% {
    opacity: 0;
    width: 105.6vw;
    max-width: 792px; }
  100% {
    opacity: 1;
    width: 88vw;
    max-width: 660px; } }

@keyframes introTextAnimation {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes scrollBarAnimation {
  0% {
    height: 0;
    opacity: 0;
    top: -15px; }
  50% {
    height: 45px;
    opacity: 1; }
  100% {
    height: 45px;
    opacity: 0;
    top: 5px; } }

@keyframes fadeIn01 {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@keyframes fadeIn02 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(10px);
            transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0); } }

@keyframes fadeOut01 {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

#l-header {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  margin: auto;
  width: 100%;
  z-index: 999; }
  #l-header__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  #l-header__logo.scb {
    margin-right: auto;
    margin-left: 0; }
  #l-header__menu__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #l-header__menu .menu__item a {
    color: transparent;
    white-space: nowrap; }

@media (min-width: 320px) {
  #l-header {
    max-width: 1100px;
    background: url("../images/pc/header/bg_header.png");
    background-size: auto 100%;
    background-repeat: no-repeat;
    background-position: bottom center;
    top: 20px; }
    #l-header__inner {
      padding: 0 38px; }
    #l-header__logo {
      width: 220px;
      height: 109px;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto; }
    #l-header__menu {
      width: 100%;
      margin-left: 220px;
      position: relative;
      top: 0; }
      #l-header__menu #menu__header {
        display: none; }
      #l-header__menu .menu__item {
        padding: 0 10.5px;
        position: relative;
        z-index: 10; }
        #l-header__menu .menu__item a {
          height: 90px;
          font-size: 18px;
          display: block;
          pointer-events: auto; }
        #l-header__menu .menu__item.txt-l a {
          font-size: 30px; }
      #l-header__menu .menu__item__wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      #l-header__menu #menu__item__bg {
        position: absolute;
        opacity: 0;
        left: 0;
        height: 100%;
        background: #0054e3;
        z-index: 5;
        -webkit-transform: skew(-30deg, 0deg);
                transform: skew(-30deg, 0deg);
        -webkit-transition: all 0.35s cubic-bezier(0.87, 0, 0.13, 1);
        transition: all 0.35s cubic-bezier(0.87, 0, 0.13, 1); }
      #l-header__menu .menu__item:nth-of-type(1) a {
        background: url("../images/pc/header/img_header_menu01-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(1).active a {
        background: url("../images/pc/header/img_header_menu01-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(1).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(2) a {
        background: url("../images/pc/header/img_header_menu02-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(2).active a {
        background: url("../images/pc/header/img_header_menu02-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(2).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(3) a {
        background: url("../images/pc/header/img_header_menu03-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(3).active a {
        background: url("../images/pc/header/img_header_menu03-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(3).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(4) a {
        background: url("../images/pc/header/img_header_menu04-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(4).active a {
        background: url("../images/pc/header/img_header_menu04-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(4).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(5) a {
        background: url("../images/pc/header/img_header_menu05-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(5).active a {
        background: url("../images/pc/header/img_header_menu05-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(5).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(6) a {
        background: url("../images/pc/header/img_header_menu06-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(6).active a {
        background: url("../images/pc/header/img_header_menu06-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(6).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(7) a {
        background: url("../images/pc/header/img_header_menu07-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(7).active a {
        background: url("../images/pc/header/img_header_menu07-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(7).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
      #l-header__menu .menu__item:nth-of-type(8) a {
        background: url("../images/pc/header/img_header_menu08-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu .menu__item:nth-of-type(8).active a {
        background: url("../images/pc/header/img_header_menu08-on.png");
        background-position: center -.5px;
        background-repeat: no-repeat;
        background-size: auto 100%; } }
      @media (min-width: 320px) and (max-width: 1100px) {
        #l-header__menu .menu__item:nth-of-type(8).active a {
          background-size: auto 100%;
          background-position: center -0.03571vw; } }

@media (min-width: 320px) {
      #l-header__menu .menu__item.ruby a {
        background-position: center -.5px;
        letter-spacing: 1px; }
      #l-header__menu .menu__item.ruby.active a {
        background-position: center -.5px; }
    #l-header__submenu {
      position: absolute;
      top: calc(100% - 40px);
      left: 0;
      width: 100%;
      z-index: -1;
      opacity: 0;
      -webkit-transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
      transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1); }
      #l-header__submenu.sub-active {
        opacity: 1;
        z-index: -1;
        top: 100%; }
      #l-header__submenu__inner {
        padding: 0 68px 0 38px;
        height: 40px;
        position: relative; } }
      @media (min-width: 320px) and (min-width: 1400px) {
        #l-header__submenu__inner {
          padding: 0 68px 0 38px; } }

@media (min-width: 320px) {
      #l-header__submenu .submenu {
        position: absolute;
        top: 0;
        left: 38px;
        width: calc(100% - 106px);
        height: 40px;
        list-style: none;
        opacity: 0;
        -webkit-transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
        transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
        z-index: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        background: url("../images/pc/header/bg_header_submenu.png");
        background-size: 100% auto;
        background-position: left top;
        background-repeat: no-repeat; } }
      @media (min-width: 320px) and (min-width: 1400px) {
        #l-header__submenu .submenu {
          left: 38px;
          width: calc(100% - 106px); } }

@media (min-width: 320px) {
        #l-header__submenu .submenu__item {
          height: 40px;
          padding: 0 8.5px; }
          #l-header__submenu .submenu__item a {
            font-size: 13px;
            padding-left: 11px;
            color: transparent;
            text-decoration: none;
            height: 100%;
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
                -ms-flex-align: center;
                    align-items: center;
            pointer-events: none; }
        #l-header__submenu .submenu.sub-active {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          opacity: 1;
          z-index: 1; }
          #l-header__submenu .submenu.sub-active .submenu__item a {
            pointer-events: auto; }
      #l-header__submenu #submenu__story .submenu__item:nth-child(1) a {
        background: url("../images/pc/header/img_story_submenu01-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__story .submenu__item:nth-child(1) a:hover {
          background: url("../images/pc/header/img_story_submenu01-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__story .submenu__item:nth-child(2) a {
        background: url("../images/pc/header/img_story_submenu02-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__story .submenu__item:nth-child(2) a:hover {
          background: url("../images/pc/header/img_story_submenu02-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__story .submenu__item:nth-child(3) a {
        background: url("../images/pc/header/img_story_submenu03-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__story .submenu__item:nth-child(3) a:hover {
          background: url("../images/pc/header/img_story_submenu03-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__story .submenu__item:nth-child(4) a {
        background: url("../images/pc/header/img_story_submenu04-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__story .submenu__item:nth-child(4) a:hover {
          background: url("../images/pc/header/img_story_submenu04-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__story .submenu__item:first-child {
        margin-left: 30%; }
      #l-header__submenu #submenu__system .submenu__item:nth-child(1) a {
        background: url("../images/pc/header/img_system_submenu01-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__system .submenu__item:nth-child(1) a:hover {
          background: url("../images/pc/header/img_system_submenu01-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__system .submenu__item:nth-child(2) a {
        background: url("../images/pc/header/img_system_submenu02-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__system .submenu__item:nth-child(2) a:hover {
          background: url("../images/pc/header/img_system_submenu02-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__system .submenu__item:nth-child(3) a {
        background: url("../images/pc/header/img_system_submenu03-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__system .submenu__item:nth-child(3) a:hover {
          background: url("../images/pc/header/img_system_submenu03-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__system .submenu__item:nth-child(4) a {
        background: url("../images/pc/header/img_system_submenu04-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__system .submenu__item:nth-child(4) a:hover {
          background: url("../images/pc/header/img_system_submenu04-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__system .submenu__item:first-child {
        margin-left: 47%; }
      #l-header__submenu #submenu__products .submenu__item:nth-child(1) a {
        background: url("../images/pc/header/img_products_submenu01-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__products .submenu__item:nth-child(1) a:hover {
          background: url("../images/pc/header/img_products_submenu01-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__products .submenu__item:nth-child(2) a {
        background: url("../images/pc/header/img_products_submenu02-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__products .submenu__item:nth-child(2) a:hover {
          background: url("../images/pc/header/img_products_submenu02-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__products .submenu__item:nth-child(3) a {
        background: url("../images/pc/header/img_products_submenu03-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__products .submenu__item:nth-child(3) a:hover {
          background: url("../images/pc/header/img_products_submenu03-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__products .submenu__item:first-child {
        margin-left: 58%; }
      #l-header__submenu #submenu__dlc .submenu__item:nth-child(1) a {
        background: url("../images/pc/header/img_dlc_submenu01-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__dlc .submenu__item:nth-child(1) a:hover {
          background: url("../images/pc/header/img_dlc_submenu01-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__dlc .submenu__item:nth-child(2) a {
        background: url("../images/pc/header/img_dlc_submenu02-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__dlc .submenu__item:nth-child(2) a:hover {
          background: url("../images/pc/header/img_dlc_submenu02-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__dlc .submenu__item:nth-child(3) a {
        background: url("../images/pc/header/img_dlc_submenu03-off.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
        #l-header__submenu #submenu__dlc .submenu__item:nth-child(3) a:hover {
          background: url("../images/pc/header/img_dlc_submenu03-on.png");
          background-position: center;
          background-repeat: no-repeat;
          background-size: auto 100%; }
      #l-header__submenu #submenu__dlc .submenu__item:first-child {
        margin-left: 60%; }
  html.ie #l-header__submenu,
  html.edge #l-header__submenu {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
    html.ie #l-header__submenu.sub-active,
    html.edge #l-header__submenu.sub-active {
      -webkit-transform: translateY(40px) translateY(-0.1px);
              transform: translateY(40px) translateY(-0.1px);
      top: calc(100% - 40px); } }

@media (max-width: 1100px) {
  #l-header {
    width: 80.5%;
    top: 35px; }
    #l-header__logo {
      width: 15.71429vw;
      height: 7.78571vw; }
    #l-header__inner {
      padding: 0 2.71429vw; }
    #l-header__menu {
      margin-left: 15.71429vw; }
      #l-header__menu .menu__item {
        padding: 0 0.5vw; }
        #l-header__menu .menu__item.ruby a {
          background-position: center -0.03571vw; }
        #l-header__menu .menu__item.ruby.active a {
          background-position: center -0.03571vw; }
        #l-header__menu .menu__item a {
          font-size: 1.45714vw;
          height: 6.42857vw; }
        #l-header__menu .menu__item.txt-l a {
          font-size: 2.14286vw; }
    #l-header__submenu {
      top: calc(100% - 3.03571vw); }
      #l-header__submenu__inner {
        padding: 0 4.42857vw 0 2.28571vw;
        height: 3.03571vw; }
      #l-header__submenu .submenu {
        left: 2.28571vw;
        width: calc(100% - 6.71429vw);
        height: 3.03571vw; }
        #l-header__submenu .submenu__item {
          height: 3.03571vw;
          padding: 0 0.35714vw; }
          #l-header__submenu .submenu__item a {
            font-size: 11px;
            padding-left: 0.71429vw; }
      #l-header__submenu #submenu__story .submenu__item:first-child {
        margin-left: 30%; }
      #l-header__submenu #submenu__system .submenu__item:first-child {
        margin-left: 45%; }
      #l-header__submenu #submenu__products .submenu__item:first-child {
        margin-left: 60%; }
      #l-header__submenu #submenu__dlc .submenu__item:first-child {
        margin-left: 51%; }
  html.ie #l-header__submenu,
  html.edge #l-header__submenu {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
    html.ie #l-header__submenu.sub-active,
    html.edge #l-header__submenu.sub-active {
      -webkit-transform: translateY(3.03571vw) translateY(-0.1px);
              transform: translateY(3.03571vw) translateY(-0.1px);
      top: calc(100% - 3.03571vw); } }

@media (max-width: 767px) {
  #l-header {
    position: relative;
    width: 100%;
    top: 0;
    background: none; }
    #l-header__inner {
      padding: 0; }
    #l-header__menu {
      position: fixed;
      top: -100vh;
      width: 100%;
      -webkit-transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
      transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
      z-index: 900;
      margin-left: 0; }
      #l-header__menu__inner {
        background: rgba(0, 0, 0, 0.8);
        height: 100vh;
        min-height: 100vh;
        padding: 9.33333vw 5.33333vw;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
      #l-header__menu #menu__header {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin-bottom: 5.33333vw; }
        #l-header__menu #menu__header__logo {
          width: 33.33333vw; }
        #l-header__menu #menu__header__close {
          cursor: pointer;
          width: 8.26667vw;
          height: 8.26667vw; }
      #l-header__menu .menu__item {
        width: 100%;
        border-top: 1px solid #94daff;
        position: relative;
        padding: 0;
        z-index: auto; }
        #l-header__menu .menu__item a {
          display: block;
          height: 17.86667vw; }
        #l-header__menu .menu__item.ruby.active a {
          background-position: center; }
        #l-header__menu .menu__item:nth-of-type(1)::before {
          content: '';
          position: absolute;
          right: -0.66667vw;
          top: -1.33333vw;
          width: 24.26667vw;
          height: 1.2vw;
          background: url("../images/sp/header/bg_line-top.png");
          background-size: 100% auto;
          background-repeat: no-repeat;
          background-position: center; }
        #l-header__menu .menu__item:last-child {
          border-bottom: 1px solid #94daff; }
          #l-header__menu .menu__item:last-child::after {
            content: '';
            position: absolute;
            left: -0.66667vw;
            bottom: -1.33333vw;
            width: 24.26667vw;
            height: 1.2vw;
            background: url("../images/sp/header/bg_line-bottom.png");
            background-size: 100% auto;
            background-repeat: no-repeat;
            background-position: center; }
      #l-header__menu .menu__item:nth-of-type(1) a {
        background: url("../images/sp/header/img_header_menu01.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(1).active a {
        background: url("../images/sp/header/img_header_menu01.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(2) a {
        background: url("../images/sp/header/img_header_menu02.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(2).active a {
        background: url("../images/sp/header/img_header_menu02.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(3) a {
        background: url("../images/sp/header/img_header_menu03.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(3).active a {
        background: url("../images/sp/header/img_header_menu03.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(4) a {
        background: url("../images/sp/header/img_header_menu04.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(4).active a {
        background: url("../images/sp/header/img_header_menu04.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(5) a {
        background: url("../images/sp/header/img_header_menu05.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(5).active a {
        background: url("../images/sp/header/img_header_menu05.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(6) a {
        background: url("../images/sp/header/img_header_menu06.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(6).active a {
        background: url("../images/sp/header/img_header_menu06.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(7) a {
        background: url("../images/sp/header/img_header_menu07.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(7).active a {
        background: url("../images/sp/header/img_header_menu07.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(8) a {
        background: url("../images/sp/header/img_header_menu08.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item:nth-of-type(8).active a {
        background: url("../images/sp/header/img_header_menu08.png");
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% auto; }
      #l-header__menu .menu__item__wrapper {
        display: block;
        overflow-x: hidden;
        overflow-y: scroll;
        padding: 1.2vw 0 0; }
      #l-header__menu .menu__sub__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
        list-style: none; }
      #l-header__menu .menu__sub__item {
        width: 50%;
        border-bottom: 1px solid rgba(148, 218, 255, 0.4);
        position: relative; }
        #l-header__menu .menu__sub__item > a {
          height: 13.06667vw; }
        #l-header__menu .menu__sub__item:nth-child(2n+1) {
          border-right: 1px solid rgba(148, 218, 255, 0.4); }
        #l-header__menu .menu__sub__item:nth-child(-n+2) {
          border-top: 1px solid rgba(148, 218, 255, 0.4); }
        #l-header__menu .menu__sub__item:nth-last-child(-n+2) {
          border-bottom: none; }
        #l-header__menu .menu__sub__item::before {
          content: '';
          position: absolute;
          top: 0;
          bottom: 0;
          left: 4.8vw;
          width: 2.66667vw;
          height: 0.53333vw;
          margin: auto;
          background: #ffffff; }
      #l-header__menu #news.is-unread::after {
        content: '';
        position: absolute;
        top: 5.86667vw;
        left: 23.33333vw;
        background: #ffa600;
        width: 0.93333vw;
        height: 0.93333vw;
        -webkit-transform: rotate(45deg);
                transform: rotate(45deg);
        -webkit-transform-origin: center;
                transform-origin: center; }
      #l-header__menu #story .menu__sub__item:nth-child(1) a {
        background: url("../images/sp/header/img_story_submenu01.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #story .menu__sub__item:nth-child(2) a {
        background: url("../images/sp/header/img_story_submenu02.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #story .menu__sub__item:nth-child(3) a {
        background: url("../images/sp/header/img_story_submenu03.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #story .menu__sub__item:nth-child(4) a {
        background: url("../images/sp/header/img_story_submenu04.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #story .menu__sub__item:nth-child(2) {
        border-bottom: 1px solid rgba(148, 218, 255, 0.4); }
      #l-header__menu #system .menu__sub__item:nth-child(1) a {
        background: url("../images/sp/header/img_system_submenu01.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #system .menu__sub__item:nth-child(2) a {
        background: url("../images/sp/header/img_system_submenu02.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #system .menu__sub__item:nth-child(3) a {
        background: url("../images/sp/header/img_system_submenu03.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #system .menu__sub__item:nth-child(4) a {
        background: url("../images/sp/header/img_system_submenu04.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #products .menu__sub__item:nth-child(1) a {
        background: url("../images/sp/header/img_products_submenu01.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #products .menu__sub__item:nth-child(2) a {
        background: url("../images/sp/header/img_products_submenu02.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #products .menu__sub__item:nth-child(3) a {
        background: url("../images/sp/header/img_products_submenu03.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #products .menu__sub__item:nth-child(2) {
        border-bottom: 1px solid rgba(148, 218, 255, 0.4); }
      #l-header__menu #dlc .menu__sub__item:nth-child(1) a {
        background: url("../images/sp/header/img_dlc_submenu01.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #dlc .menu__sub__item:nth-child(2) a {
        background: url("../images/sp/header/img_dlc_submenu02.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #dlc .menu__sub__item:nth-child(3) a {
        background: url("../images/sp/header/img_dlc_submenu03.png");
        background-position: 11.33333vw center;
        background-repeat: no-repeat;
        background-size: auto 100%; }
      #l-header__menu #dlc .menu__sub__item:nth-child(2) {
        border-bottom: 1px solid rgba(148, 218, 255, 0.4); }
      #l-header__menu__trigger {
        width: 100%;
        height: 14.93333vw;
        background: url("../images/sp/header/bg_header.png");
        background-size: 100% auto;
        background-repeat: no-repeat;
        background-position: center bottom; }
      #l-header__menu.is-open {
        top: .1vh;
        -webkit-transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
        transition: all 0.5s cubic-bezier(0.87, 0, 0.13, 1);
        z-index: 1000; }
    #l-header__logo {
      position: absolute;
      top: 4.66667vw;
      bottom: auto;
      left: 2.33333vw;
      width: 33.33333vw;
      height: auto;
      z-index: 950; }
    #l-header__items {
      position: absolute;
      top: 2.8vw;
      left: 0;
      z-index: 950;
      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;
      list-style: none;
      margin: 0 -1vw; }
      #l-header__items .item {
        padding: 0 1vw;
        box-sizing: content-box; }
        #l-header__items .item.logo {
          width: 13.33333vw; }
        #l-header__items .item.icon {
          width: 25.73333vw; }
        #l-header__items .item.share {
          width: 7.73333vw; }
          #l-header__items .item.share a {
            display: block; }
          #l-header__items .item.share img {
            pointer-events: none; } }

#l-footer__bnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #l-footer__bnr a {
    display: block; }

#l-footer__share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  #l-footer__share > * a {
    display: block; }
  #l-footer__share > * img {
    pointer-events: none; }

#l-footer__pulldown {
  position: relative; }
  #l-footer__pulldown #pulldown__cover {
    font-weight: 600;
    display: block;
    border: 1px solid #ffffff;
    color: #ffffff;
    position: relative;
    cursor: pointer; }
    #l-footer__pulldown #pulldown__cover::before, #l-footer__pulldown #pulldown__cover::after {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto; }
    #l-footer__pulldown #pulldown__cover::before {
      background: url("../images/common/footer/icon_world-off.png");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: center; }
    #l-footer__pulldown #pulldown__cover::after {
      background: url("../images/common/footer/icon_toggle-off.png");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: center; }
  #l-footer__pulldown #pulldown__menu {
    list-style: none;
    display: none;
    position: absolute;
    top: auto;
    width: 100%;
    z-index: 1; }
    #l-footer__pulldown #pulldown__menu li {
      background: #ffffff;
      border-top: 1px solid #dce3e8;
      position: relative; }
      #l-footer__pulldown #pulldown__menu li a {
        color: #000000;
        text-decoration: none;
        display: block; }
      #l-footer__pulldown #pulldown__menu li:first-child {
        border-top: none; }
      #l-footer__pulldown #pulldown__menu li::before {
        content: '';
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
        background: #0054e3; }
  #l-footer__pulldown.is-open #pulldown__cover {
    border-bottom: 1px solid #dce3e8;
    color: #000000;
    background: #ffffff; }
    #l-footer__pulldown.is-open #pulldown__cover::before {
      background: url("../images/common/footer/icon_world-on.png");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: center; }
    #l-footer__pulldown.is-open #pulldown__cover::after {
      background: url("../images/common/footer/icon_toggle-on.png");
      background-size: 100% auto;
      background-repeat: no-repeat;
      background-position: center; }
  #l-footer__pulldown.is-open #pulldown__menu {
    display: block; }

#l-footer__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none; }
  #l-footer__link li a {
    color: #ffffff; }

#l-footer__notes {
  list-style: none;
  color: #ffffff; }
  #l-footer__notes li {
    text-align: center; }

#l-footer__logo a {
  display: block;
  margin: 0 auto; }

#l-footer__copyright {
  color: #ffffff;
  text-align: center; }

@media (min-width: 320px) {
  #l-footer {
    background: url("../images/pc/footer/bg_footer.png");
    background-size: 2000px auto;
    background-position: bottom center;
    background-repeat: no-repeat; }
    #l-footer__inner {
      width: 78.6%;
      max-width: 1100px;
      margin: 0 auto;
      padding-top: 260px; }
    #l-footer__bnr a:first-child {
      width: 41.14286vw;
      max-width: 576px; }
    #l-footer__bnr a:last-child {
      width: 22.85714vw;
      max-width: 320px;
      margin-left: 16px; }
    #l-footer__share {
      margin: 0 -12px; }
      #l-footer__share > * {
        padding: 0 12px;
        box-sizing: content-box;
        width: 4.28571vw;
        max-width: 60px; }
    #l-footer__pulldown {
      width: 11.42857vw;
      max-width: 160px;
      margin: 24px auto 0; }
      #l-footer__pulldown #pulldown__cover {
        padding: 0.64286vw 2.28571vw;
        font-size: 1vw; }
        #l-footer__pulldown #pulldown__cover::before {
          width: 1.21429vw;
          max-width: 17px;
          height: 1.21429vw;
          max-height: 17px;
          left: 0.57143vw; }
        #l-footer__pulldown #pulldown__cover::after {
          width: 0.92857vw;
          max-width: 13px;
          height: 0.5vw;
          max-height: 7px;
          right: 0.71429vw; }
      #l-footer__pulldown #pulldown__menu li a {
        padding: 0.64286vw 2.28571vw;
        font-size: 1vw; }
      #l-footer__pulldown #pulldown__menu li::before {
        width: 0.71429vw;
        max-width: 10px;
        height: 0.14286vw;
        max-height: 2px;
        left: 0.71429vw; } }
    @media (min-width: 320px) and (min-width: 1400px) {
      #l-footer__pulldown #pulldown__cover {
        padding: 9px 32px;
        font-size: 14px; }
        #l-footer__pulldown #pulldown__cover::before {
          left: 8px; }
        #l-footer__pulldown #pulldown__cover::after {
          right: 10px; }
      #l-footer__pulldown #pulldown__menu li a {
        padding: 9px 32px;
        font-size: 14px; }
      #l-footer__pulldown #pulldown__menu li::before {
        left: 10px; } }

@media (min-width: 320px) {
    #l-footer__link {
      margin-top: 17px; }
      #l-footer__link li a {
        font-size: 14px;
        padding: 0 20px; }
      #l-footer__link li:not(:last-child) a {
        border-right: 1px solid #ffffff; }
    #l-footer__switch {
      width: 11vw;
      max-width: 154px;
      margin: 20px auto 0; }
    #l-footer__notes {
      margin-top: 15px; }
      #l-footer__notes li {
        font-size: 12px; }
    #l-footer__logo {
      margin-top: 25px; }
      #l-footer__logo a {
        width: 141px; }
    #l-footer__copyright {
      padding: 40px 0 30px;
      font-size: 12px; } }

@media (max-width: 1024px) {
  #l-footer {
    background-size: 1800px auto; }
    #l-footer__pulldown #pulldown__cover {
      padding: 0.64286vw 1.78571vw; }
      #l-footer__pulldown #pulldown__cover::before {
        left: 0.35714vw; }
      #l-footer__pulldown #pulldown__cover::after {
        right: 0.35714vw; } }

@media (max-width: 767px) {
  #l-footer {
    background: url("../images/sp/footer/bg_footer.png");
    background-size: 100% auto;
    background-position: center 55px;
    background-repeat: no-repeat; }
    #l-footer__inner {
      padding: 31.06667vw 4.26667vw 0;
      width: 100%; }
    #l-footer__bnr {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      #l-footer__bnr a:first-child, #l-footer__bnr a:last-child {
        width: 85.33333vw;
        max-width: none; }
      #l-footer__bnr a:last-child {
        margin: 2.13333vw 0 0; }
    #l-footer__share {
      margin: 0 -2.66667vw; }
      #l-footer__share > * {
        box-sizing: content-box;
        padding: 0 2.66667vw;
        width: 12vw;
        max-width: none; }
    #l-footer__pulldown {
      width: 32vw;
      max-width: none;
      margin: 5.33333vw auto 0; }
      #l-footer__pulldown #pulldown__cover {
        padding: 1.4vw 6.66667vw;
        font-size: 2.8vw; }
        #l-footer__pulldown #pulldown__cover::before {
          width: 3.46667vw;
          height: 3.46667vw;
          left: 1.6vw; }
        #l-footer__pulldown #pulldown__cover::after {
          width: 2.66667vw;
          height: 1.33333vw;
          right: 2vw; }
      #l-footer__pulldown #pulldown__menu li a {
        padding: 1.4vw 6.66667vw;
        font-size: 2.8vw; }
      #l-footer__pulldown #pulldown__menu li::before {
        width: 2vw;
        height: 0.4vw;
        left: 1.6vw; }
    #l-footer__link {
      margin: 0.8vw -2vw 0;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      #l-footer__link li {
        margin-top: 1.86667vw; }
        #l-footer__link li a {
          font-size: 2.66667vw;
          padding: 0 2vw; }
        #l-footer__link li:not(:last-child) a {
          border-right: none; }
    #l-footer__switch {
      width: 24.53333vw;
      margin: 4vw auto 0;
      max-width: none; }
    #l-footer__notes {
      margin-top: 5.33333vw; }
      #l-footer__notes li {
        font-size: 2.66667vw; }
    #l-footer__logo {
      margin-top: 4.4vw; }
      #l-footer__logo a {
        width: 28.13333vw; }
    #l-footer__copyright {
      padding: 5.33333vw 0;
      font-size: 2.66667vw; } }

@media (min-width: 320px) {
  #p-top #l-footer__inner {
    padding-top: 140px; }
  #p-top #l-footer__share {
    margin-top: 220px; } }

@media (max-width: 767px) {
  #p-top #l-footer {
    background-position: center bottom; }
    #p-top #l-footer__inner {
      padding-top: 5.33333vw; }
    #p-top #l-footer__share {
      margin-top: 24vw; } }

.c-modal {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(88, 108, 130, 0.8); }
  .c-modal__inner {
    height: 100%;
    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; }
  .c-modal__contents {
    position: relative; }
    .c-modal__contents__movie {
      position: relative;
      padding-top: 0;
      -webkit-transition: padding-top .2s linear;
      transition: padding-top .2s linear; }
      .c-modal__contents__movie iframe {
        display: block;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        height: 0;
        width: 100%;
        -webkit-transition: height .2s linear;
        transition: height .2s linear;
        border: none; }
    .c-modal__contents__close {
      position: absolute;
      top: -60px;
      right: 0;
      cursor: pointer; }
  .c-modal.is-open {
    display: block; }
    .c-modal.is-open .c-modal__contents__movie {
      padding-top: 56.25%; }
      .c-modal.is-open .c-modal__contents__movie iframe {
        height: 100%; }
  .c-modal.c-modal02.is-open .c-modal__contents__movie {
    padding-top: 0; }

@media (min-width: 320px) {
  .c-modal__contents {
    width: 60vw;
    max-width: 960px;
    max-height: 540px; }
    .c-modal__contents__close {
      top: -60px; }
  .c-modal.c-modal02 .c-modal__contents {
    width: 74.85vw; }
    .c-modal.c-modal02 .c-modal__contents__close {
      top: -30px;
      right: 40px; }
  .c-modal.c-modal02.is-large .c-modal__contents {
    max-width: 1048px; }
  .c-modal.c-modal02.is-small .c-modal__contents {
    max-width: 798px; } }

@media (max-width: 767px) {
  .c-modal__contents {
    width: 89vw; }
    .c-modal__contents__close {
      top: -8.93333vw;
      width: 7.6vw; }
  .c-modal.c-modal02 .c-modal__contents {
    width: 92.67vw;
    margin-left: -4.08vw;
    max-width: 450px;
    max-height: none; }
    .c-modal.c-modal02 .c-modal__contents__close {
      top: 1.6vw;
      right: 0;
      max-width: 38px; }
  .c-modal.c-modal02.is-large .c-modal__contents, .c-modal.c-modal02.is-small .c-modal__contents {
    max-width: 450px; } }

/**
 * Swiper 5.3.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2020 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: February 8, 2020
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
          transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform; }

.swiper-container-3d {
  -webkit-perspective: 1200px;
          perspective: 1200px; }

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size:44px; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  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;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff; }

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000; }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%; }

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
          transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
          transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
          transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
          transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
          transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
          transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
          transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  border-radius: 100%;
  background: #000;
  opacity: .2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
          transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right; }

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
          transform: scale(0);
  -webkit-transform-origin: left top;
          transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
          transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color:#000000; }

.swiper-pagination-lock {
  display: none; }

.swiper-scrollbar {
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  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;
  text-align: center; }

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
          transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
          animation: swiper-preloader-spin 1s infinite linear;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg); } }

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
          transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
          transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
          transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.c-hexagon {
  list-style: none;
  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;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative; }
  .c-hexagon li {
    position: relative; }
    .c-hexagon li .character {
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      z-index: 5; }
    .c-hexagon li .hexagon {
      position: relative;
      overflow: hidden;
      -webkit-transform: rotate(30deg);
              transform: rotate(30deg); }
      .c-hexagon li .hexagon::before {
        content: '';
        display: block;
        padding-top: 86.602540378%; }
      .c-hexagon li .hexagon__inner01 {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        -webkit-transform: rotate(60deg);
                transform: rotate(60deg);
        overflow: hidden; }
      .c-hexagon li .hexagon__inner02 {
        width: 100%;
        height: 100%;
        -webkit-transform: rotate(60deg);
                transform: rotate(60deg);
        overflow: hidden; }
      .c-hexagon li .hexagon__inner03 {
        display: block;
        width: 100%;
        height: 100%;
        -webkit-transform: rotate(-120deg);
                transform: rotate(-120deg); }
      .c-hexagon li .hexagon__bg {
        width: 100%;
        height: 100%;
        display: block;
        -webkit-transform: rotate(60deg);
                transform: rotate(60deg);
        background: -webkit-linear-gradient(left, #002a77 0%, #004bd9 25%, #2c88f6 50%, #79dcff 75%);
        background: linear-gradient(90deg, #002a77 0%, #004bd9 25%, #2c88f6 50%, #79dcff 75%);
        -webkit-transition: all .2s;
        transition: all .2s; }
        .c-hexagon li .hexagon__bg:hover {
          background: #ffffff;
          -webkit-transition: all .2s;
          transition: all .2s; }
      .c-hexagon li .hexagon .line_t,
      .c-hexagon li .hexagon .line_b {
        position: absolute;
        background: #79dcff; }
      .c-hexagon li .hexagon .line_t {
        top: 0; }
      .c-hexagon li .hexagon .line_b {
        bottom: 0; }
    .c-hexagon li.dummy {
      opacity: 0;
      pointer-events: none; }

@media (min-width: 320px) {
  .c-hexagon {
    margin: 0 auto;
    position: relative; }
    .c-hexagon li .character {
      width: 184px;
      left: calc(50% - 92px);
      bottom: -9px;
      pointer-events: none; }
    .c-hexagon li .hexagon {
      width: 162px; }
      .c-hexagon li .hexagon .line_t,
      .c-hexagon li .hexagon .line_b {
        width: 81px;
        height: 2px;
        left: calc(50% - 40.5px); } }

@media (max-width: 1024px) {
  .c-hexagon {
    margin: 0 auto;
    position: relative; }
    .c-hexagon li .character {
      width: 13.14286vw;
      left: calc(50% - 6.57143vw);
      bottom: -0.64286vw;
      pointer-events: none; }
    .c-hexagon li .hexagon {
      width: 11.57143vw; }
      .c-hexagon li .hexagon .line_t,
      .c-hexagon li .hexagon .line_b {
        width: 5.78571vw;
        height: 2px;
        left: calc(50% - 2.89286vw); } }

@media (max-width: 767px) {
  .c-hexagon {
    width: 100%;
    padding: 0 6.13333vw;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
    .c-hexagon li .character {
      width: 28vw;
      left: calc(50% - 14vw);
      bottom: -1.2vw;
      pointer-events: none; }
    .c-hexagon li .hexagon {
      width: 26.8vw; }
      .c-hexagon li .hexagon .line_t,
      .c-hexagon li .hexagon .line_b {
        width: 13.4vw;
        height: 2px;
        left: calc(50% - 6.66667vw); } }

.c-parallelogram {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style: none; }
  .c-parallelogram li {
    position: relative; }
    .c-parallelogram li .character {
      position: absolute;
      pointer-events: none;
      z-index: 10; }
    .c-parallelogram li .parallelogram {
      position: relative;
      z-index: 5;
      -webkit-transform: skew(-30deg, 0);
              transform: skew(-30deg, 0); }
      .c-parallelogram li .parallelogram__inner a {
        display: block;
        background: -webkit-linear-gradient(top, #002a77 0%, #004bd9 25%, #2c88f6 50%, #79dcff 75%);
        background: linear-gradient(180deg, #002a77 0%, #004bd9 25%, #2c88f6 50%, #79dcff 75%); }
    .c-parallelogram li.dummy {
      opacity: 0;
      pointer-events: none; }

@media (min-width: 320px) {
  .c-parallelogram li .character {
    width: 300px;
    left: calc(-112px / 1.732);
    bottom: 0; }
  .c-parallelogram li .parallelogram__inner a {
    width: 174px;
    height: 224px; }
    .c-parallelogram li .parallelogram__inner a:hover {
      background: #ffffff; } }

@media (max-width: 767px) {
  .c-parallelogram li .character {
    width: 40vw;
    left: calc(-14.93333vw / 1.732);
    bottom: 0; }
  .c-parallelogram li .parallelogram__inner a {
    width: 23.2vw;
    height: 29.86667vw; } }

.c-btn {
  background: url("../images/common/feedback/bg_btn.png");
  margin: 0 auto; }
  .c-btn a {
    display: block;
    text-align: center;
    font-weight: 600;
    color: #2659ae;
    text-decoration: none;
    border: 1px solid #e0e5e9;
    box-shadow: 0 2px rgba(0, 0, 0, 0.05); }

@media (min-width: 320px) {
  .c-btn {
    width: 200px; }
    .c-btn a {
      padding: 14px 0;
      font-size: 16px; }
      .c-btn a:hover {
        background: #0956db;
        color: #ffffff;
        border: 1px solid #0956db; } }

@media (max-width: 1024px) {
  .c-btn {
    width: 14.28571vw; }
    .c-btn a {
      font-size: 1.14286vw; } }

@media (max-width: 767px) {
  .c-btn {
    width: 48vw; }
    .c-btn a {
      padding: 3.2vw 0;
      font-size: 3.2vw; } }

.c-textBox {
  position: relative;
  background: #ffffff; }
  .c-textBox .bg__layer {
    position: absolute;
    width: 100%; }
  .c-textBox.no-line .bg__layer--b {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }

@media (min-width: 320px) {
  .c-textBox {
    width: 100%; }
    .c-textBox__inner {
      padding: 85px 10px 16px 50px; }
    .c-textBox .bg__layer--t {
      height: 20px;
      top: -20px;
      background: url("../images/pc/character/common/bg_intro-top.png");
      background-size: 100% auto;
      background-position: center bottom;
      background-repeat: no-repeat; }
    .c-textBox .bg__layer--b {
      height: 37px;
      bottom: -37px;
      background: url("../images/pc/character/common/bg_intro-bottom.png");
      background-size: 100% auto;
      background-position: center top;
      background-repeat: no-repeat; }
    .c-textBox.no-line .bg__layer--b {
      height: 20px;
      bottom: -20px;
      background: url("../images/pc/character/common/bg_intro-top.png");
      background-size: 100% auto;
      background-position: center bottom;
      background-repeat: no-repeat; } }

@media (max-width: 1024px) {
  .c-textBox__inner {
    padding: 6.07143vw 0.71429vw 1.14286vw 3.57143vw; }
  .c-textBox .bg__layer--t {
    height: 1.42857vw;
    top: -1.42857vw; }
  .c-textBox .bg__layer--b {
    height: 2.64286vw;
    bottom: -2.64286vw; }
  .c-textBox.no-line .bg__layer--b {
    height: 1.42857vw;
    bottom: -1.42857vw; } }

@media (max-width: 767px) {
  .c-textBox__inner {
    padding: 10.93333vw 5.33333vw 3.06667vw 6.66667vw; }
  .c-textBox .bg__layer {
    height: 2.66667vw; }
    .c-textBox .bg__layer--t {
      height: 2.66667vw;
      top: -2.66667vw;
      background: url("../images/sp/character/common/bg_intro-top.png");
      background-size: 100% auto;
      background-position: center top;
      background-repeat: no-repeat; }
    .c-textBox .bg__layer--b {
      height: 4.93333vw;
      bottom: -4.93333vw;
      background: url("../images/sp/character/common/bg_intro-bottom.png");
      background-size: 100% auto;
      background-position: center top;
      background-repeat: no-repeat; }
  .c-textBox.no-line .bg__layer--b {
    height: 2.66667vw;
    bottom: -2.66667vw;
    background: url("../images/sp/character/common/bg_intro-top.png");
    background-size: 100% auto;
    background-position: center top;
    background-repeat: no-repeat; } }
