@charset "UTF-8";
/* CSS Document */
* {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

body {
  width: 100%;
  padding: 0;
  margin: 0;
  position: relative;
}

/* all */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, address, strong, em, table, dl, ul, ol, img,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  padding: 0;
  margin: 0;
  background: transparent;
}

/* font */
h1, h2, h3, h4, h5, p, dt, dd, li, th, td, a, address, strong, em, form, input, textarea, select, submit,
article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary {
  color: inherit;
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
}

/* indivisual */
a {
  border: none;
  color: inherit;
  text-decoration: underline;
  word-wrap: break-word;
}

a:hover {
  text-decoration: none;
}

address, em {
  font-style: normal;
}

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

img {
  display: block;
  border: none;
}

.debug {
  height: auto;
  overflow-y: auto;
}

body {
  height: 100%;
  overflow-x: hidden;
  font-family: "Shippori Mincho", serif;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: justify;
  position: relative;
  -webkit-font-smoothing: antialiased;
}
img {
  max-width: 100%;
  height: auto;
}

.check {
  pointer-events: none;
}
.check::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border: 2px solid red;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
.check::after {
  content: "";
  display: block;
  color: #fff;
  padding: 0.25em;
  background: red;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transform: translateY(-100%);
}

.cm_link_map {
  display: inline-block;
  position: relative;
  text-decoration: none;
  padding-right: 1.6666666667rem;
}
.cm_link_map::after {
  content: "";
  display: block;
  width: 0.8888888889rem;
  height: 1.3333333333rem;
  background: url(../img/map.svg) center/contain no-repeat;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.newsList {
  position: relative;
}
@media screen and (min-width: 961px) {
  .newsList {
    width: calc(100vw - 36.6666666667rem);
    max-width: 50rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 960px) {
  .newsList {
    margin: 0 4rem;
  }
}
.newsList::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(159, 190, 227);
  background: linear-gradient(90deg, rgb(159, 190, 227) 0%, rgb(255, 255, 255) 32%, rgb(255, 255, 255) 68%, rgb(159, 190, 227) 100%);
  opacity: 0.5;
}
.newsList li a {
  text-decoration: none;
  padding: calc(1.9444444444rem - 0.4375em) 0;
  position: relative;
  transition: 0.375s;
}
@media screen and (min-width: 1201px) {
  .newsList li a {
    padding: calc(1.9444444444rem - 0.4375em) 4.4444444444rem;
  }
}
@media screen and (min-width: 961px) {
  .newsList li a {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 960px) {
  .newsList li a {
    display: block;
  }
}
.newsList li a:hover {
  background: rgba(0, 0, 0, 0.1);
}
.newsList li a::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgb(159, 190, 227);
  background: linear-gradient(90deg, rgb(159, 190, 227) 0%, rgb(255, 255, 255) 32%, rgb(255, 255, 255) 68%, rgb(159, 190, 227) 100%);
  opacity: 0.5;
}
.newsList li a .date {
  display: block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.1em;
  line-height: 1.875;
  white-space: nowrap;
  padding-right: 4em;
}
.newsList li a .txt {
  display: block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.1em;
  line-height: 1.875;
}
@media screen and (max-width: 960px) {
  .newsList li a .txt {
    margin: calc(0.8333333333rem - 0.4375em) 0 0;
  }
}

.subPage {
  color: #fff;
  background-color: #213568;
}
.subPage::before, .subPage::after {
  pointer-events: none;
  content: "";
  display: block;
  width: 21.6145833333vw;
  height: 100vh;
  background: rgb(255, 255, 255);
  background: linear-gradient(-90deg, rgb(255, 255, 255) 0%, rgb(159, 190, 227) 39%, rgb(19, 62, 117) 81%, rgb(33, 42, 71) 100%);
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  mix-blend-mode: multiply;
}
@media screen and (max-width: 960px) {
  .subPage::before, .subPage::after {
    width: 4rem;
    opacity: 0.5;
  }
}
.subPage::after {
  background: rgb(255, 255, 255);
  background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgb(159, 190, 227) 39%, rgb(19, 62, 117) 81%, rgb(33, 42, 71) 100%);
  left: auto;
  right: 0;
}
.subPage footer nav {
  display: none;
}
@media screen and (min-width: 961px) {
  .subPage .ancestor {
    width: calc(100vw - 36.6666666667rem);
    max-width: 50rem;
    padding: 10rem 0 4.4444444444rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 960px) {
  .subPage .ancestor {
    padding: 8.3333333333rem 0 4.4444444444rem;
    margin: 0 4rem;
  }
}
.subPage .ancestor h1 .en, .subPage .ancestor .h1 .en {
  display: block;
  font-size: 1.1111111111rem;
  letter-spacing: 0.15em;
}
.subPage .ancestor h1 .jp, .subPage .ancestor .h1 .jp {
  display: block;
  font-size: 1.7777777778rem;
  letter-spacing: 0.4em;
  white-space: nowrap;
  margin: 1.1111111111rem 0 0;
}
.subPage .ancestor h1 .jp.narrow, .subPage .ancestor .h1 .jp.narrow {
  letter-spacing: 0.1em;
}
.subPage .postHead {
  padding: 0 0 3.3333333333rem;
  position: relative;
}
@media screen and (min-width: 961px) {
  .subPage .postHead {
    width: calc(100vw - 36.6666666667rem);
    max-width: 50rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 960px) {
  .subPage .postHead {
    margin: 0 4rem;
  }
}
.subPage .postHead::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 1.5rem;
  left: 0;
  background: rgb(159, 190, 227);
  background: linear-gradient(90deg, rgb(159, 190, 227) 0%, rgb(255, 255, 255) 32%, rgb(255, 255, 255) 68%, rgb(159, 190, 227) 100%);
  opacity: 0.5;
}
.subPage .postHead .date {
  display: block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.subPage .postHead h1 {
  display: block;
  font-size: 1.1111111111rem;
  letter-spacing: 0.025em;
  line-height: 1.5;
  margin: calc(1.1111111111rem - 0.25em) 0 -0.25em;
}
@media screen and (min-width: 1101px) {
  .subPage .post {
    width: calc(100vw - 36.6666666667rem);
    max-width: 56.25rem;
    margin: 0 auto;
  }
}
@media screen and (max-width: 1100px) {
  .subPage .post {
    margin: 0 4rem;
  }
}
.subPage .post > *:first-child {
  margin-top: 0 !important;
}
.subPage .post h1 {
  font-size: 2em;
  letter-spacing: 0.4em;
  line-height: 1.5;
  margin: calc(2.25em - 0.25em) 0 -0.25em;
}
.subPage .post h2 {
  font-size: 1.75em;
  letter-spacing: 0.4em;
  line-height: 1.5;
  margin: calc(2.2857142857em - 0.25em) 0 -0.25em;
}
.subPage .post h3 {
  font-size: 1.5em;
  letter-spacing: 0.4em;
  line-height: 1.5;
  margin: calc(2.3333333333em - 0.25em) 0 -0.25em;
}
.subPage .post h4 {
  font-size: 1.25em;
  letter-spacing: 0.4em;
  line-height: 1.5;
  margin: calc(2.4em - 0.25em) 0 -0.25em;
}
.subPage .post h5 {
  letter-spacing: 0.4em;
  line-height: 1.5;
  margin: calc(2.5em - 0.25em) 0 -0.25em;
}
.subPage .post p {
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.1em;
  text-align: justify;
  margin: 1.625em 0 -0.375em;
}
.subPage .post ul, .subPage .post ol {
  padding-left: 1.25em;
  margin: 2em 0 0 0.25em;
  list-style: disc none;
}
.subPage .post ul li, .subPage .post ol li {
  font-weight: 400;
  line-height: 1.75;
  margin: 1.625em 0 -0.375em;
}
.subPage .post ul li:first-child, .subPage .post ol li:first-child {
  margin-top: -0.375em;
}
.subPage .post ol {
  margin: 2em 0 0 0.5em;
  list-style: decimal none;
}
.subPage .post img {
  margin: 2em 0 0;
}
.subPage .post .wp-block-image {
  position: relative;
}
.subPage .post .wp-block-image {
  /*
  &::after{
  	content: '';
  	display: block;
  	width: 100%;
  	height: 100%;
  	position: absolute;
  	top: 0;
  	left: 0;
  }
  */
}
.subPage .post figcaption {
  color: rgba(0, 0, 0, 0.75);
  line-height: 1.5;
  text-align: center;
  margin: 0.75em 0 -0.25em;
}
.subPage .post table {
  width: 100%;
  margin: 2em 0 0;
  position: relative;
}
.subPage .post table::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (min-width: 1101px) {
  .subPage .post table::after {
    background: rgb(159, 190, 227);
    background: linear-gradient(90deg, rgb(159, 190, 227) 0%, rgb(255, 255, 255) 32%, rgb(255, 255, 255) 68%, rgb(159, 190, 227) 100%);
    opacity: 0.5;
  }
}
@media screen and (max-width: 1100px) {
  .subPage .post table::after {
    border-top: 1px solid rgba(159, 190, 227, 0.5);
  }
}
@media screen and (min-width: 1101px) {
  .subPage .post table tr {
    position: relative;
  }
  .subPage .post table tr::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgb(159, 190, 227);
    background: linear-gradient(90deg, rgb(159, 190, 227) 0%, rgb(255, 255, 255) 32%, rgb(255, 255, 255) 68%, rgb(159, 190, 227) 100%);
    opacity: 0.5;
  }
}
.subPage .post table th, .subPage .post table td {
  letter-spacing: 0.1em;
  line-height: 1.75;
  padding: calc(2.7777777778rem - 0.375em) 0rem;
}
@media screen and (min-width: 1201px) {
  .subPage .post table th, .subPage .post table td {
    padding: calc(2.7777777778rem - 0.375em) 4.4444444444rem;
  }
}
@media screen and (max-width: 1100px) {
  .subPage .post table th, .subPage .post table td {
    border-bottom: 1px solid rgba(159, 190, 227, 0.5);
  }
}
.subPage .post .wp-block-table {
  margin-top: 2em;
}
.subPage .post .wp-block-table table {
  margin-top: 0;
}
.subPage .post .wp-block-table figcaption {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75em;
  font-style: normal;
  line-height: 1.5;
  margin: 0.75em 0 -0.25em;
}
.subPage .post .wp-block-quote {
  padding: 2em;
  margin: 2em 0 0;
  background: rgba(255, 255, 255, 0.05);
}
.subPage .post .wp-block-quote p {
  font-weight: bold;
  margin-top: -0.5em;
}
.subPage .post .wp-block-quote cite {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75em;
  font-weight: 400;
  font-style: normal;
  line-height: 1.5;
  margin: 0.75em 0 -0.25em;
}
.subPage .post .wp-block-preformatted {
  font-weight: normal;
  line-height: 1.75;
  padding: 1.625em 2em;
  margin: 2em 0 0;
  background: rgba(255, 255, 255, 0.05);
}
.subPage .post .wp-block-buttons {
  margin-top: 2em;
}
.subPage .post .wp-block-buttons .wp-block-button {
  text-align: center;
}
.subPage .post .wp-block-buttons .wp-block-button .wp-block-button__link {
  display: inline-block;
  min-width: 15.5555555556rem;
  text-align: center;
  text-decoration: none;
  padding: 1em 2em;
  margin: 0 auto;
  border: 1px solid #fff;
  transition: 0.375s;
}
.subPage .post .wp-block-buttons .wp-block-button .wp-block-button__link:hover {
  color: #213568;
  background: #fff;
}
.subPage .post .wp-block-pullquote {
  margin: 2em 0 0;
  border: 1px solid #fff;
}
.subPage .post .wp-block-pullquote blockquote {
  padding: 2em;
  margin: 0;
}
.subPage .post .wp-block-pullquote blockquote p {
  font-weight: 500;
  margin-top: -0.5em;
}
.subPage .post .wp-block-pullquote blockquote cite {
  display: block;
  color: rgba(255, 255, 255, 0.5);
  font-size: 0.75em;
  font-style: normal;
  font-weight: 400;
  line-height: 1.5;
  margin: 0.75em 0 -0.25em;
}
@media screen and (min-width: 1101px) {
  .subPage .post .wp-block-columns {
    display: flex;
    justify-content: space-between;
    grid-gap: 2em;
  }
}
.subPage .post .has-text-align-center {
  text-align: center;
}
.subPage .post .has-text-align-right {
  text-align: right;
}

.return {
  display: block;
  text-align: center;
  margin: 5rem 0 0;
}
.return:hover {
  opacity: 0.5;
}
.return span {
  display: inline-block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.25em;
  text-decoration: none;
  text-indent: 0.25em;
  white-space: nowrap;
  padding: 0 0 0 1em;
  position: relative;
}
.return span::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.1875em 0 0.1875em 0.5em;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: calc(50% + 0.0625em);
  left: 0;
  transform: translateY(-50%) rotate(180deg);
}

