@charset "UTF-8";
/*================================================================
 *FILE          :top.css
 *DESCRIPTION   :resetはressを使用。環境変数とmixinは_mixin.scss内に記述。
                 それぞれfoundationよりインポート。
 *AUTHOR        :
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/*================================================================
 *FILE					:_components.scss
 *DESCRIPTION   :全ページ共通コンポーネント カスタムCSS
 *AUTHOR				:
 *--------------------------------------------------------------
 *(C)
=================================================================*/
/*
ページネーション
------------------------------------*/
/*
View More
------------------------------------*/
/*
共通 Main Visual（brands, about, who we are）
------------------------------------*/
/*
Button
------------------------------------*/
/*
c-title
------------------------------------*/
/*
c-modal
------------------------------------*/
/*
iframeCookieAccept
------------------------------------*/
.c-viewMore {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  cursor: pointer; }

@media print and (hover: hover), screen and (hover: hover) and (min-width: 768px) {
  .c-viewMore:hover .c-viewMore_text {
    translate: calc(10 / 1280 * 100vw) 0; } }

@media print and (hover: hover), screen and (hover: hover) and (max-width: 767px) {
  .c-viewMore:hover .c-viewMore_right_icon::before {
    -webkit-transform: translate(calc(15 / 375 * 100vw), calc(-15 / 375 * 100vw));
    -ms-transform: translate(calc(15 / 375 * 100vw), calc(-15 / 375 * 100vw));
    transform: translate(calc(15 / 375 * 100vw), calc(-15 / 375 * 100vw)); } }

@media print and (hover: hover), screen and (hover: hover) and (min-width: 768px) {
  .c-viewMore:hover .c-viewMore_right_icon::before {
    -webkit-transform: translate(calc(15 / 1280 * 100vw), calc(-15 / 1280 * 100vw));
    -ms-transform: translate(calc(15 / 1280 * 100vw), calc(-15 / 1280 * 100vw));
    transform: translate(calc(15 / 1280 * 100vw), calc(-15 / 1280 * 100vw)); } }
  @media (hover: hover) {
    .c-viewMore:hover .c-viewMore_right_icon::after {
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0); } }

