@charset "UTF-8";
/* Sass Document */
/* ----------------------------------------------------------------------------------------------------
*  基本情報
* --------------------------------------------------------------------------------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
html,
body {
  height: 100%;
  background-color: rgb(68, 68, 68);
}

html {
  font-size: 62.5%;
  overflow-y: scroll;
  font-size: min(0.8327550312vw, 62.5%);
}
@media screen and (max-width: 767.98px) {
  html {
    width: 100%;
  }
}

body {
  -webkit-text-size-adjust: 100%;
  width: 100%;
  color: #fff;
}

body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
address,
ul,
ol,
li,
dl,
dt,
dd,
table,
th,
td,
img,
form {
  margin: 0;
  padding: 0;
  border: none;
  line-height: 100%;
  list-style-type: none;
  font-style: normal;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  line-break: normal;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

@media screen and (max-width: 767.98px) {
  html {
    font-size: 2.66666vw;
  }
}
@media (min-width: 768px) {
  a[href*="tel:"] {
    text-decoration: none;
    cursor: default;
    pointer-events: none;
  }
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

.u-en {
  font-family: "Lato", serif;
}

.sp {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .sp {
    display: block;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767.98px) {
  .pc {
    display: none;
  }
}

.js-anime {
  opacity: 0;
  -webkit-transform: translateY(10rem);
          transform: translateY(10rem);
}
.js-anime.js-animeOn {
  -webkit-animation: isFade 1.2s ease-in-out forwards;
          animation: isFade 1.2s ease-in-out forwards;
}

@-webkit-keyframes isFade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(8rem);
            transform: translateY(8rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@keyframes isFade {
  0% {
    opacity: 0;
    -webkit-transform: translateY(8rem);
            transform: translateY(8rem);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
[data-inview] {
  opacity: 0;
}

[data-inview=fade-up],
[data-inview=fade-fast] {
  -webkit-transform: translate(0, 10rem);
          transform: translate(0, 10rem);
}

/* ----------------------------------------------------------------------------------------------------
*	header
* --------------------------------------------------------------------------------------------------*/
#l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
}