@media screen and (min-width: 961px) {
  header .back {
    display: none;
  }
}
@media screen and (max-width: 960px) {
  header .back {
    display: block;
    position: absolute;
    top: 2.7692307692rem;
    left: 2rem;
    z-index: 2;
    transform: translateY(-50%);
  }
  header .back img {
    height: 1.9230769231rem;
  }
}
@media screen and (min-width: 961px) {
  header nav {
    position: fixed;
    left: 9.0625vw;
    top: 3.3333333333rem;
    z-index: 3;
  }
  header nav.bg_white ul li a {
    color: #000;
  }
  header nav.bg_white ul li.logo a svg path {
    fill: #000;
  }
  header nav.bg_white ul li.movie a svg path {
    fill: #000 !important;
  }
  header nav.bg_white ul li.parent a::after {
    background: url(../img/arw_black.svg) center/contain no-repeat;
  }
  header nav.bg_white ul li.parent ul li a::before {
    background: #000;
  }
  header nav ul li {
    font-size: 1.1111111111rem;
    margin-top: 1.7777777778rem;
  }
  header nav ul li.logo {
    margin-top: 0;
  }
  header nav ul li.logo a img,
  header nav ul li.logo a svg {
    height: 3.3333333333rem;
  }
  header nav ul li.logo a svg path {
    fill: #fff;
    transition: fill 0.5s;
  }
  header nav ul li.logo + li {
    margin-top: 3.7777777778rem;
  }
  header nav ul li.movie {
    display: flex;
    align-items: center;
    gap: 1.1111111111rem;
  }
  header nav ul li.movie a {
    width: -moz-fit-content;
    width: fit-content;
  }
  header nav ul li.movie a img,
  header nav ul li.movie a svg {
    height: 1.3333333333rem;
  }
  header nav ul li.movie a svg path {
    transition: fill 0.5s;
  }
  header nav ul li.parent.open a::after {
    transform: translateY(-50%) rotate(180deg);
  }
  header nav ul li.parent a {
    display: inline-block;
    padding-right: 1.5em;
    position: relative;
  }
  header nav ul li.parent a::after {
    content: "";
    display: block;
    width: 0.4375em;
    height: 0.4375em;
    background: url(../img/arw.svg) center/contain no-repeat;
    position: absolute;
    right: 0;
    top: calc(50% + 0.1875em);
    transition: 0.25s, background-color 0.5s;
    transform: translateY(-50%);
  }
  header nav ul li.parent ul {
    display: none;
  }
  header nav ul li.parent ul li {
    margin-top: 1rem;
    font-size: 1rem;
  }
  header nav ul li.parent ul li:first-child {
    margin-top: 1.3333333333rem;
  }
  header nav ul li.parent ul li a {
    padding-left: 2.5em;
  }
  header nav ul li.parent ul li a::before {
    content: "";
    display: block;
    width: 0.6666666667rem;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0.875em;
    top: calc(50% + 0.125em);
    transform: translateY(-50%);
  }
  header nav ul li.parent ul li a::after {
    display: none;
  }
  header nav ul li a {
    display: block;
    letter-spacing: 0.15em;
    text-decoration: none;
    white-space: nowrap;
    transition: 0.25s, background-color 0.5s;
  }
  header nav ul li a:hover {
    opacity: 0.5;
  }
}
@media screen and (max-width: 960px) {
  header nav {
    width: 75%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9;
    background: rgb(0, 0, 0);
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.75) 50%);
    transition: 0.375s cubic-bezier(0.25, 1, 0.5, 1);
    transform: translateX(100%);
  }
  header nav.open {
    transform: translateX(0);
  }
  header nav ul {
    padding-top: 8.3333333333rem;
    margin: 0 2rem;
  }
  header nav ul li {
    margin-top: 3.3333333333rem;
  }
  header nav ul li.first {
    margin-top: 0;
  }
  header nav ul li.logo {
    display: none;
  }
  header nav ul li.movie {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.1111111111rem;
  }
  header nav ul li.movie a {
    width: -moz-fit-content;
    width: fit-content;
  }
  header nav ul li.movie a img,
  header nav ul li.movie a svg {
    height: 1.8461538462rem;
    margin: 0 0 0 auto;
  }
  header nav ul li.parent {
    text-align: right;
  }
  header nav ul li.parent a {
    display: inline-block;
    padding-right: 1em;
    position: relative;
  }
  header nav ul li.parent a::after {
    content: "";
    display: block;
    width: 0.4375em;
    height: 0.4375em;
    background: url(../img/arw.svg) center/contain no-repeat;
    position: absolute;
    right: 0;
    top: calc(50% + 0.1875em);
    transform: translateY(-50%);
  }
  header nav ul li.parent ul {
    display: none;
    padding-top: 0;
    margin: 0;
  }
  header nav ul li.parent ul li {
    margin-top: 2.2222222222rem;
  }
  header nav ul li.parent ul li a {
    display: inline-block;
    padding-left: 2.5em;
    padding-right: 0;
  }
  header nav ul li.parent ul li a::before {
    content: "";
    display: block;
    width: 0.6666666667rem;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0.875em;
    top: calc(50% + 0.125em);
    transform: translateY(-50%);
  }
  header nav ul li.parent ul li a::after {
    display: none;
  }
  header nav ul li a {
    display: block;
    font-size: 1.3333333333rem;
    letter-spacing: 0.15em;
    text-align: right;
    text-decoration: none;
    white-space: nowrap;
  }
}
header .spCart {
  width: 1.5861538462rem;
  height: 1.4153846154rem;
  position: fixed;
  right: 5.5rem;
  top: 2.5rem;
  transform: translateY(-50%);
  z-index: 10;
}
@media screen and (min-width: 961px) {
  header .spCart {
    display: none;
  }
}
header .menu {
  width: 2rem;
  height: 2rem;
  position: fixed;
  right: 2rem;
  top: 2.5rem;
  transform: translateY(-50%);
  cursor: pointer;
  z-index: 10;
}
@media screen and (min-width: 961px) {
  header .menu {
    display: none;
  }
}
header .menu div {
  display: block;
  width: 100%;
  height: 2px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #fff;
  transition: 0.25s;
  /*
  -webkit-transition: 0.5s;
  transition: 0.5s;
  */
}
header .menu .bar {
  top: calc(50% - 0.5rem);
}
header .menu .bar2 {
  bottom: calc(50% - 0.5rem);
}
header .menu.open .bar {
  top: calc(50% - 1px);
  transform: rotate(335deg);
}
header .menu.open .bar2 {
  bottom: calc(50% - 1px);
  transform: rotate(-335deg);
}