.c-viewMore_left {
  background-color: #2B2B2B;
  border-radius: 100px; }
  @media print, screen and (max-width: 767px) {
    .c-viewMore_left {
      padding: calc(13 / 375 * 100vw) calc(36 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .c-viewMore_left {
      padding: calc(12 / 1280 * 100vw) calc(36 / 1280 * 100vw); } }
  .c-viewMore-red .c-viewMore_left {
    background-color: #B91E1E; }

.c-viewMore_text {
  display: block;
  color: #F1F0EE;
  font-weight: bold;
  -webkit-transition: translate 0.3s ease;
  transition: translate 0.3s ease;
  translate: 0 0; }
  @media print, screen and (max-width: 767px) {
    .c-viewMore_text {
      letter-spacing: 0.04em; } }
  @media print, screen and (min-width: 768px) {
    .c-viewMore_text {
      font-size: calc(18 / 1280 * 100vw); } }

.c-viewMore_right {
  background-color: #2B2B2B;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media print, screen and (max-width: 767px) {
    .c-viewMore_right {
      width: calc(48 / 375 * 100vw);
      height: calc(48 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .c-viewMore_right {
      width: calc(48 / 1280 * 100vw);
      height: calc(48 / 1280 * 100vw); } }
  .c-viewMore-red .c-viewMore_right {
    background-color: #B91E1E; }

.c-viewMore_right_icon {
  position: relative;
  inset: 0;
  overflow: hidden; }
  @media print, screen and (max-width: 767px) {
    .c-viewMore_right_icon {
      width: calc(15 / 375 * 100vw);
      height: calc(15 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .c-viewMore_right_icon {
      width: calc(15 / 1280 * 100vw);
      height: calc(15 / 1280 * 100vw); } }
  .c-viewMore_right_icon::before, .c-viewMore_right_icon::after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(../images/common/arrow.svg);
    background-size: contain;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease;
    will-change: transform; }
    @media print, screen and (max-width: 767px) {
      .c-viewMore_right_icon::before, .c-viewMore_right_icon::after {
        width: calc(15 / 375 * 100vw);
        height: calc(15 / 375 * 100vw); } }
    @media print, screen and (min-width: 768px) {
      .c-viewMore_right_icon::before, .c-viewMore_right_icon::after {
        width: calc(15 / 1280 * 100vw);
        height: calc(15 / 1280 * 100vw); } }
  .c-viewMore_right_icon::before {
    top: 0;
    left: 0;
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0); }
  .c-viewMore_right_icon::after {
    top: 0;
    left: 0; }
    @media print, screen and (max-width: 767px) {
      .c-viewMore_right_icon::after {
        -webkit-transform: translate(calc(-15 / 375 * 100vw), calc(15 / 375 * 100vw));
        -ms-transform: translate(calc(-15 / 375 * 100vw), calc(15 / 375 * 100vw));
        transform: translate(calc(-15 / 375 * 100vw), calc(15 / 375 * 100vw)); } }
    @media print, screen and (min-width: 768px) {
      .c-viewMore_right_icon::after {
        -webkit-transform: translate(calc(-15 / 1280 * 100vw), calc(15 / 1280 * 100vw));
        -ms-transform: translate(calc(-15 / 1280 * 100vw), calc(15 / 1280 * 100vw));
        transform: translate(calc(-15 / 1280 * 100vw), calc(15 / 1280 * 100vw)); } }

.c-button {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transition: rotate 0.1s ease;
  transition: rotate 0.1s ease; }
  .c-button::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    rotate: -10deg; }
  @media print, screen and (max-width: 767px) {
    .c-button {
      rotate: -16deg; } }
  @media print, screen and (min-width: 768px) {
    .c-button {
      rotate: -10deg; } }
  .c-button.c-button-white {
    rotate: 10deg; }
  @media (hover: hover) {
    .c-button:hover:not(.c-button-white) .c-buttonWrap {
      rotate: -15deg; }
    .c-button:hover:not(.c-button-white) .c-buttonIcon .bar {
      fill: #BCB3A3; }
    .c-button:hover:not(.c-button-white) .c-buttonIcon .line {
      fill: #BCB3A3; }
    .c-button:hover:not(.c-button-white) .c-buttonIcon .circle {
      fill: #E4E0D9; }
    .c-button:hover:not(.c-button-white) .c-buttonText {
      color: #B91E1E; }
    .c-button:hover.c-button-white .c-buttonWrap {
      rotate: -20deg; } }
  .c-button-white .c-button {
    rotate: 10deg; }

.c-buttonWrap {
  -webkit-transition: rotate 0.1s ease;
  transition: rotate 0.1s ease; }

.c-buttonIcon {
  display: block;
  color: inherit;
  color: #B91E1E; }
  @media print, screen and (max-width: 767px) {
    .c-buttonIcon {
      width: calc(174 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .c-buttonIcon {
      width: calc(222 / 1280 * 100vw); } }
  .c-buttonIcon .bar,
  .c-buttonIcon .line,
  .c-buttonIcon .circle {
    -webkit-transition: fill 0.1s ease;
    transition: fill 0.1s ease;
    fill: #B91E1E; }
  .c-button-white .c-buttonIcon .bar {
    fill: #BCB3A3; }
  .c-button-white .c-buttonIcon .line {
    fill: #BCB3A3; }
  .c-button-white .c-buttonIcon .circle {
    fill: #E4E0D9; }

.c-buttonText {
  color: #F1F0EE;
  font-weight: 800;
  letter-spacing: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transition: color 0.1s ease;
  transition: color 0.1s ease;
  white-space: nowrap; }
  @media print, screen and (max-width: 767px) {
    .c-buttonText {
      font-size: calc(16 / 375 * 100vw);
      translate: calc(-50% - calc(18 / 375 * 100vw)) -50%;
      letter-spacing: 0.04em; } }
  @media print, screen and (min-width: 768px) {
    .c-buttonText {
      font-size: calc(18 / 1280 * 100vw);
      translate: calc(-50% - calc(24 / 1280 * 100vw)) -50%; } }
  .c-button-white .c-buttonText {
    color: #B91E1E; }

.c-title {
  color: #2b2b2b;
  font-family: "Manrope", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", sans-serif;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  width: 100%;
  text-align: left; }
  @media print, screen and (max-width: 767px) {
    .c-title {
      font-size: calc(48 / 375 * 100vw);
      letter-spacing: 0; } }
  @media print, screen and (min-width: 768px) {
    .c-title {
      font-size: calc(90 / 1280 * 100vw); } }
  .c-title.c-title-white {
    color: #E4E0D9; }
  @media print, screen and (max-width: 767px) {
    .c-title.c-title-small {
      font-size: calc(38 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .c-title.c-title-small {
      font-size: calc(80 / 1280 * 100vw); } }
  @media print, screen and (max-width: 767px) {
    .c-title.c-title-tiny {
      font-size: calc(38 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .c-title.c-title-tiny {
      font-size: calc(60 / 1280 * 100vw); } }

.mvSection {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  z-index: -1; }
  @media print, screen and (max-width: 767px) {
    .mvSection {
      height: 350svh; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvSection {
      height: 400svh; } }
  .mvSection::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.35);
    z-index: 1; }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
  .mvInner {
    position: relative; } }

.visionSection {
  height: 250svh;
  overflow-x: clip; }

.mvContent {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  text-align: center; }
  .mvContent.mv-switch .mvContent_item:nth-child(1) {
    opacity: 0;
    translate: -50% calc(-50 / 1280 * 100vw); }
  .mvContent.mv-switch .mvContent_item:nth-child(2) {
    opacity: 1;
    translate: -50% 0; }

.mvContent_item {
  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;
  width: 100%;
  height: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: absolute;
  top: 0;
  left: 50%;
  translate: -50% 0;
  opacity: 0; }
  @media print, screen and (max-width: 767px) {
    .mvContent_item {
      margin-top: calc(30 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .mvContent_item {
      margin-top: calc(44 / 1280 * 100vw); } }
  [data-text="1"] .mvContent_item:nth-child(1) {
    opacity: 1;
    -webkit-transition: opacity 2s ease;
    transition: opacity 2s ease; }
  [data-text="2"] .mvContent_item:nth-child(1) {
    -webkit-transition: opacity .5s ease;
    transition: opacity .5s ease; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    .mvContent_item:nth-child(1) .mvTitle_wrap {
      height: calc(171 / 375 * 100vw); } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvContent_item:nth-child(1) .mvTitle_wrap {
      height: calc(248 / 1280 * 100vw); } }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    .mvContent_item:nth-child(1) .mvTitle {
      margin-left: calc(-2 / 375 * 100vw); } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvContent_item:nth-child(1) .mvTitle {
      margin-left: calc(-10 / 1280 * 100vw); } }
  .mvContent_item:nth-child(2) {
    -webkit-transform: translate(0, 5svh);
    -ms-transform: translate(0, 5svh);
    transform: translate(0, 5svh); }
    [data-text="2"] .mvContent_item:nth-child(2) {
      opacity: 1;
      -webkit-transform: translate(0, 0);
      -ms-transform: translate(0, 0);
      transform: translate(0, 0);
      -webkit-transition: opacity 1.1s ease, -webkit-transform 1.1s ease;
      transition: opacity 1.1s ease, -webkit-transform 1.1s ease;
      transition: opacity 1.1s ease, transform 1.1s ease;
      transition: opacity 1.1s ease, transform 1.1s ease, -webkit-transform 1.1s ease; }
    [data-text="1"] .mvContent_item:nth-child(2) {
      -webkit-transition: opacity .5s ease, -webkit-transform .5s ease;
      transition: opacity .5s ease, -webkit-transform .5s ease;
      transition: opacity .5s ease, transform .5s ease;
      transition: opacity .5s ease, transform .5s ease, -webkit-transform .5s ease; }
    .mvContent_item:nth-child(2) .mvContent_itemInside_text {
      text-align: left; }
      @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
        .mvContent_item:nth-child(2) .mvContent_itemInside_text {
          font-size: calc(18 / 375 * 100vw);
          line-height: 1.5; } }
      @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
        html[lang="en-US"] .mvContent_item:nth-child(2) .mvContent_itemInside_text, html[lang="auto"] .mvContent_item:nth-child(2) .mvContent_itemInside_text {
          font-size: calc(22 / 375 * 100vw);
          line-height: 1.3; } }
      .mvContent_item:nth-child(2) .mvContent_itemInside_text span {
        color: #B91E1E;
        font-style: normal;
        font-weight: 900;
        display: inline-block; }
        @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
          .mvContent_item:nth-child(2) .mvContent_itemInside_text span {
            margin-right: calc(37 / 375 * 100vw);
            font-size: calc(14 / 375 * 100vw);
            translate: 0 -2px; } }
        @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
          .mvContent_item:nth-child(2) .mvContent_itemInside_text span {
            margin-right: calc(60 / 1280 * 100vw);
            font-size: calc(14 / 1280 * 100vw);
            translate: 0 -2px; } }

.mvVideo {
  width: 100%;
  height: 100dvh;
  -o-object-fit: cover;
  object-fit: cover; }

.mvTitle_wrap {
  position: relative;
  width: 100vw; }

.mvTitle {
  display: inline-block;
  font-family: "Manrope", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", sans-serif;
  color: #E4E0D9;
  line-height: 1;
  font-weight: 900;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    .mvTitle {
      font-size: calc(48 / 375 * 100vw);
      margin-bottom: calc(15 / 375 * 100vw);
      letter-spacing: -0.02em; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvTitle {
      font-size: calc(106 / 1280 * 100vw);
      letter-spacing: 0; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvTitle span {
      margin-left: calc(80 / 1280 * 100vw); } }

@media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
  .mvContent_itemInside {
    padding: 0 calc(20 / 375 * 100vw); } }

@media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
  .mvContent_itemInside {
    width: calc(784 / 1280 * 100vw);
    margin: calc(16 / 1280 * 100vw) auto 0; } }

.mvContent_itemInside_text {
  color: #E4E0D9; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    .mvContent_itemInside_text {
      font-size: calc(16 / 375 * 100vw);
      line-height: 1.3; } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvContent_itemInside_text {
      font-size: calc(20 / 1280 * 100vw);
      line-height: 1.6; } }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    html[lang="en-US"] .mvContent_itemInside_text, html[lang="auto"] .mvContent_itemInside_text {
      font-size: calc(16 / 375 * 100vw); } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    html[lang="en-US"] .mvContent_itemInside_text, html[lang="auto"] .mvContent_itemInside_text {
      font-size: calc(24 / 1280 * 100vw); } }

.mvText_wrap {
  margin: 0 auto;
  position: absolute;
  left: 50%;
  translate: -50% 0;
  -webkit-transition: translate 1s ease;
  transition: translate 1s ease; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    .mvText_wrap {
      top: 160px;
      width: calc(100% - 40px); } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvText_wrap {
      width: calc(784 / 1280 * 100vw); } }

.mvButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-transition: opacity 0.5s ease, translate 0.5s ease;
  transition: opacity 0.5s ease, translate 0.5s ease; }
  @media print, screen and (max-width: 1023px), screen and (min-width: 1024px) and (max-width: 1023px) and (orientation: portrait) {
    .mvButton {
      margin-top: calc(40 / 375 * 100vw); } }
  @media print, screen and (min-width: 1024px) and (orientation: landscape), screen and (min-width: 1024px) {
    .mvButton {
      margin-top: calc(40 / 1280 * 100vw); } }

.aboutSection {
  overflow-x: clip; }

.aboutInner {
  background-color: #F1F0EE;
  position: relative;
  overflow: hidden; }
  .aboutInner::before {
    content: "";
    position: absolute;
    bottom: -100px;
    left: 50%;
    translate: -50% 0;
    background-color: #F1F0EE;
    width: 120%;
    height: 101px;
    z-index: 1; }
  @media print, screen and (min-width: 768px) {
    .aboutInner {
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: 1fr 1fr;
      grid-template-columns: 1fr 1fr; } }

.aboutSlider {
  overflow: hidden;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .aboutSlider {
      aspect-ratio: 624/761; } }

.aboutSlider_item {
  width: 100%; }
  @media print, screen and (max-width: 767px) {
    .aboutSlider_item {
      aspect-ratio: 0.82057;
      overflow: hidden; }
      .aboutSlider_item img,
      .aboutSlider_item svg,
      .aboutSlider_item iframe,
      .aboutSlider_item video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover; } }
  @media print, screen and (min-width: 768px) {
    .aboutSlider_item {
      aspect-ratio: 0.81997;
      overflow: hidden; }
      .aboutSlider_item img,
      .aboutSlider_item svg,
      .aboutSlider_item iframe,
      .aboutSlider_item video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover; } }
  .aboutSlider_item img {
    overflow: hidden; }

.aboutContent {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media print, screen and (max-width: 767px) {
    .aboutContent {
      padding: calc(38 / 375 * 100vw) calc(20 / 375 * 100vw) calc(80 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .aboutContent {
      padding: 0 calc(44 / 1280 * 100vw) 0 calc(64 / 1280 * 100vw); } }

@media print, screen and (max-width: 767px) {
  .aboutContent_title {
    margin-bottom: calc(16 / 375 * 100vw); } }

@media print, screen and (min-width: 768px) {
  .aboutContent_title {
    margin-bottom: calc(32 / 1280 * 100vw); } }

.aboutContent_text {
  line-height: 1.5;
  letter-spacing: 0.02em; }
  @media print, screen and (max-width: 767px) {
    .aboutContent_text {
      font-size: calc(15 / 375 * 100vw);
      margin-bottom: calc(20 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .aboutContent_text {
      font-size: calc(15 / 1280 * 100vw);
      margin-bottom: calc(50 / 1280 * 100vw); } }
  @media print, screen and (max-width: 767px) {
    html[lang="en-US"] .aboutContent_text, html[lang="auto"] .aboutContent_text {
      font-size: calc(18 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    html[lang="en-US"] .aboutContent_text, html[lang="auto"] .aboutContent_text {
      font-size: calc(18 / 1280 * 100vw); } }

.aboutSlider_progress {
  position: absolute;
  left: 50%;
  translate: -50% 0;
  height: 1px;
  z-index: 10; }
  @media print, screen and (max-width: 767px) {
    .aboutSlider_progress {
      top: calc(40 / 375 * 100vw);
      width: calc(100% - calc(30 / 375 * 100vw)); } }
  @media print, screen and (min-width: 768px) {
    .aboutSlider_progress {
      top: calc(40 / 1280 * 100vw);
      width: calc(100% - calc(84 / 1280 * 100vw)); } }

.aboutSlider_progressItems {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 8px; }

.aboutSlider_progressItem {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
  height: 1px;
  border-radius: 10px;
  background-color: #ccc;
  overflow: hidden;
  position: relative;
  z-index: 5; }

.aboutSlider_progressFill {
  display: block;
  width: 0;
  height: 3px;
  border-radius: 10px;
  background-color: #B91E1E;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  left: -1px;
  position: relative;
  z-index: 10; }
  .aboutSlider_progressFill.is-active {
    -webkit-animation: aboutSlider_fill var(--duration, 10000ms) linear forwards;
    animation: aboutSlider_fill var(--duration, 10000ms) linear forwards; }

@-webkit-keyframes aboutSlider_fill {
  from {
    width: 0; }
  to {
    width: 100%; } }

@keyframes aboutSlider_fill {
  from {
    width: 0; }
  to {
    width: 100%; } }

.aboutButton {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  width: 100%; }

.topicsSection {
  background-color: #F1F0EE; }

.topicsInner {
  background-color: #E4E0D9; }
  @media print, screen and (max-width: 767px) {
    .topicsInner {
      padding: calc(64 / 375 * 100vw) calc(20 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsInner {
      padding: calc(80 / 1280 * 100vw) calc(44 / 1280 * 100vw) calc(100 / 1280 * 100vw); } }

.topicsHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media print, screen and (max-width: 767px) {
    .topicsHeader {
      margin-bottom: calc(24 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsHeader {
      margin-bottom: calc(32 / 1280 * 100vw); } }

@media print, screen and (min-width: 768px) {
  .topicsList {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    gap: calc(32 / 1280 * 100vw); } }

.topicsList_item {
  letter-spacing: 0; }
  @media print, screen and (max-width: 767px) {
    .topicsList_item + .topicsList_item {
      display: inline-block;
      margin-top: calc(40 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsList_item:first-child {
      -ms-grid-column: 1;
      -ms-grid-column-span: 3;
      grid-column: 1 / 4;
      -ms-grid-row: 1;
      -ms-grid-row-span: 1;
      grid-row: 1 / 2;
      display: -ms-grid;
      display: grid;
      -ms-grid-columns: calc(682 / 1280 * 100vw) 1fr;
      grid-template-columns: calc(682 / 1280 * 100vw) 1fr;
      gap: calc(32 / 1280 * 100vw); }
      .topicsList_item:first-child .topicsList_contentTitle {
        font-size: calc(36 / 1280 * 100vw); }
        html[lang="en-US"] .topicsList_item:first-child .topicsList_contentTitle, html[lang="auto"] .topicsList_item:first-child .topicsList_contentTitle {
          font-size: calc(46 / 1280 * 100vw); }
      .topicsList_item:first-child .topicsList_contentHead {
        margin-bottom: calc(18 / 1280 * 100vw); }
      .topicsList_item:first-child .topicsList_image {
        aspect-ratio: 1.364;
        overflow: hidden;
        width: 100%; }
        .topicsList_item:first-child .topicsList_image img,
        .topicsList_item:first-child .topicsList_image svg,
        .topicsList_item:first-child .topicsList_image iframe,
        .topicsList_item:first-child .topicsList_image video {
          width: 100%;
          height: 100%;
          -o-object-fit: cover;
          object-fit: cover; } }
  @media (hover: hover) {
    .topicsList_item:hover .topicsList_image img,
    .topicsList_item:hover .topicsList_image video {
      scale: 1.1; }
    .topicsList_item:hover .topicsList_contentTitle {
      color: #B91E1E; } }

.topicsList_image {
  aspect-ratio: 0.85455;
  overflow: hidden;
  width: 100%;
  border-radius: 16px;
  overflow: hidden; }
  .topicsList_image img,
  .topicsList_image svg,
  .topicsList_image iframe,
  .topicsList_image video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover; }
  @media print, screen and (max-width: 767px) {
    .topicsList_image {
      margin-bottom: calc(12 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsList_image {
      margin-bottom: calc(12 / 1280 * 100vw); } }
  .topicsList_image img,
  .topicsList_image video {
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-transition: scale 0.8s ease;
    transition: scale 0.8s ease; }

.topicsList_contentHead {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media print, screen and (max-width: 767px) {
    .topicsList_contentHead {
      margin-bottom: calc(12 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsList_contentHead {
      margin-bottom: calc(12 / 1280 * 100vw); } }

.topicsList_contentHead_category {
  color: #B91E1E;
  font-weight: bold;
  letter-spacing: 0.02em; }
  @media print, screen and (max-width: 767px) {
    .topicsList_contentHead_category {
      font-size: calc(14 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsList_contentHead_category {
      font-size: calc(14 / 1280 * 100vw); } }

.topicsList_contentHead_date {
  color: #5D5D5D; }
  @media print, screen and (max-width: 767px) {
    .topicsList_contentHead_date {
      font-size: calc(14 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsList_contentHead_date {
      font-size: calc(14 / 1280 * 100vw); } }

.topicsList_contentTitle {
  font-family: "Manrope", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", sans-serif;
  font-weight: bold;
  line-height: 1.3;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  -webkit-transition: color 0.5s ease;
  transition: color 0.5s ease; }
  @media print, screen and (max-width: 767px) {
    .topicsList_contentTitle {
      margin-bottom: calc(8 / 375 * 100vw);
      padding-bottom: calc(4 / 375 * 100vw);
      font-size: calc(24 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .topicsList_contentTitle {
      margin-bottom: calc(15 / 1280 * 100vw);
      padding-bottom: calc(5 / 1280 * 100vw);
      font-size: calc(26 / 1280 * 100vw); } }
  html[lang="en-US"] .topicsList_contentTitle, html[lang="auto"] .topicsList_contentTitle {
    line-height: 1.1; }
    @media print, screen and (max-width: 767px) {
      html[lang="en-US"] .topicsList_contentTitle, html[lang="auto"] .topicsList_contentTitle {
        font-size: calc(30 / 375 * 100vw); } }
    @media print, screen and (min-width: 768px) {
      html[lang="en-US"] .topicsList_contentTitle, html[lang="auto"] .topicsList_contentTitle {
        font-size: calc(30 / 1280 * 100vw); } }

.topicsList_contentText {
  color: #5D5D5D;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  letter-spacing: 0.02em; }
  html[lang="en-US"] .topicsList_contentText, html[lang="auto"] .topicsList_contentText {
    line-height: 1.2; }

.topicsMore {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center; }
  @media print, screen and (max-width: 767px) {
    .topicsMore {
      margin-top: calc(44 / 375 * 100vw); } }

.brandSection {
  background-color: #E4E0D9; }

.brandInner {
  background-color: #2b2b2b; }
  @media print, screen and (max-width: 767px) {
    .brandInner {
      padding: calc(64 / 375 * 100vw) calc(20 / 375 * 100vw) calc(80 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .brandInner {
      padding: calc(80 / 1280 * 100vw) calc(44 / 1280 * 100vw) calc(120 / 1280 * 100vw); } }

.brandHeader {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media print, screen and (max-width: 767px) {
    .brandHeader {
      margin-bottom: calc(24 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .brandHeader {
      margin-bottom: calc(32 / 1280 * 100vw); } }

.brandTitle {
  font-family: "Manrope", "Noto Sans JP", "Noto Sans SC", "Noto Sans TC", sans-serif;
  font-weight: 800;
  color: #e4e0d9;
  line-height: 1.4; }
  @media print, screen and (max-width: 767px) {
    .brandTitle {
      font-size: calc(90 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .brandTitle {
      font-size: calc(90 / 1280 * 100vw); } }

.brandMore {
  -ms-flex-negative: 0;
  flex-shrink: 0; }
  @media print, screen and (max-width: 767px) {
    .brandMore {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center; } }

.brandMore_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-decoration: none;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s; }

@media print, screen and (max-width: 767px) {
  .brandGrid {
    padding-bottom: calc(20 / 375 * 100vw); } }

@media print, screen and (min-width: 768px) {
  .brandGrid {
    display: -ms-grid;
    display: grid;
    gap: calc(32 / 1280 * 100vw);
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr); } }

.brandGrid_item {
  position: relative; }
  .brandGrid_item:nth-child(4) {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1 / 2; }
  @media (hover: hover) {
    .brandGrid_item:hover .brandGrid_img {
      -webkit-filter: blur(0);
      filter: blur(0); } }

.brandGrid_link {
  display: block;
  text-decoration: none;
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; }

.brandGrid_imgWrapper {
  position: relative;
  overflow: hidden; }
  @media print, screen and (max-width: 767px) {
    .brandGrid_imgWrapper {
      border-radius: 12px;
      margin-bottom: calc(60 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .brandGrid_imgWrapper {
      border-radius: 16px; } }

.brandGrid_img {
  display: block;
  width: 100%; }
  @media print, screen and (max-width: 767px) {
    .brandGrid_img {
      aspect-ratio: 1.71795;
      overflow: hidden; }
      .brandGrid_img img,
      .brandGrid_img svg,
      .brandGrid_img iframe,
      .brandGrid_img video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover; } }
  @media print, screen and (min-width: 768px) {
    .brandGrid_img {
      -webkit-filter: blur(20px);
      filter: blur(20px);
      -webkit-transition: -webkit-filter 0.3s;
      transition: -webkit-filter 0.3s;
      transition: filter 0.3s;
      transition: filter 0.3s, -webkit-filter 0.3s;
      aspect-ratio: 1.18987;
      overflow: hidden; }
      .brandGrid_img img,
      .brandGrid_img svg,
      .brandGrid_img iframe,
      .brandGrid_img video {
        width: 100%;
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover; } }

.brandGrid_overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.25);
  pointer-events: none; }
  @media print, screen and (max-width: 767px) {
    .brandGrid_overlay {
      background-color: rgba(0, 0, 0, 0.45); } }

.brandGrid_logoWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 1; }

.brandGrid_logo {
  display: block; }
  @media print, screen and (max-width: 767px) {
    .brandGrid_logo {
      width: calc(155 / 375 * 100vw); } }
  @media print, screen and (min-width: 768px) {
    .brandGrid_logo {
      width: calc(216 / 1280 * 100vw); } }

.brandGrid_name {
  font-weight: 500;
  color: #e4e0d9;
  text-align: center;
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }
  @media print, screen and (max-width: 767px) {
    .brandGrid_name {
      bottom: calc(-30 / 375 * 100vw);
      letter-spacing: 0.05em; } }
  @media print, screen and (min-width: 768px) {
    .brandGrid_name {
      bottom: calc(23 / 1280 * 100vw);
      font-size: calc(14 / 1280 * 100vw);
      letter-spacing: 0.1em; } }

.topInner {
  border-radius: var(--section-radius, 40px) var(--section-radius, 40px) 0 0;
  -webkit-transform: scale(var(--section-scale, 0.95));
  -ms-transform: scale(var(--section-scale, 0.95));
  transform: scale(var(--section-scale, 0.95)); }