.l-header__inner {
  position: relative;
  padding: 2.55rem 3rem 3.4rem;
  z-index: 110;
}
@media screen and (max-width: 767.98px) {
  .l-header__inner {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  .l-header__inner .l-language-wrapper {
    display: none;
  }
}

.l-header__logo {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0.3s visible, 0.3s opacity;
  transition: 0.3s visible, 0.3s opacity;
}
.l-header__logo.is-in {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.l-header__logo a {
  text-decoration: none;
}
@media (any-hover) {
  .l-header__logo a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-header__logo a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767.98px) {
  .l-header__logo {
    width: 13.2rem;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: 0.3s opacity, 0.3s visibility;
    transition: 0.3s opacity, 0.3s visibility;
  }
  .l-header__logo.is-show {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}

.l-hamburger-wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 0.7rem;
  position: absolute;
  right: 3rem;
  top: 1rem;
}
@media screen and (max-width: 767.98px) {
  .l-hamburger-wrapper {
    margin-left: auto;
  }
}
.l-hamburger-wrapper.is-open .l-hamburger .c-line:first-of-type {
  top: calc(50% - 0.5px);
  -webkit-transform: rotate(30deg);
          transform: rotate(30deg);
  -webkit-transform-origin: center center;
          transform-origin: center center;
  -webkit-animation: unset;
          animation: unset;
}
.l-hamburger-wrapper.is-open .l-hamburger .c-line:nth-of-type(2) {
  opacity: 0;
  -webkit-animation: unset;
          animation: unset;
}
.l-hamburger-wrapper.is-open .l-hamburger .c-line:last-of-type {
  top: calc(50% - 0.5px);
  -webkit-transform: rotate(-30deg);
          transform: rotate(-30deg);
  -webkit-animation: unset;
          animation: unset;
  -webkit-transform-origin: center center;
          transform-origin: center center;
}

.l-hamburger {
  width: 4rem;
  background-color: transparent;
  position: relative;
  cursor: pointer;
  border: none;
  padding: 0;
}
@media (any-hover: hover) {
  .l-hamburger:hover .c-line:first-of-type {
    -webkit-animation: line-1 2s infinite;
            animation: line-1 2s infinite;
  }
  .l-hamburger:hover .c-line:nth-of-type(2) {
    -webkit-animation: line-2 2s -3.3s infinite;
            animation: line-2 2s -3.3s infinite;
  }
  .l-hamburger:hover .c-line:nth-of-type(3) {
    -webkit-animation: line-1 2s -0.1s infinite;
            animation: line-1 2s -0.1s infinite;
  }
}
@media screen and (max-width: 767.98px) {
  .l-hamburger {
    width: 2.8rem;
  }
}
.l-hamburger .c-line {
  width: 100%;
  height: 1px;
  position: absolute;
  background-color: #fff;
  left: 0;
  right: 0;
  margin: 0 auto;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;
  -webkit-transform-origin: top right;
          transform-origin: top right;
}
.l-hamburger .c-line:first-of-type {
  top: 0;
}
.l-hamburger .c-line:nth-of-type(2) {
  top: calc(50% - 0.5px);
}
.l-hamburger .c-line:last-of-type {
  top: calc(100% - 1px);
}

@-webkit-keyframes line-1 {
  0% {
    -webkit-transform: scale(0.7, 1);
            transform: scale(0.7, 1);
  }
  10% {
    -webkit-transform: scale(0.5, 1);
            transform: scale(0.5, 1);
  }
  20% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  30% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  40% {
    -webkit-transform: scale(0.5, 1);
            transform: scale(0.5, 1);
  }
  50% {
    -webkit-transform: scale(0.7, 1);
            transform: scale(0.7, 1);
  }
  60% {
    -webkit-transform: scale(0.5, 1);
            transform: scale(0.5, 1);
  }
  70% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  80% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  90% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  100% {
    -webkit-transform: scale(0.7, 1);
            transform: scale(0.7, 1);
  }
}

@keyframes line-1 {
  0% {
    -webkit-transform: scale(0.7, 1);
            transform: scale(0.7, 1);
  }
  10% {
    -webkit-transform: scale(0.5, 1);
            transform: scale(0.5, 1);
  }
  20% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  30% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  40% {
    -webkit-transform: scale(0.5, 1);
            transform: scale(0.5, 1);
  }
  50% {
    -webkit-transform: scale(0.7, 1);
            transform: scale(0.7, 1);
  }
  60% {
    -webkit-transform: scale(0.5, 1);
            transform: scale(0.5, 1);
  }
  70% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  80% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
  90% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  100% {
    -webkit-transform: scale(0.7, 1);
            transform: scale(0.7, 1);
  }
}
@-webkit-keyframes line-2 {
  0% {
    -webkit-transform: scale(0.3, 1);
            transform: scale(0.3, 1);
  }
  10% {
    -webkit-transform: scale(0.2, 1);
            transform: scale(0.2, 1);
  }
  20% {
    -webkit-transform: scale(0.4, 1);
            transform: scale(0.4, 1);
  }
  30% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  40% {
    -webkit-transform: scale(0.2, 1);
            transform: scale(0.2, 1);
  }
  50% {
    -webkit-transform: scale(0.3, 1);
            transform: scale(0.3, 1);
  }
  60% {
    -webkit-transform: scale(0.2, 1);
            transform: scale(0.2, 1);
  }
  70% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  80% {
    -webkit-transform: scale(0.4, 1);
            transform: scale(0.4, 1);
  }
  90% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  100% {
    -webkit-transform: scale(0.3, 1);
            transform: scale(0.3, 1);
  }
}
@keyframes line-2 {
  0% {
    -webkit-transform: scale(0.3, 1);
            transform: scale(0.3, 1);
  }
  10% {
    -webkit-transform: scale(0.2, 1);
            transform: scale(0.2, 1);
  }
  20% {
    -webkit-transform: scale(0.4, 1);
            transform: scale(0.4, 1);
  }
  30% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  40% {
    -webkit-transform: scale(0.2, 1);
            transform: scale(0.2, 1);
  }
  50% {
    -webkit-transform: scale(0.3, 1);
            transform: scale(0.3, 1);
  }
  60% {
    -webkit-transform: scale(0.2, 1);
            transform: scale(0.2, 1);
  }
  70% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  80% {
    -webkit-transform: scale(0.4, 1);
            transform: scale(0.4, 1);
  }
  90% {
    -webkit-transform: scale(0.1, 1);
            transform: scale(0.1, 1);
  }
  100% {
    -webkit-transform: scale(0.3, 1);
            transform: scale(0.3, 1);
  }
}
.l-hamburger-inner {
  display: block;
  position: relative;
  height: 2.2rem;
}
@media screen and (max-width: 767.98px) {
  .l-hamburger-inner {
    height: 1.6rem;
  }
}

.c-menu-text {
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  margin-top: 1.4rem;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .c-menu-text {
    font-size: 0.8rem;
    margin-top: 0.9rem;
  }
}

.l-language-wrapper {
  position: absolute;
  right: 0;
  top: 100%;
  width: 11rem;
}
@media screen and (max-width: 767.98px) {
  .l-language-wrapper {
    right: auto;
    left: 2rem;
    position: relative;
    top: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}

.l-language {
  background-color: transparent;
  padding: 0;
  border: none;
  position: relative;
  font: inherit;
  cursor: pointer;
  display: block;
  text-align: center;
  margin-left: auto;
  padding: 0 3rem 0 2rem;
}
@media screen and (max-width: 767.98px) {
  .l-language {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 0.8rem;
    margin: 0;
    padding: 0;
  }
  .l-language.is-open .c-language-txt::after {
    -webkit-transform: translateY(-10%) rotate(225deg);
            transform: translateY(-10%) rotate(225deg);
  }
}
.l-language .icn {
  display: block;
  width: 3.2rem;
  height: 3.2rem;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .l-language .icn {
    width: 1.4rem;
    height: 1.4rem;
    margin-top: 0.2rem;
  }
}

.c-language-txt {
  font-size: 1.4rem;
  color: #fff;
  white-space: nowrap;
  margin-top: 1rem;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .c-language-txt {
    position: relative;
    margin: 0 0 0 0.3rem;
    padding-right: 1.5rem;
    text-align: left;
    top: auto;
  }
  .c-language-txt::after {
    right: 0;
    content: "";
    position: absolute;
    width: 0.6rem;
    height: 0.6rem;
    border-bottom: 1px solid #fff;
    border-right: 1px solid #fff;
    top: 45%;
    -webkit-transform: translateY(-50%) rotate(45deg);
            transform: translateY(-50%) rotate(45deg);
    -webkit-transition: 0.3s -webkit-transform;
    transition: 0.3s -webkit-transform;
    transition: 0.3s transform;
    transition: 0.3s transform, 0.3s -webkit-transform;
  }
}

.l-select-language {
  position: relative;
  white-space: nowrap;
  right: 0;
  padding-top: 1rem;
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-select-language {
    position: static;
    padding-top: 0.5rem;
    margin: 0 0 0 1.7rem;
  }
}
.l-select-language li {
  font-size: 1.4rem;
  text-align: right;
}
.l-select-language li.is-current {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-select-language li {
    text-align: left;
  }
}
.l-select-language a {
  display: block;
  padding: 1rem 3rem 1rem 2rem;
  text-decoration: none;
  text-align: right;
  color: #fff;
}
@media (any-hover) {
  .l-select-language a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-select-language a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767.98px) {
  .l-select-language a {
    padding: 0.8rem 0;
    display: inline-block;
    position: relative;
    padding-right: 1.6rem;
    text-align: center;
  }
}

.l-global-nav-content {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  z-index: 100;
  height: 100vh;
  padding-top: 20rem;
  padding-bottom: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: url(../img/bg_nav.jpg) no-repeat top center/cover;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: 0.3s opacity, visibility 0.3s;
  transition: 0.3s opacity, visibility 0.3s;
}
@supports (background-image: url(image.webp)) {
  .l-global-nav-content {
    background-image: url(../img/bg_nav.webp);
  }
}
.l-global-nav-content.is-show {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}
@media screen and (max-width: 767.98px) {
  .l-global-nav-content {
    display: block;
    padding-top: 12rem;
    height: 100dvh;
    overflow: auto;
    background-image: url(../img/bg_nav_sp.jpg);
  }
  @supports (background-image: url(image.webp)) {
    .l-global-nav-content {
      background-image: url(../img/bg_nav_sp.webp);
    }
  }
}
.l-global-nav-content .p-utility-nav {
  margin-top: auto;
}
@media screen and (max-width: 767.98px) {
  .l-global-nav-content .p-utility-nav {
    margin-top: 16rem;
    padding: 0 2rem;
  }
}
.l-global-nav-content .p-utility-nav__item a {
  position: relative;
}
@media screen and (max-width: 767.98px) {
  .l-global-nav-content .p-utility-nav__item a {
    text-align: left;
    padding: 1.3rem 0;
  }
}

.p-primary-nav {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .p-primary-nav {
    width: auto;
    margin: 6rem 0 0;
    padding: 0 2rem;
  }
}

.p-primary-nav__list {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.p-primary-nav__item {
  font-size: 2.4rem;
  font-weight: 300;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767.98px) {
  .p-primary-nav__item {
    font-size: 2rem;
  }
}
.p-primary-nav__item + .p-primary-nav__item {
  margin-top: 4rem;
}
@media screen and (max-width: 767.98px) {
  .p-primary-nav__item + .p-primary-nav__item {
    margin-top: 0;
  }
}
.p-primary-nav__item a {
  color: #fff;
  text-decoration: none;
  position: relative;
  display: inline-block;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 767.98px) {
  .p-primary-nav__item a {
    padding: 1.2rem 0;
  }
}
@media (any-hover: hover) {
  .p-primary-nav__item a:hover::after {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
.p-primary-nav__item a::after {
  content: "";
  position: absolute;
  top: 100%;
  height: 1px;
  width: 100%;
  left: 0;
  right: 0;
  background-color: #fff;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transition: 0.6s -webkit-transform;
  transition: 0.6s -webkit-transform;
  transition: 0.6s transform;
  transition: 0.6s transform, 0.6s -webkit-transform;
  -webkit-transform-origin: left center;
          transform-origin: left center;
}
@media screen and (max-width: 767.98px) {
  .p-primary-nav__item a::after {
    display: none;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	footer
* --------------------------------------------------------------------------------------------------*/
#l-footer {
  padding-top: 5rem;
  padding-bottom: 4rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767.98px) {
  #l-footer {
    padding-bottom: 5rem;
  }
}

.l-footer__logo {
  width: 10.2rem;
  margin: 0 auto;
  text-align: center;
}
@media (any-hover) {
  .l-footer__logo a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-footer__logo a:hover {
    opacity: 0.7;
  }
}

#l-footer .p-utility-nav__list {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1rem 3rem;
  max-width: 56rem;
  margin-inline: auto;
}
@media screen and (max-width: 767.98px) {
  #l-footer .p-utility-nav__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-width: inherit;
    gap: 0 1.5rem;
    padding: 0 2rem;
  }
}

.l-footer__breadcrumbs {
  padding: 0 2rem;
  max-width: 80rem;
  margin: 0 auto 7rem;
}
@media screen and (max-width: 767.98px) {
  .l-footer__breadcrumbs {
    margin: 0 auto 4rem;
  }
}
.l-footer__breadcrumbs ol {
  padding: 0;
  margin: 0;
}
.l-footer__breadcrumbs ol li {
  list-style: none;
  font-size: 1.2rem;
  line-height: 1.4;
  display: inline;
}
.l-footer__breadcrumbs ol li:not(:last-child)::after {
  content: "";
  display: inline-block;
  margin-inline: 0.4em;
  clip-path: polygon(0 7%, 7% 0, 57% 50%, 7% 100%, 0 93%, 43% 50%, 0 7%);
  width: 1rem;
  aspect-ratio: 1;
  background-color: #949494;
}
.l-footer__breadcrumbs ol li a {
  color: #949494;
  text-underline-offset: 3px;
}
@media (any-hover) {
  .l-footer__breadcrumbs ol li a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-footer__breadcrumbs ol li a:hover {
    opacity: 0.7;
  }
}
.l-footer__breadcrumbs ol li a.current {
  pointer-events: none;
  text-decoration: none;
}

.p-utility-nav {
  margin-top: 7rem;
}
@media screen and (max-width: 767.98px) {
  .p-utility-nav {
    margin-top: 3rem;
  }
}

.p-utility-nav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0 3rem;
}
@media screen and (max-width: 767.98px) {
  .p-utility-nav__list {
    display: block;
  }
}

.p-utility-nav__item {
  font-size: 1.1rem;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 767.98px) {
  .p-utility-nav__item {
    text-align: center;
  }
}
.p-utility-nav__item a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  position: relative;
  padding-bottom: 0.5rem;
}
@media (any-hover: hover) {
  .p-utility-nav__item a:hover::before {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
  }
}
.p-utility-nav__item a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: #fff;
  width: 100%;
  -webkit-transform: scale(0, 1);
          transform: scale(0, 1);
  -webkit-transform-origin: left center;
          transform-origin: left center;
  -webkit-transition: 0.6s -webkit-transform;
  transition: 0.6s -webkit-transform;
  transition: 0.6s transform;
  transition: 0.6s transform, 0.6s -webkit-transform;
}
@media screen and (max-width: 767.98px) {
  .p-utility-nav__item a {
    display: block;
    text-align: center;
    padding: 1rem 0;
  }
}
.p-utility-nav__item a[target=_blank] span {
  display: inline-block;
  position: relative;
  padding-right: 1.5rem;
}
.p-utility-nav__item a[target=_blank] span::after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 1rem;
  background: url(../img/icn_blank.svg) no-repeat center center/100% 100%;
  top: 0.2rem;
  right: 0;
}