footer {
  padding: 9.1666666667rem 0;
  background: #213568;
  position: relative;
}
@media screen and (max-width: 960px) {
  footer {
    padding: 5rem 0;
  }
}
footer .pageTop {
  width: 3.3333333333rem;
  height: 3.3333333333rem;
  border: 0.5px solid #FFF;
  position: fixed;
  right: 6.9791666667vw;
  bottom: 3rem;
  transform: translateX(50%);
  z-index: 9;
  transition: 0.375s;
  opacity: 0;
  visibility: hidden;
}
footer .pageTop.show {
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 960px) {
  footer .pageTop {
    right: 0;
    bottom: 0;
    transform: none;
  }
}
footer .pageTop a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
@media screen and (max-width: 960px) {
  footer .pageTop a {
    background: #FFF;
  }
}
footer .pageTop a span {
  display: block;
  width: 100%;
  font-size: 0.7777777778rem;
  line-height: 1.1111111111rem;
  letter-spacing: 0.1em;
  text-align: center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 960px) {
  footer .pageTop a span {
    color: #363331;
  }
}
footer .shoplist {
  display: block;
  width: calc(100% - 8rem);
  max-width: 41.7283950617rem;
  height: 5rem;
  border-radius: 2.5rem;
  background-color: #fff;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 960px) {
  footer .shoplist {
    margin-top: 5.5384615385rem;
  }
}
footer .shoplist span {
  display: inline-block;
  color: #000;
  font-size: 1.1111111111rem;
  letter-spacing: 0.5em;
  white-space: nowrap;
  padding-right: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
footer .shoplist span::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.1875em 0 0.1875em 0.5em;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: calc(50% + 0.0625em);
  right: 0;
  transform: translateY(-50%);
}
footer .awrad_link {
  display: block;
  width: calc(100% - 8rem);
  max-width: 41.7283950617rem;
  height: 5rem;
  border-radius: 2.5rem;
  background-color: #fff;
  margin: 2.1111111111rem auto 0;
  position: relative;
}
footer .awrad_link span {
  display: inline-block;
  color: #000;
  font-size: 1.1111111111rem;
  letter-spacing: 0.5em;
  white-space: nowrap;
  padding-right: 1rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
footer .awrad_link span::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.1875em 0 0.1875em 0.5em;
  border-color: transparent transparent transparent #000;
  position: absolute;
  top: calc(50% + 0.0625em);
  right: 0;
  transform: translateY(-50%);
}
footer .products {
  margin-top: 7.5555555556rem;
}
footer .products h2 {
  text-align: center;
}
footer .products h2 .en {
  display: block;
  font-size: 1.2222222222rem;
  letter-spacing: 0.6em;
  text-indent: 0.6em;
}
@media screen and (max-width: 960px) {
  footer .products h2 .en {
    font-size: 1.3846153846rem;
  }
}
footer .products h2 .jp {
  display: block;
  font-size: 1.2222222222rem;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  margin-top: 0.5555555556rem;
}
@media screen and (max-width: 960px) {
  footer .products h2 .jp {
    font-size: 1.7692307692rem;
    margin-top: 1rem;
  }
}
footer .products .bnr {
  max-width: 60rem;
  margin: 5.7222222222rem auto 0;
  position: relative;
}
footer .products .bnr ul {
  display: flex;
  justify-content: space-between;
  gap: 1.6666666667rem;
}
@media screen and (max-width: 960px) {
  footer .products .bnr ul {
    flex-direction: column;
    gap: 4.7692307692rem 0;
  }
}
footer .products .bnr ul li div {
  background: rgb(33, 42, 71);
  background: linear-gradient(60deg, rgb(33, 42, 71) 0%, rgb(19, 62, 117) 15%, rgb(159, 190, 227) 32%, rgb(255, 255, 255) 50%, rgb(159, 190, 227) 68%, rgb(19, 62, 117) 85%, rgb(33, 42, 71) 100%);
}
footer .products .bnr a {
  text-decoration: none;
  transition: 0.25s;
}
footer .products .bnr a .title {
  display: block;
  font-size: 0.8333333333rem;
  letter-spacing: 0.14em;
  margin-top: 0.5555555556rem;
}
@media screen and (max-width: 960px) {
  footer .products .bnr a .title {
    font-size: 1.1538461538rem;
    text-align: center;
    margin-top: 1.1538461538rem;
  }
}
footer .products .bnr a .logo {
  width: 14.4776277778rem;
  height: 13.7247944444rem;
  top: calc(50% + 0.2222222222rem);
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  transition: 0.25s;
}
@media screen and (max-width: 960px) {
  footer .products .bnr a .logo {
    width: 35.3168533333vw;
    height: 32.117528vw;
  }
}
footer .products .bnr a:hover {
  opacity: 0.5;
}
footer .products .bnr a:hover .logo {
  opacity: 0.5;
}
@media screen and (max-width: 960px) {
  footer .products .bnr {
    max-width: none;
    width: 100%;
    margin: 4.3076923077rem auto 0;
  }
}
footer .products .bnr img {
  width: 100%;
  margin: 0;
}
footer nav {
  max-width: 60rem;
  margin: 8.8888888889rem auto 0;
}
@media screen and (max-width: 960px) {
  footer nav {
    margin-top: 9.2307692308rem;
    margin-left: 4rem;
    margin-right: 4rem;
  }
}
footer nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 2.7777777778rem 1.6666666667rem;
  justify-content: space-between;
}
@media screen and (max-width: 960px) {
  footer nav ul {
    flex-direction: column;
    gap: 1.6923076923rem 0;
  }
}
footer nav ul li {
  width: 100%;
  height: 15.3311777778rem;
  background: rgb(33, 42, 71);
  background: linear-gradient(60deg, rgb(33, 42, 71) 0%, rgb(19, 62, 117) 15%, rgb(159, 190, 227) 32%, rgb(255, 255, 255) 50%, rgb(159, 190, 227) 68%, rgb(19, 62, 117) 85%, rgb(33, 42, 71) 100%);
  position: relative;
}
@media screen and (min-width: 961px) {
  footer nav ul li {
    width: calc((100% - 3.3333333333rem) / 3);
  }
}
@media screen and (max-width: 960px) {
  footer nav ul li {
    height: calc(0.5625 * (100vw - 8rem));
  }
  footer nav ul li:first-child {
    margin-top: 0;
  }
}
@media screen and (min-width: 961px) {
  footer nav ul li.history {
    margin: 0;
  }
}
@media screen and (max-width: 960px) {
  footer nav ul li.history {
    height: calc(0.8 * (100vw - 8rem));
  }
}
footer nav ul li.history a {
  background: url(../img/history/main.jpg) center/cover no-repeat #213568;
  background-blend-mode: overlay;
}
@media screen and (min-width: 961px) {
  footer nav ul li.story {
    width: calc((100% - 3.3333333333rem) / 3);
  }
}
@media screen and (max-width: 960px) {
  footer nav ul li.story {
    height: calc(0.8 * (100vw - 8rem));
  }
}
footer nav ul li.story a {
  background: url(../img/story/01.jpg) center/cover no-repeat #213568;
}
@media screen and (min-width: 961px) {
  footer nav ul li.crosstalk {
    width: calc((100% - 3.3333333333rem) / 3);
  }
}
@media screen and (max-width: 960px) {
  footer nav ul li.crosstalk {
    height: calc(0.8 * (100vw - 8rem));
  }
}
footer nav ul li.crosstalk a {
  position: relative;
  background: url(../img/crosstalk.jpg) center/cover no-repeat #213568;
  background-blend-mode: overlay;
}
@media screen and (max-width: 960px) {
  footer nav ul li.crosstalk a {
    text-align: center;
  }
}
footer nav ul li.crosstalk a div {
  text-align: center;
}
footer nav ul li.crosstalk a div .catch {
  font-size: 0.9444444444rem;
  letter-spacing: 0.4em;
  line-height: 1.9411764706;
}
@media screen and (max-width: 960px) {
  footer nav ul li.crosstalk a div .catch {
    font-size: 2.1604938272vw;
    line-height: 3;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
  }
  footer nav ul li.crosstalk a div .catch br {
    display: none;
  }
}
footer nav ul li.crosstalk a div .ja {
  letter-spacing: 0.6em;
}
footer nav ul li a {
  display: block;
  width: calc(100% - 2px);
  height: calc(100% - 2px);
  text-align: center;
  background: #213568;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
}
footer nav ul li a:hover div {
  opacity: 0.5;
}
footer nav ul li a div {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: 0.25s;
  transform: translateX(-50%) translateY(-50%);
}
footer nav ul li a .en {
  display: block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.25em;
  text-align: center;
  text-indent: 0.25em;
  white-space: nowrap;
}
footer nav ul li a .ja {
  display: block;
  font-size: 1.2222222222rem;
  letter-spacing: 0.3em;
  text-align: center;
  text-indent: 0.5em;
  white-space: nowrap;
  margin: 1.1111111111rem 0 0;
}
footer nav ul li a .more {
  display: inline-block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.25em;
  text-align: center;
  text-indent: 0.25em;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 1.3888888889rem 0 0;
  position: relative;
}
footer nav ul li a .more::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.1875em 0 0.1875em 0.5em;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: calc(50% + 0.0625em);
  right: 0;
  transform: translateY(-50%);
}
footer .link_policy {
  display: block;
  text-align: center;
  text-decoration: none;
  margin-top: 3.8888888889rem;
}
footer .link_policy span {
  display: inline-block;
  font-size: 0.8888888889rem;
  letter-spacing: 0.25em;
  text-indent: 0.25em;
  white-space: nowrap;
  padding: 0 1em 0 0;
  position: relative;
}
footer .link_policy span::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.1875em 0 0.1875em 0.5em;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: calc(50% + 0.0625em);
  right: 0;
  transform: translateY(-50%);
}
footer img {
  height: 4.9729333333rem;
  margin: 0 auto 0;
}
@media screen and (max-width: 960px) {
  footer img {
    height: 3.2307692308rem;
    margin: 0 auto 0;
  }
}
footer .copy {
  display: block;
  font-size: 0.5555555556rem;
  letter-spacing: 0.1em;
  text-align: center;
  text-indent: 0.1em;
  white-space: nowrap;
  margin-top: 8.8888888889rem;
}
@media screen and (max-width: 960px) {
  footer .copy {
    margin-top: 5rem;
    transform: scale(0.8);
  }
}

.slide_loop {
  width: 100%;
  position: relative;
}
.slide_loop.center {
  overflow: visible;
}
.slide_loop.center .mask {
  overflow: visible;
}
.slide_loop.center .mask .image {
  position: static;
}
.slide_loop.center .thum {
  display: none;
}
.slide_loop .mask {
  width: 100%;
  overflow: hidden;
  position: relative;
}
.slide_loop .mask .image {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.slide_loop .mask .image.active {
  transition: 0.75s;
}

html {
  scroll-behavior: smooth;
  background-color: #000;
}

.cm_flex,
.cm_flex2 {
  display: flex;
}
@media screen and (max-width: 960px) {
  .cm_flex,
  .cm_flex2 {
    flex-direction: column;
  }
}

#products2 {
  height: 100vh;
  overflow: hidden;
  background-color: transparent;
}
#products2::after, #products2::before {
  display: none;
}
#products2.loaded {
  height: auto;
  overflow: auto;
}
#products2.loaded header {
  opacity: 1;
  filter: blur(0);
}
#products2 header {
  width: 100%;
  height: 8.3333333333rem;
  padding: 0 6.6666666667rem 0 3.125vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9;
  transition: 1s 1.625s;
  opacity: 0;
  filter: blur(16px);
}
@media screen and (max-width: 960px) {
  #products2 header {
    height: 5.0769230769rem;
    padding: 0 1.5384615385rem;
  }
}
#products2 header .back {
  display: none;
}
@media screen and (max-width: 960px) {
  #products2 header h1 {
    position: relative;
    z-index: 11;
  }
}
#products2 header h1 img {
  width: auto;
  height: 2.2222222222rem;
}
#products2 header nav {
  position: fixed;
  width: 100%;
  height: 100lvh;
  background: #000;
  transition: 0.375s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateX(100%);
}
@media screen and (min-width: 961px) {
  #products2 header nav {
    width: 22.2222222222rem;
    left: auto;
    right: 0;
    top: 0;
  }
}
#products2 header nav.open {
  transform: translateX(0);
}
#products2 header nav .nav {
  display: flex;
  align-items: center;
  gap: 4.6153846154rem;
  flex-direction: column;
}
@media screen and (min-width: 961px) {
  #products2 header nav .nav {
    padding-top: 11.1111111111rem;
  }
}
@media screen and (max-width: 960px) {
  #products2 header nav .nav {
    gap: 4.6153846154rem;
  }
}
#products2 header nav li {
  margin: 0;
}
#products2 header nav li.online a img {
  height: 2.5555555556rem;
}
@media screen and (max-width: 960px) {
  #products2 header nav li.online a img {
    height: 3.3846153846rem;
  }
}
#products2 header nav li.siteTop {
  display: block;
}
#products2 header nav li.siteTop a {
  font-size: 0.9230769231rem;
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.6153846154rem;
}
#products2 header nav li a {
  display: block;
}
#products2 header nav li a img {
  width: auto;
  height: 0.8333333333rem;
}
@media screen and (max-width: 960px) {
  #products2 header nav li a img {
    height: 1.1538461538rem;
  }
}
#products2 header div.online a {
  display: block;
}
#products2 header div.online a img {
  height: 2.5555555556rem;
}
@media screen and (max-width: 960px) {
  #products2 header div.online a img {
    height: 3.3846153846rem;
  }
}
#products2 header .os {
  display: flex;
  align-items: center;
  width: 100%;
  height: 2.8888888889rem;
  background: #232323;
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9;
}
@media screen and (min-width: 961px) {
  #products2 header .os {
    display: none;
  }
}
#products2 header .os img {
  width: auto;
  height: 0.7222222222rem;
  margin: 0 auto;
}
#products2 header .menu2 {
  width: 2.7692307692rem;
  height: 2.7692307692rem;
  position: fixed;
  right: 1.1538461538rem;
  top: 1.1538461538rem;
  cursor: pointer;
  z-index: 10;
  background: url(../img/products2/menu.svg) center/contain no-repeat;
}
@media screen and (min-width: 961px) {
  #products2 header .menu2 {
    top: 4.1666666667rem;
    right: 1.7777777778rem;
    transform: translateY(-50%);
  }
}
#products2 header .menu2 div {
  display: block;
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto;
  background: #fff;
  transition: 0.25s;
}
#products2 header .menu2 .bar {
  width: 30%;
  top: calc(50% - 0.5769230769rem);
}
#products2 header .menu2 .bar2 {
  width: 50%;
  bottom: calc(50% - 0.5px);
}
#products2 header .menu2 .bar3 {
  width: 30%;
  bottom: calc(50% - 0.5769230769rem);
}
#products2 header .menu2.open .bar {
  width: 50%;
  top: calc(50% - 0.5px);
  transform: rotate(305deg);
}
#products2 header .menu2.open .bar2 {
  display: none;
}
#products2 header .menu2.open .bar3 {
  width: 50%;
  bottom: calc(50% - 0.5px);
  transform: rotate(-305deg);
}
#products2 .contents {
  position: relative;
}
#products2 .contents::before {
  width: 100%;
  height: 100%;
  content: "";
  background-color: #000;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -11;
}
@media screen and (max-width: 960px) {
  #products2 .contents::before {
    height: 112.5vh;
  }
}
#products2 .contents {
  /* common */
}
#products2 .contents h2 img {
  width: auto;
  height: 1.5rem;
}
@media screen and (max-width: 960px) {
  #products2 .contents h2 img {
    height: 1rem;
  }
}
#products2 .contents .fs18 {
  font-size: 1.125rem;
  line-height: 2.25;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 960px) {
  #products2 .contents .fs18 {
    font-size: 1.0769230769rem;
    line-height: 2;
  }
}
#products2 .contents {
  /* motion */
}
#products2 .contents .bg1 {
  width: 100%;
  height: 100%;
  background: url(../img/products2/bg1.jpg) center/cover no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -10;
  transition: 1.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: scale(1.05);
  opacity: 0;
  filter: blur(16px);
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg1 {
    height: 100lvh;
    background-image: url(../img/products2/_bg1.webp);
  }
}
#products2 .contents .bg1.loaded {
  transform: scale(1);
  opacity: 1;
  filter: blur(0);
}
#products2 .contents .bg2 {
  width: 100%;
  height: 100%;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -9;
  opacity: 0;
}
@media screen and (min-width: 961px) {
  #products2 .contents .bg2 {
    background: url(../img/products2/bg2.webp) center/cover no-repeat;
  }
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg2 {
    height: 112.5vh;
  }
  #products2 .contents .bg2::after {
    content: "";
    background: url(../img/products2/bg2.webp) center/cover no-repeat;
    width: 154.6102564103vw;
    aspect-ratio: 603/402;
    position: absolute;
    left: -45.5102307692vw;
    bottom: 19.2307692308vw;
  }
}
#products2 .contents .bg3 {
  width: 100%;
  height: 100%;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -8;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg3 {
    height: 125vh;
  }
}
#products2 .contents .bg3 video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0.5;
}
#products2 .contents .bg4 {
  width: 100%;
  height: 100%;
  background-color: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -7;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg4 {
    height: 112.5vh;
  }
}
#products2 .contents .bg5 {
  width: 100%;
  height: 100%;
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -6;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg5 {
    height: 112.5vh;
  }
}
#products2 .contents .bg6 {
  width: 112.5vw;
  height: 112.5vh;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: -5;
  transform: translate(-50%, -50%);
  opacity: 0;
}
#products2 .contents .bg6 img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#products2 .contents .bg7 {
  width: 100%;
  height: 100%;
  background: #000;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -4;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg7 {
    height: 112.5vh;
  }
}
#products2 .contents .bg8 {
  width: 100%;
  height: 100%;
  background: #515151;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg8 {
    height: 112.5vh;
  }
}
#products2 .contents .bg9 {
  width: 100%;
  height: 100%;
  background: #292929;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -2;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 .contents .bg9 {
    height: 112.5vh;
  }
}
#products2 #fv {
  height: 100vh;
  position: relative;
}
#products2 #fv.status .load {
  transform: translate(-50%, -50%) scale(1);
  opacity: 1;
  filter: blur(0);
}
#products2 #fv.status2 .load {
  transition: 1s 0.125s;
  opacity: 0;
  filter: blur(16px);
}
#products2 #fv.status2 .title {
  transition-delay: 0.875s;
  opacity: 1;
  filter: blur(0);
  visibility: visible;
}
#products2 #fv.status3 .title {
  transition: 0s;
}
#products2 #fv .load {
  position: absolute;
  top: 50%;
  left: 50%;
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(-50%, -50%) scale(1.125);
  opacity: 0;
  filter: blur(32px);
}
#products2 #fv .load img {
  width: auto;
  height: 37.5vh;
}
#products2 #fv .title {
  width: 14.3415052083vw;
  position: fixed;
  left: 69.7078333333vw;
  top: 29.2592592593vh;
  transition: 1.5s;
  opacity: 0;
  filter: blur(16px);
  visibility: hidden;
}
@media screen and (max-width: 960px) {
  #products2 #fv .title {
    width: 37.7555897436vw;
    left: 53.4578205128vw;
    top: 24.333974359vw;
    transform: none;
  }
}
#products2 #concept {
  pointer-events: none;
  height: 225vh;
  margin-top: 125vh;
  position: relative;
}
@media screen and (max-width: 960px) {
  #products2 #concept {
    margin-top: 100vh;
  }
}
#products2 #concept.status .box h2 {
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #concept.status .box .fs18 {
  transition-delay: 0.25s;
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #concept .box {
  width: 19.5rem;
  position: fixed;
  left: 19.5433020833vw;
  top: 15.2083333333vw;
}
@media screen and (max-width: 960px) {
  #products2 #concept .box {
    left: 10vw;
    top: 30.5128205128vw;
  }
}
#products2 #concept .box h2 {
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #concept .box .fs18 {
  letter-spacing: 0.14em;
  line-height: 2.25;
  white-space: nowrap;
  margin: calc(3.875rem - 0.625em) 0 -0.625em;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #message {
  pointer-events: none;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 961px) {
  #products2 #message {
    height: 325vh;
  }
}
@media screen and (max-width: 960px) {
  #products2 #message {
    scroll-margin-top: 9.8461538462rem;
  }
}
#products2 #message.status h2 {
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message.status .cm_flex .imgBox {
  opacity: 1;
}
#products2 #message.status .cm_flex .txtBox .qa .absolute h3.first {
  transition-delay: 0.25s;
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message.status .cm_flex .txtBox .qa .absolute .fs15.first {
  transition-delay: 0.375s;
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message.status .cm_flex .txtBox .qa .absolute h3.second {
  transition-delay: 0.625s;
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message.status .cm_flex .txtBox .qa .absolute .fs15.second {
  transition-delay: 0.75s;
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message h2 {
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
@media screen and (max-width: 960px) {
  #products2 #message h2 img {
    height: 1.2307692308rem;
    margin: 0 auto 0;
  }
}
#products2 #message h2 .jp {
  display: block;
  color: #dec167;
  font-size: 1.25rem;
  font-weight: normal;
  white-space: nowrap;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
@media screen and (max-width: 960px) {
  #products2 #message h2 .jp {
    font-size: 1.0769230769rem;
    text-align: center;
    margin-bottom: 1.9230769231rem;
  }
}
#products2 #message .cm_flex {
  gap: 2rem;
  justify-content: space-between;
  width: calc(100% - 4rem);
}
@media screen and (min-width: 961px) {
  #products2 #message .cm_flex {
    max-width: 68.75rem;
    height: calc(100vh - 14.4444444444rem);
    position: fixed;
    top: calc(50% + 3.6111111111rem);
    left: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (max-width: 960px) {
  #products2 #message .cm_flex {
    align-items: center;
    gap: 4.9230769231rem;
  }
}
#products2 #message .cm_flex .imgBox {
  width: 18.6875rem;
  position: relative;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 #message .cm_flex .imgBox {
    width: 41.7948717949vw;
  }
}
#products2 #message .cm_flex .imgBox .name {
  margin-top: 2.8888888889rem;
}
@media screen and (max-width: 960px) {
  #products2 #message .cm_flex .imgBox .name {
    margin-top: 1.0769230769rem;
  }
}
@media screen and (min-width: 961px) {
  #products2 #message .cm_flex .txtBox {
    width: 39.625rem;
  }
  #products2 #message .cm_flex .txtBox .qa {
    height: calc(100% - 5.5rem);
    overflow: hidden;
    margin-top: 4rem;
    position: relative;
    -webkit-mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%);
            mask-image: linear-gradient(to bottom, rgb(0, 0, 0) 75%, rgba(0, 0, 0, 0) 100%);
  }
  #products2 #message .cm_flex .txtBox .qa .absolute {
    position: absolute;
    top: 0;
    left: 0;
  }
}
#products2 #message .cm_flex .txtBox .qa.status .absolute h3.third {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message .cm_flex .txtBox .qa.status .absolute .fs15.third {
  transition-delay: 0.125s;
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message .cm_flex .txtBox .qa.status2 .absolute h3 {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message .cm_flex .txtBox .qa.status2 .absolute .fs15 {
  transition-delay: 0.125s;
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #message .cm_flex .txtBox h3 {
  font-size: 1.25rem;
  font-weight: normal;
  letter-spacing: 0.14em;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
@media screen and (max-width: 960px) {
  #products2 #message .cm_flex .txtBox h3 {
    font-size: 1.0769230769rem;
    line-height: 1.5;
    letter-spacing: 0.08em;
  }
}
#products2 #message .cm_flex .txtBox h3.middle {
  margin-top: 5.5555555556rem;
}
@media screen and (max-width: 960px) {
  #products2 #message .cm_flex .txtBox h3.middle {
    margin-top: 3.5555555556rem;
  }
}
#products2 #message .cm_flex .txtBox .fs15 {
  font-size: 0.9375rem;
  letter-spacing: 0.14em;
  line-height: 2.5;
  margin: calc(2.25rem - 0.625em) 0 -0.625em;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