.c-copyright {
  margin-top: 4rem;
  display: block;
  font-size: 1rem;
  color: #949494;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  .c-copyright {
    margin-top: 2.4rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	main
* --------------------------------------------------------------------------------------------------*/
.p-svg {
  display: none;
}

.l-content_wrapper {
  width: 100%;
  overflow: hidden;
  position: relative;
}

.fade-blur {
  opacity: 0;
  -webkit-filter: blur(10rem);
          filter: blur(10rem);
}
@media screen and (max-width: 767.98px) {
  .fade-blur {
    -webkit-filter: blur(10vw);
            filter: blur(10vw);
  }
}
.fade-blur.js-fade-in {
  -webkit-animation: 1.7s bgblur ease forwards;
          animation: 1.7s bgblur ease forwards;
}
@media screen and (max-width: 767.98px) {
  .fade-blur.js-fade-in {
    -webkit-animation: 1.7s bgblur_sp ease forwards;
            animation: 1.7s bgblur_sp ease forwards;
  }
}

.fade-wipe {
  opacity: 0;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
.fade-wipe.wipe-right.js-fade-in {
  -webkit-animation: kv-right 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
          animation: kv-right 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
}
@media screen and (max-width: 767.98px) {
  .fade-wipe.wipe-right.js-fade-in {
    -webkit-animation: kv-right_sp 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
            animation: kv-right_sp 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
  }
}
.fade-wipe.wipe-left.js-fade-in {
  -webkit-animation: kv-left 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
          animation: kv-left 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
}
@media screen and (max-width: 767.98px) {
  .fade-wipe.wipe-left.js-fade-in {
    -webkit-animation: kv-left_sp 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
            animation: kv-left_sp 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
  }
}
.fade-wipe.wipe-all.js-fade-in {
  -webkit-animation: kv-all 3s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
          animation: kv-all 3s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
}
@media screen and (max-width: 767.98px) {
  .fade-wipe.wipe-all.js-fade-in {
    -webkit-animation: kv-all_sp 3s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
            animation: kv-all_sp 3s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
  }
}
.fade-wipe.wipe-lefttop.js-fade-in {
  -webkit-animation: kv-lefttop 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
          animation: kv-lefttop 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
}
@media screen and (max-width: 767.98px) {
  .fade-wipe.wipe-lefttop.js-fade-in {
    -webkit-animation: kv-lefttop_sp 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
            animation: kv-lefttop_sp 2s forwards cubic-bezier(0.42, 1.04, 0.78, 0.99);
  }
}
@-webkit-keyframes kv-right {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: ellipse(0% 0% at 0% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 0% 50%);
  }
}
@keyframes kv-right {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: ellipse(0% 0% at 0% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 0% 50%);
  }
}
@-webkit-keyframes kv-right_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: ellipse(0% 0% at 0% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 0% 50%);
  }
}
@keyframes kv-right_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: ellipse(0% 0% at 0% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 0% 50%);
  }
}
@-webkit-keyframes kv-left {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: ellipse(0% 0% at 100% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 50% 50%);
  }
}
@keyframes kv-left {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: ellipse(0% 0% at 100% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 50% 50%);
  }
}
@-webkit-keyframes kv-left_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: ellipse(0% 0% at 100% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 50% 50%);
  }
}
@keyframes kv-left_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: ellipse(0% 0% at 100% 50%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 50% 50%);
  }
}
@-webkit-keyframes kv-all {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: circle(0% at 31.6% 38%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: circle(100% at 31.6% 38%);
  }
}
@keyframes kv-all {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: circle(0% at 31.6% 38%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: circle(100% at 31.6% 38%);
  }
}
@-webkit-keyframes kv-all_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: circle(0% at 41% 33%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: circle(100% at 41% 33%);
  }
}
@keyframes kv-all_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: circle(0% at 41% 33%);
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: circle(100% at 41% 33%);
  }
}
@-webkit-keyframes kv-lefttop {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: ellipse(0% 0% at 100% 10%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 90% 10%);
  }
}
@keyframes kv-lefttop {
  0% {
    opacity: 0;
    -webkit-filter: blur(2rem);
            filter: blur(2rem);
    clip-path: ellipse(0% 0% at 100% 10%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 90% 10%);
  }
}
@-webkit-keyframes kv-lefttop_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: ellipse(0% 0% at 100% 10%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 90% 10%);
  }
}
@keyframes kv-lefttop_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(2vw);
            filter: blur(2vw);
    clip-path: ellipse(0% 0% at 100% 10%);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
    clip-path: ellipse(120% 120% at 90% 10%);
  }
}

.js-fade.fade-in {
  opacity: 0;
  -webkit-transition: opacity 1.7s ease;
  transition: opacity 1.7s ease;
}
.js-fade.fade-in.js-fade-in {
  opacity: 1;
}

@-webkit-keyframes bgblur {
  0% {
    opacity: 0;
    -webkit-filter: blur(10rem);
            filter: blur(10rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}

@keyframes bgblur {
  0% {
    opacity: 0;
    -webkit-filter: blur(10rem);
            filter: blur(10rem);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@-webkit-keyframes bgblur_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(10vw);
            filter: blur(10vw);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
@keyframes bgblur_sp {
  0% {
    opacity: 0;
    -webkit-filter: blur(10vw);
            filter: blur(10vw);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
}
.l-bg-kv_all,
.l-bg-kv00,
.l-bg-kv01,
.l-bg-kv02,
.l-bg-kv03,
.l-bg-kv04,
.l-bg-kv05,
.l-bg-kv06 {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.l-bg-kv_all.fade-blur,
.l-bg-kv00.fade-blur,
.l-bg-kv01.fade-blur,
.l-bg-kv02.fade-blur,
.l-bg-kv03.fade-blur,
.l-bg-kv04.fade-blur,
.l-bg-kv05.fade-blur,
.l-bg-kv06.fade-blur {
  -webkit-transition: -webkit-transform 1.4s ease;
  transition: -webkit-transform 1.4s ease;
  transition: transform 1.4s ease;
  transition: transform 1.4s ease, -webkit-transform 1.4s ease;
}
.l-bg-kv_all.fade-blur.js-fade-in,
.l-bg-kv00.fade-blur.js-fade-in,
.l-bg-kv01.fade-blur.js-fade-in,
.l-bg-kv02.fade-blur.js-fade-in,
.l-bg-kv03.fade-blur.js-fade-in,
.l-bg-kv04.fade-blur.js-fade-in,
.l-bg-kv05.fade-blur.js-fade-in,
.l-bg-kv06.fade-blur.js-fade-in {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.l-bg-circle01_box.fade-wipe.js-fade-in,
.l-bg-circle01.fade-wipe.js-fade-in {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

.l-bg-kv_all.fade-wipe.js-fade-in {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

@media screen and (max-width: 767.98px) {
  .l-bg-kv00 {
    display: none;
  }
}
.l-bg-kv00.fade-wipe.js-fade-in {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}

.l-bg-kv01 {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv01 {
    display: block;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv01.fade-wipe.js-fade-in {
    -webkit-animation-delay: 3s;
            animation-delay: 3s;
  }
}

.l-bg-kv02 {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv02 {
    display: block;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv02.fade-wipe.js-fade-in {
    -webkit-animation-delay: 3s;
            animation-delay: 3s;
  }
}

.l-bg-kv03 {
  display: none;
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv03 {
    display: block;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv03.fade-wipe.js-fade-in {
    -webkit-animation-delay: 3s;
            animation-delay: 3s;
  }
}

.l-bg-kv04.fade-wipe.js-fade-in,
.l-bg-kv05.fade-wipe.js-fade-in,
.l-bg-kv06.fade-wipe.js-fade-in {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
}

.l-bg-content01.fade-wipe.js-fade-in {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}

.l-bg-kv_all {
  z-index: 2;
  top: 0;
  height: 0;
  padding-top: 91.56%;
  background: url(../img/bg_kv_all.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv_all {
    background: url(../img/bg_kv_all.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv_all {
    padding-top: 188.5%;
    background: url(../img/bg_kv_all_sp.png) no-repeat left top;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv_all {
      background: url(../img/bg_kv_all_sp.webp) no-repeat left top;
      background-size: 100%;
    }
  }
}

.l-bg-kv00 {
  z-index: 2;
  top: 0;
  height: 0;
  padding-top: 91.56%;
  background: url(../img/bg_kv00.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv00 {
    background: url(../img/bg_kv00.webp) no-repeat center top;
    background-size: 100%;
  }
}

.l-bg-kv01 {
  z-index: 2;
  top: 0;
  height: 0;
  padding-top: 77.56%;
  background: url(../img/bg_kv01.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv01 {
    background: url(../img/bg_kv01.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv01 {
    top: 3vw;
    padding-top: 91.5%;
    background: url(../img/bg_kv01_sp.png) no-repeat left top;
    background-size: 33.33%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv01 {
      background: url(../img/bg_kv01_sp.webp) no-repeat left top;
      background-size: 33.33%;
    }
  }
}
.l-bg-kv01.fade-blur {
  -webkit-animation-delay: 1.7s;
          animation-delay: 1.7s;
  -webkit-transform: translate(30vw, 15vw);
          transform: translate(30vw, 15vw);
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

.l-bg-kv02 {
  z-index: 2;
  top: 0;
  height: 0;
  padding-top: 43.75%;
  background: url(../img/bg_kv02.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv02 {
    background: url(../img/bg_kv02.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv02 {
    top: 16.8vw;
    left: auto;
    right: 0;
    width: 77.5vw;
    height: 63vw;
    background: url(../img/bg_kv02_sp.png) no-repeat right center;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv02 {
      background: url(../img/bg_kv02_sp.webp) no-repeat right center;
      background-size: 100%;
    }
  }
}
.l-bg-kv02.fade-blur {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
  -webkit-transform: translate(-30vw, 15vw);
          transform: translate(-30vw, 15vw);
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

.l-bg-kv03 {
  z-index: 1;
  top: 0;
  height: 0;
  padding-top: 92%;
  background: url(../img/bg_kv03.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv03 {
    background: url(../img/bg_kv03.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv03 {
    top: 44.8vw;
    left: auto;
    right: 0;
    width: 63.2vw;
    height: 187vw;
    background: url(../img/bg_kv03_sp.png) no-repeat right top;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv03 {
      background: url(../img/bg_kv03_sp.webp) no-repeat right top;
      background-size: 100%;
    }
  }
}
.l-bg-kv03.fade-blur {
  -webkit-animation-delay: 2.3s;
          animation-delay: 2.3s;
  -webkit-transform: translate(-30vw, -15vw);
          transform: translate(-30vw, -15vw);
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv03.fade-blur {
    -webkit-transform: translate(-30vw, -25vw);
            transform: translate(-30vw, -25vw);
  }
}

.l-bg-kv04 {
  z-index: 20;
  top: 13.8rem;
  left: 0;
  right: 1.7rem;
  margin: auto;
  width: 12.36vw;
  height: 12.36vw;
  background: url(../img/bg_kv04.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv04 {
    background: url(../img/bg_kv04.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv04 {
    top: 17.2vw;
    left: auto;
    right: 15.7vw;
    width: 22vw;
    height: 22vw;
    background: url(../img/bg_kv04.png) no-repeat center center;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv04 {
      background: url(../img/bg_kv04.webp) no-repeat center center;
      background-size: 100%;
    }
  }
}
.l-bg-kv04.fade-blur {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.l-bg-kv05 {
  z-index: 20;
  top: 13.6rem;
  left: 39.5rem;
  margin: auto;
  width: 6.8vw;
  height: 5.34vw;
  background: url(../img/bg_kv05.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv05 {
    background: url(../img/bg_kv05.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv05 {
    top: 16vw;
    left: 33.86vw;
    width: 12vw;
    height: 9.33vw;
    background: url(../img/bg_kv05.png) no-repeat center center;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv05 {
      background: url(../img/bg_kv05.webp) no-repeat center center;
      background-size: 100%;
    }
  }
}
.l-bg-kv05.fade-blur {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.l-bg-kv06 {
  z-index: 20;
  top: 5rem;
  left: 27rem;
  margin: auto;
  width: 6.597vw;
  height: 6.736vw;
  background: url(../img/bg_kv06.png) no-repeat center top;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-kv06 {
    background: url(../img/bg_kv06.webp) no-repeat center top;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-kv06 {
    top: 5.33vw;
    left: 18.6vw;
    width: 12.85vw;
    height: 12.85vw;
    background: url(../img/bg_kv06_sp.png) no-repeat center center;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-kv06 {
      background: url(../img/bg_kv06_sp.webp) no-repeat center center;
      background-size: 100%;
    }
  }
}
.l-bg-kv06.fade-blur {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

.l-bg-circle01_box,
.l-bg-circle01,
.l-bg-circle01_bg {
  position: absolute;
  z-index: 10;
  top: 7.7vw;
  left: 5.2vw;
  width: 52vw;
  height: 52vw;
}
@media screen and (max-width: 767.98px) {
  .l-bg-circle01_box,
  .l-bg-circle01,
  .l-bg-circle01_bg {
    top: 14.5vw;
    left: -5vw;
    width: 93vw;
    height: 93vw;
  }
}

.l-bg-circle01_box {
  background: url(../img/bg_circle01_02.png) no-repeat center center;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-circle01_box {
    background: url(../img/bg_circle01_02.webp) no-repeat center center;
    background-size: 100%;
  }
}

.l-bg-circle01 {
  z-index: 11;
  mix-blend-mode: exclusion;
  background: url(../img/bg_circle01.png) no-repeat center center;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-circle01 {
    background: url(../img/bg_circle01.webp) no-repeat center center;
    background-size: 100%;
  }
}

.l-bg-circle01_bg {
  z-index: 1;
  background: url(../img/bg_circle01_03.png) no-repeat center center;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-circle01_bg {
    background: url(../img/bg_circle01_03.webp) no-repeat center center;
    background-size: 100%;
  }
}

.l-bg-circle02 {
  position: absolute;
  z-index: 10;
  top: 83.4rem;
  right: -23.2rem;
  width: 95rem;
  height: 95rem;
  mix-blend-mode: exclusion;
  background: url(../img/bg_circle02.png) no-repeat center center;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-circle02 {
    background: url(../img/bg_circle02.webp) no-repeat center center;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-circle02 {
    top: 254vw;
    right: -49vw;
    width: 126vw;
    height: 126vw;
    background: url(../img/bg_circle02_sp.png) no-repeat center center;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-circle02 {
      background: url(../img/bg_circle02_sp.webp) no-repeat center center;
      background-size: 100%;
    }
  }
}

.anm-circle {
  -webkit-transition: opacity 0.8s ease, -webkit-filter 0.8s ease;
  transition: opacity 0.8s ease, -webkit-filter 0.8s ease;
  transition: opacity 0.8s ease, filter 0.8s ease;
  transition: opacity 0.8s ease, filter 0.8s ease, -webkit-filter 0.8s ease;
  opacity: 0;
  -webkit-filter: blur(10rem);
          filter: blur(10rem);
}
@media screen and (max-width: 767.98px) {
  .anm-circle {
    -webkit-filter: blur(10vw);
            filter: blur(10vw);
  }
}
.anm-circle.js-fade-in {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.l-bg-content01,
.l-bg-content02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.l-bg-content01 {
  z-index: 2;
  top: 137.5rem;
  height: 0;
  padding-top: 86.07%;
  background: url(../img/bg_content01_line01.png) no-repeat center center;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-content01 {
    background: url(../img/bg_content01_line01.webp) no-repeat center center;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-content01 {
    top: 205vw;
    height: 282vw;
    padding: 0;
    background: url(../img/bg_content01_line01_sp.png) no-repeat center top;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-content01 {
      background: url(../img/bg_content01_line01_sp.webp) no-repeat center top;
      background-size: 100%;
    }
  }
}

.l-bg-content02 {
  z-index: 1;
  /* top: 280.3rem; */
  top: 384rem;
  margin-top: 5%;
  height: 0;
  padding-top: 95.9375%;
  background: url(../img/bg_content02_line01.png) no-repeat center center;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-content02 {
    background: url(../img/bg_content02_line01.webp) no-repeat center center;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-content02 {
    z-index: 2;
    /* top: 495vw; */
    top: 722vw;
    height: 98.8vw;
    padding: 0;
    background: url(../img/bg_content02_line01_sp.png) no-repeat center center;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-content02 {
      background: url(../img/bg_content02_line01_sp.webp) no-repeat center center;
      background-size: 100%;
    }
  }
}

.l-bg-btm01,
.l-bg-btm02 {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.l-bg-btm01 {
  display: none;
  z-index: 2;
  height: 120vw;
  background: url(../img/bg_bottom02.png) no-repeat center bottom;
  background-size: 100%;
}
@supports (background-image: url(image.webp)) {
  .l-bg-btm01 {
    background: url(../img/bg_bottom02.webp) no-repeat center bottom;
    background-size: 100%;
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-btm01 {
    height: 215.7vw;
    bottom: 37vw;
    background-size: cover;
  }
}

.l-bg-btm02 {
  z-index: 1;
  height: 120vw;
  background: url(../img/bg_bottom_line01.png) no-repeat;
  background-size: 100%;
  background-position: center calc(100% - 5rem);
}
@supports (background-image: url(image.webp)) {
  .l-bg-btm02 {
    background: url(../img/bg_bottom_line01.webp) no-repeat;
    background-size: 100%;
    background-position: center calc(100% - 5rem);
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg-btm02 {
    height: 151.8vw;
    bottom: 85vw;
    background: url(../img/bg_bottom_line01_sp.png) no-repeat center bottom;
    background-size: 100%;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg-btm02 {
      background: url(../img/bg_bottom_line01_sp.webp) no-repeat center bottom;
      background-size: 100%;
    }
  }
}

.l-bg {
  position: absolute;
  margin: 0 auto;
  height: 100%;
  width: 100%;
  background-color: #2d2927;
  background-image: url(../img/bg_kv.jpg), url(../img/bg_bottom01.png);
  background-repeat: no-repeat;
  background-position: top center, bottom center;
  background-size: 100% auto, 100% 180rem;
}
@supports (background-image: url(image.webp)) {
  .l-bg {
    background-image: url(../img/bg_kv.webp), url(../img/bg_bottom01.webp);
  }
}
@media screen and (max-width: 767.98px) {
  .l-bg {
    min-width: inherit;
    background-image: url(../img/bg_kv_sp.png), url(../img/bg_bottom01_sp.png);
    background-size: 100% auto;
    background-position: top center, bottom center;
  }
  @supports (background-image: url(image.webp)) {
    .l-bg {
      background-image: url(../img/bg_kv_sp.webp), url(../img/bg_bottom01_sp.webp);
    }
  }
}

/*
.l-bg2 {
	position: absolute;
	top: 132rem;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url(../img/bg_content01.png) #2d2927 no-repeat top center/100% auto;
	// WebP対応
	@supports (background-image: url(image.webp)) {
		background-image: url(../img/bg_content01.webp);
	}
	@include mq(m) {
		top: 204vw;
		background-image: url(../img/bg_content01_sp.png);
		// WebP対応
		@supports (background-image: url(image.webp)) {
			background-image: url(../img/bg_content01_sp.webp);
		}
	}
}

.l-bg3 {
	position: absolute;
	top: 258rem;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url(../img/bg_content02.png) no-repeat top center/100% auto;
	// WebP対応
	@supports (background-image: url(image.webp)) {
		background-image: url(../img/bg_content02.webp);
	}
	@include mq(m) {
		top: 413vw;
		background-image: url(../img/bg_content02_sp.png);
		// WebP対応
		@supports (background-image: url(image.webp)) {
			background-image: url(../img/bg_content02_sp.webp);
		}
	}
}
.l-bg4 {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background: url(../img/bg_bottom.png) no-repeat bottom center/100% auto;
	// WebP対応
	@supports (background-image: url(image.webp)) {
		background-image: url(../img/bg_bottom.webp);
	}
	@include mq(m) {
		background-image: url(../img/bg_bottom_sp.png);
		// WebP対応
		@supports (background-image: url(image.webp)) {
			background-image: url(../img/bg_bottom_sp.webp);
		}
	}
} */
#mv {
  height: 100vh;
  position: relative;
  z-index: 100;
}
@media screen and (max-width: 767.98px) {
  #mv {
    aspect-ratio: inherit;
    height: auto;
  }
}

.p-update-history {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  margin: 0 auto;
  width: calc(100% - 20rem);
  font-size: 1.2rem;
  z-index: 1000;
  -webkit-transition: 0.3s opacity;
  transition: 0.3s opacity;
  opacity: 0;
  pointer-events: none;
}
.p-update-history.is-in {
  opacity: 1;
  pointer-events: auto;
}
.p-update-history::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  right: 0;
  top: 0;
  mix-blend-mode: soft-light;
  z-index: -1;
  pointer-events: none;
}
@media screen and (max-width: 767.98px) {
  .p-update-history {
    min-width: inherit;
    display: none;
  }
}
.p-update-history .u-en {
  font-weight: 300;
}
.p-update-history a {
  color: #fff;
  text-decoration: none;
}
@media (any-hover) {
  .p-update-history a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-update-history a:hover {
    opacity: 0.7;
  }
}

.p-update-history__inner {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  gap: 0 1em;
  padding: 3.35rem 3rem 3.4rem;
  min-width: 48rem;
}

#copy {
  margin-top: 8rem;
  padding-top: 6.6rem;
  padding-bottom: 52rem;
  position: relative;
  z-index: 20;
}
@media screen and (max-width: 767.98px) {
  #copy {
    margin-top: 8rem;
    padding-top: 6rem;
    padding-bottom: 28rem;
  }
}
#copy .l-content__inner {
  max-width: 120rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 0 2rem;
  position: relative;
}
@media screen and (max-width: 767.98px) {
  #copy .l-content__inner {
    display: block;
  }
}
#copy .p-txt-wrapper {
  max-width: 61.6rem;
  position: relative;
  z-index: 10;
}
#copy .c-catch {
  font-size: 3.6rem;
  font-weight: 400;
  margin-bottom: 3.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767.98px) {
  #copy .c-catch {
    font-size: 2.3rem;
    margin-bottom: 2.3rem;
  }
}
#copy .c-txt {
  letter-spacing: 0.1em;
  line-height: 2.3;
}
@media screen and (max-width: 767.98px) {
  #copy .c-txt {
    font-size: 1.2rem;
    line-height: 1.9;
  }
}
#copy .c-txt + .c-txt {
  margin-top: 1em;
}

.p-mv__inner {
  position: relative;
  height: 100%;
  padding-bottom: 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767.98px) {
  .p-mv__inner {
    padding-bottom: 2rem;
  }
}

.c-content__ttl {
  max-width: 120rem;
  margin: auto auto 0;
  padding: 0 2rem;
}
.c-content__ttl picture {
  display: block;
}
@media screen and (max-width: 767.98px) {
  .c-content__ttl {
    margin-top: 33.4rem;
  }
}

.l-content__inner {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0 auto;
}

.c-section__ttl {
  font-size: 8rem;
  font-weight: 300;
  color: #fff;
  letter-spacing: 0;
  line-height: 1.2;
}
.c-section__ttl span {
  font-size: 5.4rem;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .c-section__ttl {
    font-size: 4.8rem;
  }
}

.c-txt {
  font-size: 1.4rem;
  line-height: 2.3857142857;
}
@media screen and (max-width: 767.98px) {
  .c-txt {
    font-size: 1.2rem;
    line-height: 1.9;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	MDW
* --------------------------------------------------------------------------------------------------*/
#mdw {
  margin-top: 4rem;
  padding-top: 6rem;
  padding-bottom: 20rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767.98px) {
  #mdw {
    margin-top: 4rem;
    padding-top: 6.3rem;
    padding-bottom: 12rem;
  }
}
#mdw .l-content__inner {
  padding: 0 2rem;
  max-width: 120rem;
}
@media screen and (max-width: 767.98px) {
  #mdw .l-content__inner {
    padding: 0 3rem;
  }
}
#mdw .c-section__ttl {
  max-width: 110rem;
  margin: 0 auto;
}
@media screen and (max-width: 862px) {
  #mdw .c-section__ttl {
    font-size: 5.5rem;
  }
  #mdw .c-section__ttl span {
    font-size: 3.3rem;
  }
}
@media screen and (max-width: 767.98px) {
  #mdw .c-section__ttl {
    font-size: 3rem;
  }
  #mdw .c-section__ttl span {
    font-size: 2rem;
  }
}
#mdw .l-mdw-wrapper {
  position: relative;
}
#mdw .p-img02 {
  position: absolute;
  z-index: 2;
  left: 9%;
  bottom: 15px;
  display: block;
  width: 450px;
  max-width: 35%;
  aspect-ratio: 1054/1134;
  background: url(../img/img_mdw_logo.png) no-repeat top center/cover;
}
@supports (background-image: url(image.webp)) {
  #mdw .p-img02 {
    background-image: url(../img/img_mdw_logo.webp);
  }
}
@media screen and (max-width: 767.98px) {
  #mdw .p-img02 {
    display: none;
  }
}
#mdw .l-mdw-img-box {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 65rem;
  margin-right: 10rem;
  margin-top: 2rem;
  margin-left: auto;
  margin-bottom: 2.7rem;
}
@media screen and (max-width: 767.98px) {
  #mdw .l-mdw-img-box {
    width: 100%;
    margin: 2.6rem auto 3rem;
  }
}
#mdw .p-img-wrapper {
  display: block;
  aspect-ratio: 1500/844;
  background: url(../img/img_mdw.jpg) no-repeat top center/cover;
}
@supports (background-image: url(image.webp)) {
  #mdw .p-img-wrapper {
    background-image: url(../img/img_mdw.webp);
  }
}
@media screen and (max-width: 767.98px) {
  #mdw .p-img-wrapper {
    aspect-ratio: 626/354;
  }
}
#mdw .p-txt-wrapper {
  max-width: 63.6rem;
  margin: 0 0 0 auto;
  padding-bottom: 0;
}
@media screen and (max-width: 767.98px) {
  #mdw .p-txt-wrapper {
    margin-top: 3.1rem;
    padding-bottom: 0;
  }
}
#mdw .p-txt-wrapper .c-txt a {
  color: inherit;
  text-decoration: none;
}
#mdw .p-link-wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-top: 3rem;
}
#mdw .p-link-wrapper a {
  color: currentColor;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 300;
  position: relative;
  padding-right: 2rem;
  letter-spacing: 0.05em;
}
@media (any-hover) {
  #mdw .p-link-wrapper a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  #mdw .p-link-wrapper a:hover {
    opacity: 0.7;
  }
}
@media (any-hover: hover) {
  #mdw .p-link-wrapper a:hover svg {
    right: -0.5rem;
  }
}
#mdw .p-link-wrapper a svg {
  position: absolute;
  right: 0;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s right;
  transition: 0.3s right;
}

@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/* ----------------------------------------------------------------------------------------------------
*	FTT
* --------------------------------------------------------------------------------------------------*/
#ftt {
  position: relative;
  z-index: 9;
  /* @supports (background-image: url(image.webp)) {
  	background: url(../img/bg_ftt.webp) no-repeat center center/100% 100%;
  } */
}
@media screen and (max-width: 767.98px) {
  #ftt {
    padding-top: 15rem;
    padding-bottom: 1rem;
  }
}
#ftt .p-img-product {
  width: 100%;
}
#ftt .p-img-product img {
  width: 100%;
}
#ftt .l-content__inner {
  position: absolute;
  bottom: 37vw;
  left: 0;
  right: 0;
  z-index: 10;
  max-width: 60rem;
  /* &::before {
  	position: absolute;
  	z-index: 1;
  	top: 0;
  	left: 0;
  	content: "";
  	display: block;
  	width: 100%;
  	height: 100%;
  	pointer-events: none;
  	border-radius: 30rem;
  	background: linear-gradient(to bottom, #39409c, #161a50);
  	box-shadow: 0 0 6rem 1rem rgba(255, 255, 255, 0.5);
  	opacity: 0.6;
  	@include mq(m) {
  		box-shadow: 0 0 3rem 0.5rem rgba(255, 255, 255, 0.5);
  	}
  } */
}
@media screen and (max-width: 767.98px) {
  #ftt .l-content__inner {
    bottom: auto;
    top: 22.5rem;
  }
}
#ftt .l-content__inner > * {
  position: relative;
  z-index: 2;
}
#ftt .c-section__ttl {
  text-align: center;
  line-height: 1.1;
  font-size: 7.2rem;
}
@media screen and (max-width: 767.98px) {
  #ftt .c-section__ttl {
    font-size: 3rem;
  }
}
#ftt .c-txt {
  font-size: 3.6rem;
  text-align: center;
  font-weight: 200;
  margin-top: 3rem;
  line-height: 1;
}
@media screen and (max-width: 767.98px) {
  #ftt .c-txt {
    font-size: 1.8rem;
    margin-top: 1.4rem;
  }
}
#ftt .c-date {
  letter-spacing: 0.05em;
  font-size: 3.2rem;
  font-weight: 300;
  margin-top: 4.3rem;
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  #ftt .c-date {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	NEWS
* --------------------------------------------------------------------------------------------------*/
#news {
  margin-top: 4rem;
  padding-top: 6rem;
  padding-bottom: 22.7rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 767.98px) {
  #news {
    margin-top: 0;
    padding-top: 2rem;
    padding-bottom: 9.7rem;
  }
}
#news .l-content__inner {
  padding: 0 2rem;
}
#news .c-section__ttl {
  text-align: center;
}
@media screen and (max-width: 767.98px) {
  #news .c-section__ttl {
    font-size: 3rem;
  }
}