@media screen and (max-width: 960px) {
  #products2 #message .cm_flex .txtBox .fs15 {
    font-size: 1rem;
    line-height: 2;
    letter-spacing: 0.08em;
    margin: calc(1.2307692308rem - 0.5em) 0 -0.5em;
  }
}
#products2 #roots {
  height: 525vh;
  position: relative;
}
@media screen and (min-width: 961px) {
  #products2 #roots {
    padding-left: 2rem;
    scroll-margin-top: -12.5rem;
  }
}
@media screen and (max-width: 960px) {
  #products2 #roots {
    height: 300vh;
    margin-top: 25.641025641vw;
  }
}
#products2 #roots.status .cm_flex .txtBox h2 {
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(1) {
  transition-delay: 0.1875s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(2) {
  transition-delay: 0.25s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(3) {
  transition-delay: 0.3125s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(4) {
  transition-delay: 0.375s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(5) {
  transition-delay: 0.4375s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(6) {
  transition-delay: 0.5s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(7) {
  transition-delay: 0.5625s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(8) {
  transition-delay: 0.625s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(9) {
  transition-delay: 0.6875s;
}
#products2 #roots.status .cm_flex .txtBox .relative .fs18.first span:nth-child(10) {
  transition-delay: 0.75s;
}
#products2 #roots.status .cm_flex .imgBox ul li.first {
  opacity: 1;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.first span {
  opacity: 0;
  filter: blur(16px);
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(1) {
  transition-delay: 0.1875s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(2) {
  transition-delay: 0.25s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(3) {
  transition-delay: 0.3125s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(4) {
  transition-delay: 0.375s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(5) {
  transition-delay: 0.4375s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(6) {
  transition-delay: 0.5s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(7) {
  transition-delay: 0.5625s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(8) {
  transition-delay: 0.625s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(9) {
  transition-delay: 0.6875s;
}
#products2 #roots.status2 .cm_flex .txtBox .relative .fs18.second span:nth-child(10) {
  transition-delay: 0.75s;
}
#products2 #roots.status2 .cm_flex .imgBox ul li.second {
  opacity: 1;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.second span {
  opacity: 0;
  filter: blur(16px);
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(1) {
  transition-delay: 0.1875s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(2) {
  transition-delay: 0.25s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(3) {
  transition-delay: 0.3125s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(4) {
  transition-delay: 0.375s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(5) {
  transition-delay: 0.4375s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(6) {
  transition-delay: 0.5s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(7) {
  transition-delay: 0.5625s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(8) {
  transition-delay: 0.625s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(9) {
  transition-delay: 0.6875s;
}
#products2 #roots.status3 .cm_flex .txtBox .relative .fs18.third span:nth-child(10) {
  transition-delay: 0.75s;
}
#products2 #roots.status3 .cm_flex .imgBox ul li.third {
  opacity: 1;
}
#products2 #roots .cm_flex {
  width: calc(100% - 4rem);
  height: -moz-fit-content;
  height: fit-content;
  align-items: center;
}
@media screen and (max-width: 960px) {
  #products2 #roots .cm_flex {
    margin-top: 4.9230769231rem;
  }
}
#products2 #roots .cm_flex .txtBox {
  height: -moz-fit-content;
  height: fit-content;
  position: fixed;
}
@media screen and (min-width: 961px) {
  #products2 #roots .cm_flex .txtBox {
    width: 26.875rem;
    top: 50%;
    left: max(2rem, (100% - 80rem) / 2);
    transform: translate(0, -50%);
  }
}
@media screen and (max-width: 960px) {
  #products2 #roots .cm_flex .txtBox {
    width: 100%;
    padding: 0 3.4615384615rem;
    top: 25.641025641vw;
  }
}
#products2 #roots .cm_flex .txtBox h2 {
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #roots .cm_flex .txtBox .relative {
  position: relative;
  margin-top: calc(4rem - 0.75rem);
}
@media screen and (max-width: 960px) {
  #products2 #roots .cm_flex .txtBox .relative {
    margin-top: calc(3.0769230769rem - 0.8076923077rem);
  }
}
#products2 #roots .cm_flex .txtBox .relative .abs {
  position: absolute;
  top: 0;
  left: 0;
}
#products2 #roots .cm_flex .txtBox .relative .fs18 span {
  display: inline-block;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(0, 1rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #roots .cm_flex .imgBox {
  width: 60.6770833333vw;
  position: fixed;
  z-index: -7;
}
@media screen and (min-width: 961px) {
  #products2 #roots .cm_flex .imgBox {
    height: 100%;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 960px) {
  #products2 #roots .cm_flex .imgBox {
    width: 100%;
    height: calc(100lvh - 27.3076923077rem);
    bottom: 0;
    left: 0;
  }
}
#products2 #roots .cm_flex .imgBox ul li {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 1s;
  opacity: 0;
}
#products2 #roots .cm_flex .imgBox ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#products2 #mountain {
  height: 250vh;
  position: relative;
}
@media screen and (max-width: 960px) {
  #products2 #mountain {
    height: 200vh;
  }
}
#products2 #mountain.status h2 {
  opacity: 1;
  filter: blur(0);
}
#products2 #mountain.status2 h2 {
  transform: translate(-50%, calc(-50% - 2rem));
  opacity: 0;
  filter: blur(16px);
}
#products2 #mountain h2 {
  font-size: 2.3125rem;
  font-weight: normal;
  letter-spacing: 0.56em;
  writing-mode: vertical-rl;
  margin: 0 auto;
  position: fixed;
  top: 50%;
  left: 50%;
  transition: 1s;
  opacity: 0;
  filter: blur(16px);
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 960px) {
  #products2 #mountain h2 {
    font-size: 1.1538461538rem;
  }
}
#products2 #mountain .image {
  margin-top: 6.625rem;
  overflow: hidden;
  aspect-ratio: 1440/800;
}
@media screen and (max-width: 960px) {
  #products2 #mountain .image {
    margin-top: 3.6153846154rem;
    aspect-ratio: 390/448;
  }
}
#products2 #mountain .image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}
#products2 #artist {
  scroll-margin-top: 8.8888888889rem;
}
#products2 #artist.status .w600 {
  opacity: 1;
  filter: blur(0);
}
@media screen and (max-width: 960px) {
  #products2 #artist h2 img {
    margin: 0 auto 3.5384615385rem;
  }
}
#products2 #artist h2 .jp {
  display: block;
  font-size: 1.25rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
@media screen and (max-width: 960px) {
  #products2 #artist h2 .jp {
    font-size: 1.0769230769rem;
    text-align: center;
  }
}
#products2 #artist .w600 {
  max-width: 37.5rem;
  width: calc(100% - 4rem);
  margin: 0 auto;
  transition: 1s;
  opacity: 0;
  filter: blur(16px);
}
@media screen and (max-width: 960px) {
  #products2 #artist .w600 {
    width: 83.4241282051vw;
  }
}
#products2 #artist .w600 .cm_flex {
  gap: 4.5rem;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w600 .cm_flex {
    align-items: center;
    gap: 1.6923076923rem;
  }
}
#products2 #artist .w600 .cm_flex .imgBox {
  width: 15.375rem;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w600 .cm_flex .imgBox {
    width: 10.3076923077rem;
  }
}
#products2 #artist .w600 .cm_flex .txtBox h2 {
  padding-left: 1.625rem;
}
#products2 #artist .w600 .cm_flex .txtBox .name {
  width: 21.375rem;
  margin-top: 6.25rem;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w600 .cm_flex .txtBox .name {
    margin: 0;
    width: 14.3164461538rem;
  }
}
#products2 #artist .w600 .fs13 {
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  line-height: 2;
  margin: calc(5.125rem - 0.5em) 0 -0.5em;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w600 .fs13 {
    font-size: 0.9230769231rem;
    line-height: 1.75;
    margin: calc(3.5384615385rem - 0.375em) 0 -0.375em;
  }
}
#products2 #artist .w1370 {
  width: calc(100% - 4rem);
  margin: 25rem auto 0;
  position: relative;
}
@media screen and (min-width: 961px) {
  #products2 #artist .w1370 {
    height: 300vh;
  }
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 {
    height: 300vh;
  }
}
#products2 #artist .w1370.status .cm_flex .txtBox h3 {
  transition-delay: 0.25s;
  opacity: 1;
  filter: blur(0);
}
#products2 #artist .w1370.status .cm_flex .txtBox .relative .first {
  transition-delay: 0.375s;
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #artist .w1370.status .cm_flex .imgBox {
  transition-delay: 0.125s;
  opacity: 1;
}
#products2 #artist .w1370.status2 .cm_flex .txtBox .relative .first {
  transition-delay: 0s;
  opacity: 0;
  filter: blur(16px);
}
#products2 #artist .w1370.status2 .cm_flex .txtBox .relative .second {
  transition-delay: 0.125s;
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #artist .w1370.absolute .cm_flex {
  position: absolute;
  top: auto;
  bottom: 0;
  transition: 0s;
  transform: translate(-50%, calc((100vh - 100%) / -2));
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370.absolute .cm_flex {
    width: 100%;
    height: calc(100dvh - 13.4615384615rem);
    transform: translate(-50%, -3.8461538462rem);
  }
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 h3 + .cm_flex {
    margin-top: 2rem;
  }
}
#products2 #artist .w1370 .cm_flex {
  pointer-events: none;
  align-items: center;
  justify-content: space-between;
  gap: 10vw;
  position: fixed;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 961px) {
  #products2 #artist .w1370 .cm_flex {
    width: calc(100% - 4rem);
    max-width: 85.625rem;
    top: calc(50% + 2.7777777778rem);
  }
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex {
    width: calc(100% - 4rem);
    height: calc(100% - 11.5384615385rem);
    gap: 3.5384615385rem;
    top: calc(50% + 1.9230769231rem);
  }
}
#products2 #artist .w1370 .cm_flex .txtBox {
  width: 29.125rem;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex .txtBox {
    width: 100%;
  }
}
#products2 #artist .w1370 .cm_flex .txtBox h3 {
  transition: 1s;
  opacity: 0;
  filter: blur(16px);
}
@media screen and (min-width: 961px) {
  #products2 #artist .w1370 .cm_flex .txtBox h3 {
    transform: translateY(1.1111111111rem);
  }
}
#products2 #artist .w1370 .cm_flex .txtBox h3 img {
  width: auto;
  height: 4.5625rem;
}
#products2 #artist .w1370 .cm_flex .txtBox .relative {
  position: relative;
  margin-top: min(75vh - 25rem - 1em, 12.2222222222rem - 0.703125em);
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex .txtBox .relative {
    margin-top: calc(1.875rem - 0.625em);
  }
}
#products2 #artist .w1370 .cm_flex .txtBox .relative dl {
  transition: 0.75s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #artist .w1370 .cm_flex .txtBox .relative dl.second {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
#products2 #artist .w1370 .cm_flex .txtBox .relative dl dt img {
  width: auto;
  height: 1.5rem;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex .txtBox .relative dl dt img {
    height: 1rem;
    margin: 0 auto;
  }
}
#products2 #artist .w1370 .cm_flex .txtBox .relative dl dt .jp {
  display: block;
  color: #dec167;
  font-size: 1.25rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex .txtBox .relative dl dt .jp {
    font-size: 1.0769230769rem;
    text-align: center;
  }
}
#products2 #artist .w1370 .cm_flex .txtBox .relative dl dd {
  margin-top: 2.7777777778rem;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex .txtBox .relative dl dd {
    margin-top: 2.3076923077rem;
  }
}
#products2 #artist .w1370 .cm_flex .txtBox .relative dl dd.fs18 {
  letter-spacing: 0.16em;
}
#products2 #artist .w1370 .cm_flex .imgBox {
  width: 50%;
  max-width: 45rem;
  height: 75vh;
  transition: 1s;
  opacity: 0;
}
@media screen and (max-width: 960px) {
  #products2 #artist .w1370 .cm_flex .imgBox {
    width: 100%;
    height: calc(100dvh - 40.3846153846rem);
    margin: 1.9230769231rem auto 3.4615384615rem;
  }
}
#products2 #artist .w1370 .cm_flex .imgBox img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 961px) {
  #products2 #master {
    padding-top: calc(28.125rem - 12.5vh);
  }
}
@media screen and (max-width: 960px) {
  #products2 #master {
    padding-top: 15.3846153846rem;
  }
}
#products2 #master.status .w600 {
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #master .w600 {
  max-width: 37.5rem;
  width: calc(100% - 4rem);
  margin: 0 auto;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translateY(1.5rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #master .w600 .cm_flex {
  gap: 4.1111111111rem;
}
@media screen and (max-width: 960px) {
  #products2 #master .w600 .cm_flex {
    align-items: center;
    gap: 1.6923076923rem;
  }
}
#products2 #master .w600 .cm_flex .imgBox {
  width: 15.3125rem;
}
@media screen and (max-width: 960px) {
  #products2 #master .w600 .cm_flex .imgBox {
    width: 100%;
  }
}
#products2 #master .w600 .cm_flex .imgBox h2 img {
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  #products2 #master .w600 .cm_flex .imgBox .img {
    width: 10.3076923077rem;
    margin: 3.5384615385rem auto 0;
  }
}
#products2 #master .w600 .cm_flex .txtBox h2 {
  padding-left: 1.5625rem;
}
#products2 #master .w600 .cm_flex .txtBox h2 img {
  height: 4.5625rem;
}
#products2 #master .w600 .cm_flex .txtBox .jp {
  margin-top: 4.125rem;
  font-size: 1.1875rem;
  letter-spacing: 0.14em;
  padding-left: 1.5625rem;
}
@media screen and (max-width: 960px) {
  #products2 #master .w600 .cm_flex .txtBox .jp {
    font-size: 1rem;
    margin: 0;
    padding-left: 0.9230769231rem;
  }
}
#products2 #master .w600 .cm_flex .txtBox .jp strong {
  display: block;
  font-size: 1.875rem;
  font-weight: normal;
  letter-spacing: 0.2em;
  margin-top: 1.5rem;
}
@media screen and (max-width: 960px) {
  #products2 #master .w600 .cm_flex .txtBox .jp strong {
    font-size: 1.3076923077rem;
    margin-top: 1.0769230769rem;
  }
}
#products2 #master .w600 .cm_flex .txtBox .name {
  height: 4.875rem;
  width: auto;
  margin-top: 0.75rem;
}
@media screen and (max-width: 960px) {
  #products2 #master .w600 .cm_flex .txtBox .name {
    height: 3.3846153846rem;
    margin-top: 0.5384615385rem;
  }
}
#products2 #fermented {
  height: 525vh;
  margin-top: 28.125rem;
  position: relative;
}
@media screen and (max-width: 960px) {
  #products2 #fermented {
    height: 300vh;
    margin-top: 15.3846153846rem;
  }
}
#products2 #fermented.status .inner .txtBox h2 {
  transform: translate(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(1) {
  transition-delay: 0.1875s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(2) {
  transition-delay: 0.25s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(3) {
  transition-delay: 0.3125s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(4) {
  transition-delay: 0.375s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(5) {
  transition-delay: 0.4375s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(6) {
  transition-delay: 0.5s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(7) {
  transition-delay: 0.5625s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(8) {
  transition-delay: 0.625s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(9) {
  transition-delay: 0.6875s;
}
#products2 #fermented.status .inner .txtBox .relative .fs18.first span:nth-child(10) {
  transition-delay: 0.75s;
}
#products2 #fermented.status .inner .imgBox ul li.first {
  opacity: 1;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.first span {
  opacity: 0;
  filter: blur(16px);
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(1) {
  transition-delay: 0.1875s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(2) {
  transition-delay: 0.25s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(3) {
  transition-delay: 0.3125s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(4) {
  transition-delay: 0.375s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(5) {
  transition-delay: 0.4375s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(6) {
  transition-delay: 0.5s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(7) {
  transition-delay: 0.5625s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(8) {
  transition-delay: 0.625s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(9) {
  transition-delay: 0.6875s;
}
#products2 #fermented.status2 .inner .txtBox .relative .fs18.second span:nth-child(10) {
  transition-delay: 0.75s;
}
#products2 #fermented.status2 .inner .imgBox ul li.second {
  opacity: 1;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.second {
  opacity: 0;
  filter: blur(16px);
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span {
  transform: translateY(0);
  opacity: 1;
  filter: blur(0);
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(1) {
  transition-delay: 0.1875s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(2) {
  transition-delay: 0.25s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(3) {
  transition-delay: 0.3125s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(4) {
  transition-delay: 0.375s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(5) {
  transition-delay: 0.4375s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(6) {
  transition-delay: 0.5s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(7) {
  transition-delay: 0.5625s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(8) {
  transition-delay: 0.625s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(9) {
  transition-delay: 0.6875s;
}
#products2 #fermented.status3 .inner .txtBox .relative .fs18.third span:nth-child(10) {
  transition-delay: 0.75s;
}
#products2 #fermented.status3 .inner .imgBox ul li.third {
  opacity: 1;
}
#products2 #fermented .inner .txtBox {
  position: fixed;
}
@media screen and (min-width: 961px) {
  #products2 #fermented .inner .txtBox {
    width: 26.875rem;
    top: 50%;
    left: max(2rem, (100% - 80rem) / 2);
    transform: translate(0, -50%);
  }
}
@media screen and (max-width: 960px) {
  #products2 #fermented .inner .txtBox {
    width: 100%;
    top: 25.641025641vw;
    padding: 0 3.4615384615rem;
  }
}
#products2 #fermented .inner .txtBox h2 {
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(0, 1rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #fermented .inner .txtBox h2 img {
  height: 1.5555555556rem;
}
@media screen and (max-width: 960px) {
  #products2 #fermented .inner .txtBox h2 img {
    height: 1.2307692308rem;
  }
}
#products2 #fermented .inner .txtBox h2 .jp {
  display: block;
  color: #dec167;
  font-size: 1.25rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  margin-top: 1em;
}
@media screen and (max-width: 960px) {
  #products2 #fermented .inner .txtBox h2 .jp {
    font-size: 1.2307692308rem;
  }
}
#products2 #fermented .inner .txtBox .relative {
  margin-top: calc(4.5rem - 0.65em);
  position: relative;
}
@media screen and (max-width: 960px) {
  #products2 #fermented .inner .txtBox .relative {
    margin-top: calc(3rem - 0.65em);
  }
}
#products2 #fermented .inner .txtBox .relative .fs18.second, #products2 #fermented .inner .txtBox .relative .fs18.third {
  position: absolute;
  top: 0;
  left: 0;
}
#products2 #fermented .inner .txtBox .relative .fs18 span {
  display: inline-block;
  transition: 1s cubic-bezier(0.25, 1, 0.5, 1);
  transform: translate(0, 1rem);
  opacity: 0;
  filter: blur(16px);
}
#products2 #fermented .inner .imgBox {
  width: 60.6770833333vw;
  position: fixed;
  z-index: -3;
}
@media screen and (min-width: 961px) {
  #products2 #fermented .inner .imgBox {
    height: 100%;
    top: 0;
    right: 0;
  }
}
@media screen and (max-width: 960px) {
  #products2 #fermented .inner .imgBox {
    width: 100%;
    height: calc(100lvh - 27.3076923077rem);
    bottom: 0;
    left: 0;
  }
}
#products2 #fermented .inner .imgBox ul li {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 1s;
  opacity: 0;
}
#products2 #fermented .inner .imgBox ul li img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#products2 #product2-01 {
  height: 98.514359375vw;
  padding-top: 14.6590677083vw;
  position: relative;
}
@media screen and (max-width: 960px) {
  #products2 #product2-01 {
    height: auto;
    padding: 4.0769230769rem 0 5.8461538462rem;
  }
}
@media screen and (min-width: 961px) {
  #products2 #product2-01.status .fs28 {
    opacity: 1;
    filter: blur(0);
  }
}
@media screen and (min-width: 961px) {
  #products2 #product2-01.status2 .fs28 {
    opacity: 0;
    filter: blur(16px);
  }
}
#products2 #product2-01 .fs28 {
  pointer-events: none;
  font-size: 1.75rem;
  letter-spacing: 0.56em;
  writing-mode: vertical-rl;
  white-space: nowrap;
  margin: 0 auto;
}
@media screen and (min-width: 961px) {
  #products2 #product2-01 .fs28 {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 1s;
    opacity: 0;
    filter: blur(16px);
  }
}
@media screen and (max-width: 960px) {
  #products2 #product2-01 .fs28 {
    font-size: 1.4615384615rem;
    margin: 19.7435897436vw 0 0 24.1025641026vw;
  }
}
#products2 #product2-01 .img1 {
  width: 28.8916145833vw;
  position: absolute;
  left: 6.308546875vw;
  top: 31.4446041667vw;
}
@media screen and (max-width: 960px) {
  #products2 #product2-01 .img1 {
    position: static;
    width: 53.1226153846vw;
    margin-left: 11.2820512821vw;
  }
}
#products2 #product2-01 .img2 {
  width: 20.9619270833vw;
  position: absolute;
  left: 63.54846875vw;
  top: 21.2130885417vw;
}
@media screen and (max-width: 960px) {
  #products2 #product2-01 .img2 {
    width: 40.577025641vw;
    top: 101.5384615385vw;
    left: 50.5714102564vw;
  }
}
#products2 #product2-01 .img3 {
  width: 27.7867604167vw;
  position: absolute;
  left: 59.3201041667vw;
  top: 66.239828125vw;
  aspect-ratio: 533/362;
}
#products2 #product2-01 .img3 video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 960px) {
  #products2 #product2-01 .img3 {
    position: static;
    width: 82.8866153846vw;
    margin: 4.9230769231rem auto 0;
  }
}
#products2 #product2-02 {
  padding: 10.875rem 0 15.75rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 {
    padding: 6.6153846154rem 0 10.3846153846rem;
  }
}
#products2 #product2-02.status .limited {
  opacity: 1;
  filter: blur(0);
}
#products2 #product2-02.status .w884 {
  opacity: 1;
  filter: blur(0);
}
#products2 #product2-02 .limited {
  width: 100%;
  max-width: 31.25rem;
  text-align: left;
  font-size: 3.875rem;
  white-space: nowrap;
  letter-spacing: 0.02em;
  transition: 1s;
  opacity: 0;
  filter: blur(32px);
  margin: 0 auto;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .limited {
    max-width: 23.8461538462rem;
    font-size: 2.9230769231rem;
  }
}
#products2 #product2-02 .limited span {
  display: block;
  font-size: 2.4375rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .limited span {
    font-size: 1.8461538462rem;
  }
}
#products2 #product2-02 .limited strong {
  font-weight: 400;
  font-size: 6.125rem;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .limited strong {
    font-size: 4.6153846154rem;
  }
}
#products2 #product2-02 .limited .caption {
  font-size: 0.875rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.06em;
  margin: 0.75rem 0 0;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .limited .caption {
    font-size: 0.8461538462rem;
    letter-spacing: 0.04em;
    margin: 0.9230769231rem 0 0;
  }
}
#products2 #product2-02 .w884 {
  max-width: 55.25rem;
  width: calc(100% - 4rem);
  transition: 1s 1s;
  opacity: 0;
  filter: blur(32px);
  margin: 9.375rem auto 0;
}
#products2 #product2-02 .w884 .cm_flex {
  align-items: center;
  justify-content: center;
  gap: 8.5rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex {
    gap: 3.0769230769rem;
  }
}
#products2 #product2-02 .w884 .cm_flex .imgBox {
  width: 15.625rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .imgBox {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4.9230769231rem;
  }
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .title {
    width: 15.3846153846rem;
  }
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .img {
    width: 8.6538461538rem;
  }
}
#products2 #product2-02 .w884 .cm_flex .txtBox {
  width: 23.9375rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .txtBox {
    width: auto;
  }
}
#products2 #product2-02 .w884 .cm_flex .txtBox .title {
  width: 20.8125rem;
  margin: 0 auto;
}
#products2 #product2-02 .w884 .cm_flex .txtBox p {
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-size: 0.9375rem;
  font-weight: normal;
  letter-spacing: 0.1em;
  line-height: 1.5;
  /*
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Oxygen,
    Ubuntu,
    Cantarell,
    "Open Sans",
    "Helvetica Neue",
    sans-serif;
    */
  margin: calc(8.75rem - 0.25em) 0 -0.25em;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .txtBox p {
    font-size: 1.0769230769rem;
    margin: -0.25em 0;
  }
}
#products2 #product2-02 .w884 .cm_flex .txtBox .description {
  margin: 8.75rem 0 0;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .txtBox .description {
    margin-top: 0;
  }
}
#products2 #product2-02 .w884 .cm_flex .txtBox .description dl {
  display: flex;
}
#products2 #product2-02 .w884 .cm_flex .txtBox .description dl dt, #products2 #product2-02 .w884 .cm_flex .txtBox .description dl dd {
  font-size: 0.9375rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: normal;
  line-height: 1.75;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .txtBox .description dl dt, #products2 #product2-02 .w884 .cm_flex .txtBox .description dl dd {
    font-size: 1.0769230769rem;
  }
}
#products2 #product2-02 .w884 .cm_flex .txtBox .description dl dt {
  width: 8.125rem;
  flex-shrink: 0;
  text-align: center;
  position: relative;
}
#products2 #product2-02 .w884 .cm_flex .txtBox .description dl dt::after {
  content: "：";
  position: absolute;
  bottom: -0.25em;
  top: 0;
  right: 0;
  font-size: 0.9375rem;
  font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Meiryo", sans-serif;
  font-weight: normal;
  line-height: 1.75;
  letter-spacing: 0;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex .txtBox .description dl dt::after {
    font-size: 1.0769230769rem;
  }
}
#products2 #product2-02 .w884 .cm_flex2 {
  align-items: center;
  margin-top: 7.5rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex2 {
    margin-top: 6.4615384615rem;
    gap: 2.1538461538rem;
  }
}
#products2 #product2-02 .w884 .cm_flex2 .txtBox h3 img {
  width: auto;
  height: 4.5625rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .cm_flex2 .txtBox h3 img {
    height: 3.0769230769rem;
    margin: 0 auto;
  }
}
#products2 #product2-02 .w884 .cm_flex2 .imgBox {
  max-width: 39.625rem;
  background: #292929;
  position: relative;
  z-index: 1;
}
#products2 #product2-02 .w884 .cm_flex2 .imgBox .shadow {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  mix-blend-mode: multiply;
}
#products2 #product2-02 .w884 .link {
  display: block;
  margin-top: 8.125rem;
}
@media screen and (max-width: 960px) {
  #products2 #product2-02 .w884 .link {
    margin-top: 4rem;
  }
}
#products2 #product2-02 .w884 .caption {
  font-size: 1rem;
  text-align: center;
  line-height: 1.5;
  margin: calc(1.6666666667rem - 0.25em) 0 -0.25em;
}
#products2 footer {
  padding: 10.9375rem 0 6.875rem;
  background: #000;
  position: relative;
}
@media screen and (max-width: 960px) {
  #products2 footer {
    padding: 8.8461538462rem 0 3.4615384615rem;
  }
}
#products2 footer .site_top {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
#products2 footer .site_top a {
  display: block;
  width: 25.375rem;
  height: 4.5rem;
  background: #000;
  border: 2px solid #fff;
}
@media screen and (min-width: 961px) {
  #products2 footer .site_top a {
    transition: 0.3s;
  }
  #products2 footer .site_top a:hover {
    background: #fff;
    border: 2px solid #000;
  }
  #products2 footer .site_top a:hover::before {
    border: 1px solid #000;
  }
  #products2 footer .site_top a:hover span {
    color: #000;
  }
}
@media screen and (max-width: 960px) {
  #products2 footer .site_top a {
    width: 24.7692307692rem;
    height: 5.5384615385rem;
  }
}
#products2 footer .site_top a::before {
  content: "";
  border: 1px solid #fff;
  position: absolute;
  inset: 0.3125rem;
  transition: 0.3s;
}
@media screen and (max-width: 960px) {
  #products2 footer .site_top a::before {
    inset: 0.3846153846rem;
  }
}
#products2 footer .site_top a span {
  font-size: 1.25rem;
  letter-spacing: 0.16em;
  white-space: nowrap;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: 0.3s;
}
#products2 footer .top {
  display: block;
  width: 3.3076923077rem;
  position: fixed;
  right: 1.8461538462rem;
  bottom: 1.8461538462rem;
  z-index: 5;
  transition: 0.5s;
  opacity: 0;
}
@media screen and (min-width: 961px) {
  #products2 footer .top {
    display: none;
  }
}
#products2 footer .top.scroll {
  opacity: 1;
}
#products2 footer img {
  height: 3.75rem;
}
@media screen and (max-width: 960px) {
  #products2 footer img {
    height: 3.3076923077rem;
  }
}
#products2 footer .copy {
  font-size: 0.625rem;
}/*# sourceMappingURL=products2.css.map */