.p-news__slide {
  position: relative;
  padding-bottom: 5rem;
}
@media screen and (max-width: 767.98px) {
  .p-news__slide {
    padding-bottom: 3rem;
  }
}
.p-news__slide .swiper-slide:not(.swiper-slide-active) {
  opacity: 0 !important;
}

.p-news__list {
  max-width: 60rem;
  margin: 5rem auto 0;
}
@media screen and (max-width: 767.98px) {
  .p-news__list {
    margin-top: 1rem;
  }
}

.p-news__item {
  border-bottom: 1px solid #4d4d4d;
  padding: 3rem 0;
}
@media screen and (max-width: 767.98px) {
  .p-news__item {
    padding: 2rem 0;
  }
}
.p-news__item a {
  text-decoration: none;
  color: currentColor;
}
@media (any-hover: hover) {
  .p-news__item a:hover p {
    -webkit-box-shadow: none;
            box-shadow: none;
  }
}
.p-news__item a p {
  display: inline;
  -webkit-box-shadow: 0 1px 0 0 currentColor;
          box-shadow: 0 1px 0 0 currentColor;
}

.p-news__inner {
  color: #fff;
}
.p-news__inner .c-time {
  display: block;
  font-weight: 300;
  font-size: 1.2rem;
  color: #949494;
  margin-bottom: 1rem;
}
.p-news__inner p {
  font-size: 1.4rem;
  line-height: 1.9;
}
@media screen and (max-width: 767.98px) {
  .p-news__inner p {
    font-size: 1.2rem;
    line-height: 1.9;
  }
}

.swiper-controller-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 2rem;
  height: 0.8rem;
}

.swiper-button-prev {
  left: auto;
  right: auto;
  color: #fff;
  width: 2rem;
  height: 2rem;
  position: relative;
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-top: 0;
}
@media (any-hover) {
  .swiper-button-prev {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .swiper-button-prev:hover {
    opacity: 0.7;
  }
}
.swiper-button-prev::after {
  content: "";
}
@media screen and (max-width: 767.98px) {
  .swiper-button-prev {
    width: 1.3rem;
    height: 1.3rem;
  }
}

.swiper-button-next {
  right: auto;
  width: 2rem;
  height: 2rem;
  color: #fff;
  position: relative;
  border-right: 1px solid #fff;
  border-top: 1px solid #fff;
  top: 0;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  margin-top: 0;
}
@media (any-hover) {
  .swiper-button-next {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .swiper-button-next:hover {
    opacity: 0.7;
  }
}
.swiper-button-next::after {
  content: "";
}
@media screen and (max-width: 767.98px) {
  .swiper-button-next {
    width: 1.3rem;
    height: 1.3rem;
  }
}

.swiper-pagination {
  /* position: relative; */
  right: auto;
  width: -webkit-fit-content !important;
  width: -moz-fit-content !important;
  width: fit-content !important;
  position: static;
  line-height: 0;
}
@media screen and (max-width: 767.98px) {
  .swiper-pagination {
    left: 0 !important;
  }
}

.swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  background-color: #696969;
  opacity: 1;
  margin: 0 1rem !important;
}
@media screen and (max-width: 767.98px) {
  .swiper-pagination-bullet {
    margin: 0 0.5rem !important;
    width: 0.6rem;
    height: 0.6rem;
  }
}

.swiper-pagination-bullet-active {
  background-color: #fff;
}

.p-pager {
  margin-top: 5rem;
}

.p-pager__list {
  font-size: 1.5rem;
  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: 767.98px) {
  .p-pager__list {
    font-size: 1.6rem;
  }
}

.p-pager__item {
  color: #ffffff;
}
@media (any-hover) {
  .p-pager__item a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-pager__item a:hover {
    opacity: 0.7;
  }
}
.p-pager__item a,
.p-pager__item span {
  display: inline-block;
  padding: 1rem;
  color: currentColor;
  text-decoration: none;
}
.p-pager__item a.c-current, .p-pager__item a.c-disabled,
.p-pager__item span.c-current,
.p-pager__item span.c-disabled {
  color: #727272;
}
.p-pager__item a.c-current .p-icn-arrow, .p-pager__item a.c-disabled .p-icn-arrow,
.p-pager__item span.c-current .p-icn-arrow,
.p-pager__item span.c-disabled .p-icn-arrow {
  fill: #727272;
}

.p-icn-arrow {
  width: 1rem;
  height: auto;
  height: 1.1rem;
  fill: #fff;
}

.p-top-arrow {
  position: absolute;
  font-size: 1rem;
  bottom: 3rem;
  right: 3rem;
}
@media screen and (max-width: 767.98px) {
  .p-top-arrow {
    bottom: 37rem;
  }
}
.p-top-arrow p {
  margin-top: 1rem;
}
.p-top-arrow a {
  display: -ms-grid;
  display: grid;
  place-content: center;
  display: block;
  color: #fff;
  text-align: center;
  text-decoration: none;
}
@media (any-hover) {
  .p-top-arrow a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-top-arrow a:hover {
    opacity: 0.7;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	HOTARU
* --------------------------------------------------------------------------------------------------*/
#product {
  position: relative;
  z-index: 10;
  padding-top: 0;
  padding-bottom: 0;
  margin-top: 10rem;
}
#product .anchor {
  position: absolute;
  top: calc(50% - (42rem + 10vw));
  padding-top: 10rem;
}
@media screen and (max-width: 767.98px) {
  #product .anchor {
    top: 0;
  }
}
@media screen and (max-width: 767.98px) {
  #product {
    margin-top: 14rem;
  }
}
#product .img_hotaru {
  margin-top: -20rem;
}
@media screen and (max-width: 767.98px) {
  #product .img_hotaru {
    margin-top: 0;
  }
}
#product .img_hotaru img {
  width: 100%;
  height: auto;
}
#product .c-section__ttl {
  margin: 3.4rem auto 0;
  max-width: 34rem;
  width: 28vw;
}
@media screen and (max-width: 767.98px) {
  #product .c-section__ttl {
    width: 17rem;
    margin-top: 1.6rem;
  }
}
#product .p-txt-wrapper {
  position: absolute;
  top: calc(50% - (45rem + 10vw));
  left: 0;
  right: 0;
  text-align: center;
  z-index: 10;
  padding-top: 10rem;
}
@media screen and (max-width: 767.98px) {
  #product .p-txt-wrapper {
    top: 0;
  }
}
#product .p-btn-wrapper {
  position: absolute;
  z-index: 10;
  bottom: calc(50% - (-4rem + 35vw));
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  left: 0;
  right: 0;
  width: 27.3rem;
}
@media screen and (max-width: 767.98px) {
  #product .p-btn-wrapper {
    width: 16.8rem;
    bottom: 17%;
  }
}
#product .p-btn-wrapper .c-btn {
  font-size: 2.5rem;
  color: #fff;
  text-decoration: none;
  font-weight: 300;
  border: 1px solid #fff;
  padding: 2rem;
  max-height: 6rem;
  width: 100%;
  display: block;
  text-align: center;
  letter-spacing: 0.05em;
  -webkit-transition: 0.3s background-color, 0.3s color;
  transition: 0.3s background-color, 0.3s color;
}
@media screen and (max-width: 767.98px) {
  #product .p-btn-wrapper .c-btn {
    font-size: 2rem;
    max-height: 4.2rem;
    padding: 1.5rem;
  }
}
@media (any-hover: hover) {
  #product .p-btn-wrapper .c-btn:hover {
    background-color: #fff;
    color: #000;
  }
  #product .p-btn-wrapper .c-btn:hover span:after {
    background-color: #000;
  }
}
#product .p-btn-wrapper .c-btn span {
  position: relative;
  display: inline-block;
}
#product .p-btn-wrapper .c-btn span::after {
  left: calc(100% + 2.6rem);
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2.3rem;
  height: 2.3rem;
  background-color: #fff;
  -webkit-mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24.71 24.4"><title>arrow</title><path class="cls-1" d="M12.59,2.5H1v20.9h20.9v-11.59h1v12.59H0V1.5h12.59v1Z"/><rect class="cls-2" x="8.96" y="6.23" width="18.03" height="1" transform="translate(.51 14.68) rotate(-44.98)"/></svg>');
          mask-image: url('data:image/svg+xml;utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24.71 24.4"><title>arrow</title><path class="cls-1" d="M12.59,2.5H1v20.9h20.9v-11.59h1v12.59H0V1.5h12.59v1Z"/><rect class="cls-2" x="8.96" y="6.23" width="18.03" height="1" transform="translate(.51 14.68) rotate(-44.98)"/></svg>');
  display: block;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
  -webkit-transition: 0.3s background-color;
  transition: 0.3s background-color;
}
@media screen and (max-width: 767.98px) {
  #product .p-btn-wrapper .c-btn span::after {
    width: 1.2rem;
    height: 1.2rem;
    left: calc(100% + 1.5rem);
  }
}

.c-np {
  font-size: 3.9rem;
  font-weight: 300;
  letter-spacing: 0.05em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  border-bottom: 1px solid #fff;
  padding-bottom: 1rem;
}
@media screen and (max-width: 767.98px) {
  .c-np {
    font-size: 2.4rem;
  }
}

/* ----------------------------------------------------------------------------------------------------
*	stories
* --------------------------------------------------------------------------------------------------*/
.stories {
  position: relative;
  z-index: 2;
  position: relative;
  padding-bottom: 20rem;
}
@media screen and (max-width: 767.98px) {
  .stories {
    padding-bottom: 3rem;
  }
}
.stories::after {
  content: "";
  position: absolute;
  bottom: -50rem;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: url(../img/bg_stories.png) no-repeat bottom center/100% auto;
  z-index: -1;
}
@media screen and (max-width: 767.98px) {
  .stories::after {
    height: 200%;
    bottom: -38rem;
    background-image: url(../img/bg_stories_sp.png);
  }
}

#stories {
  top: -4rem;
  position: absolute;
}
@media screen and (max-width: 767.98px) {
  #stories {
    top: -8rem;
  }
}

.p-stories__content {
  max-width: 99.5rem;
  margin: 0 auto;
}
@media screen and (max-width: 767.98px) {
  .p-stories__content {
    width: 31.4rem;
  }
}
.p-stories__content .p-txt-wrapper {
  margin-left: auto;
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (max-width: 767.98px) {
  .p-stories__content .p-txt-wrapper {
    display: block;
    margin-top: 3rem;
  }
}
[lang=en] .p-stories__content .p-txt-wrapper {
  max-width: 75.5rem;
}

.p-stories__content .c-txt {
  font-size: 1.4rem;
  line-height: 2.4;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767.98px) {
  .p-stories__content .c-txt {
    font-size: 1.2rem;
    line-height: 1.9;
  }
}
.p-stories__content .p-link-wrapper {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  color: #fff;
  margin-top: 2rem;
}
.p-stories__content .p-link-wrapper a {
  color: currentColor;
  text-decoration: none;
  font-size: 1.6rem;
  font-weight: 300;
  position: relative;
  padding-right: 2rem;
  letter-spacing: 0.05em;
}
@media (any-hover) {
  .p-stories__content .p-link-wrapper a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .p-stories__content .p-link-wrapper a:hover {
    opacity: 0.7;
  }
}
@media (any-hover: hover) {
  .p-stories__content .p-link-wrapper a:hover svg {
    right: -0.5rem;
  }
}
.p-stories__content .p-link-wrapper a svg {
  position: absolute;
  right: 0;
  top: 55%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s right;
  transition: 0.3s right;
}

.c-stories__ttl {
  width: 64rem;
  margin-left: auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767.98px) {
  .c-stories__ttl {
    width: 100%;
    margin-left: 0;
  }
}

.p-stories__img-wrapper {
  margin-top: -2rem;
  display: block;
}
@media screen and (max-width: 767.98px) {
  .p-stories__img-wrapper {
    margin-top: -1rem;
  }
}
/*# sourceMappingURL=style.css.map */