@charset "UTF-8";
/* トップ用SASS変数 */
/* -------------------------------------------------- */
/* 全ページ共通要素 */
/* -------------------------------------------------- */
.l-head-logo {
  display: none; }

.l-wrapper__block:first-child {
  z-index: 100000010; }
  @media screen and (max-width: 749px) {
    .l-wrapper__block:first-child {
      z-index: auto; } }

.l-sitemap {
  z-index: 100000010; }

@media screen and (max-width: 749px) {
  .c-toggle.-toggle-sitemap .c-toggle__line__item {
    background-color: #ffffff; } }

@media screen and (max-width: 749px) {
  .c-toggle.-toggle-sitemap.is-open .c-toggle__line__item {
    background-color: #4d4d4d; } }

@media screen and (max-width: 749px) {
  .c-toggle.-toggle-sitemap .c-toggle__text {
    color: #ffffff; } }

@media screen and (max-width: 749px) {
  .c-toggle.-toggle-sitemap.is-open .c-toggle__text {
    color: #4d4d4d; } }

@media screen and (max-width: 749px) {
  .l-side-access {
    color: #ffffff; } }

@media screen and (max-width: 749px) {
  .l-side .c-toggle.is-open {
    z-index: 100000011; } }

/* アニメーション（keyframes）定義 */
/* -------------------------------------------------- */
@-webkit-keyframes mask-effect-op {
  0% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%; }
  to {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%; } }
@keyframes mask-effect-op {
  0% {
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%; }
  to {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%; } }

@-webkit-keyframes mask-effect {
  0% {
    opacity: 0;
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%; }
  to {
    opacity: 1;
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%; } }

@keyframes mask-effect {
  0% {
    opacity: 0;
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%; }
  to {
    opacity: 1;
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%; } }

@-webkit-keyframes zoom-effect {
  0% {
    -webkit-transform: scale(1) rotate(0.1deg);
    transform: scale(1) rotate(0.1deg); }
  to {
    -webkit-transform: scale(1.2) rotate(0.1deg);
    transform: scale(1.2) rotate(0.1deg); } }

@keyframes zoom-effect {
  0% {
    -webkit-transform: scale(1) rotate(0.1deg);
    transform: scale(1) rotate(0.1deg); }
  to {
    -webkit-transform: scale(1.2) rotate(0.1deg);
    transform: scale(1.2) rotate(0.1deg); } }

/* トップ用ロゴ */
/* -------------------------------------------------- */
.t-home-logo {
  pointer-events: none;
  display: block;
  color: #ffffff;
  position: fixed;
  top: 6.4rem;
  left: 14.3rem;
  z-index: 10000;
  -webkit-transform-origin: center 0;
  -ms-transform-origin: center 0;
  transform-origin: center 0; }
  @media screen and (max-width: 749px) {
    .t-home-logo {
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      width: 100%;
      left: 0;
      top: 20px; } }

.t-home-logo svg,
.t-home-logo img {
  display: block;
  width: 14rem; }
  @media screen and (max-width: 749px) {
    .t-home-logo svg,
    .t-home-logo img {
      width: 8.6rem;
      margin: 0 auto; } }

.t-top__scene .t-home-logo {
  left: 7.4rem; }
  @media screen and (max-width: 749px) {
    .t-top__scene .t-home-logo {
      left: 0; } }

/* トップ用ロゴ ブランド */
/* -------------------------------------------------- */
.t-home-logo-grand {
  width: 10.7rem;
  position: absolute;
  bottom: 8rem;
  right: 7.3rem;
  pointer-events: none;
  z-index: 10000; }
  @media screen and (max-width: 1024px) {
    .t-home-logo-grand {
      opacity: 0; } }

.l-home-logo-100th {
  width: 9.7rem;
  height: 4rem;
  position: absolute;
  top: 6.4rem;
  right: 8.8rem;
  z-index: 10000; }
  @media screen and (max-width: 1024px) {
    .l-home-logo-100th {
      width: 5.8rem;
      height: 2.4rem;
      top: 2rem;
      right: 1.6rem; } }

/* スライドコンテンツ */
/* -------------------------------------------------- */
.c-slide-wrap {
  position: relative; }

.c-slide-wrap *:focus {
  outline: 0; }

.js-slider .slick-track {
  width: 100% !important;
  height: 100% !important;
  position: relative !important; }

.js-slider .slick-slide {
  width: 0 !important;
  height: 0 !important;
  left: 0 !important;
  position: static !important;
  left: 0 !important;
  top: 0 !important;
  z-index: auto !important; }

.c-slide-main {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 10; }
  @media screen and (max-width: 749px) {
    .c-slide-main:after {
      content: "";
      display: block;
      width: 100%;
      height: 155px;
      background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), color-stop(82.29%, rgba(0, 0, 0, 0.4)));
      background: -webkit-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 82.29%);
      background: -o-linear-gradient(top, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 82.29%);
      background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.4) 82.29%);
      position: absolute;
      left: 0;
      bottom: 0; } }

.js-slider,
.js-slider .slick-list {
  width: 100%;
  height: 100% !important; }

.js-slider__block {
  display: block;
  float: none;
  width: 100%;
  background: #000000;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  opacity: 1 !important;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.js-slider__block__body {
  display: block;
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
  will-change: mask-position, opacity; }
  .js-slider__block.slick-current .js-slider__block__body {
    -webkit-mask: url("../png/effect_mask-scene-in.png");
    mask: url("../png/effect_mask-scene-in.png");
    -webkit-mask-size: 2600% 100%;
    mask-size: 2600% 100%;
    -webkit-mask-position: 0% 0%;
    mask-position: 0% 0%;
    -webkit-animation: mask-effect 900ms steps(25) forwards;
    animation: mask-effect 900ms steps(25) forwards; }
    @media screen and (max-width: 749px) {
      .js-slider__block.slick-current .js-slider__block__body {
        -webkit-mask: url("../png/effect_mask-scene-in-sp.png");
        mask: url("../png/effect_mask-scene-in-sp.png");
        -webkit-mask-size: 1700% 100%;
        mask-size: 1700% 100%;
        -webkit-animation: mask-effect 700ms steps(16) forwards;
        animation: mask-effect 700ms steps(16) forwards; } }
  .js-slider__block:first-child .js-slider__block__body {
    z-index: 101; }

.t-top__scene__zoom {
  will-change: transform; }
  .t-top__scene__zoom.is-init-zoom {
    -webkit-animation: zoom-effect 6500ms linear forwards;
    animation: zoom-effect 6500ms linear forwards; }

.c-slide-nav {
  width: 100%;
  padding-bottom: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  padding: 20px 0;
  background: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0)), color-stop(50.26%, rgba(0, 0, 0, 0.25)), color-stop(100.52%, rgba(0, 0, 0, 0)));
  background: -webkit-linear-gradient(right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 50.26%, rgba(0, 0, 0, 0) 100.52%);
  background: -o-linear-gradient(right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 50.26%, rgba(0, 0, 0, 0) 100.52%);
  background: linear-gradient(270deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.25) 50.26%, rgba(0, 0, 0, 0) 100.52%); }
  @media screen and (max-width: 1024px) {
    .c-slide-nav {
      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;
      width: calc(100% - 140px);
      height: 42px;
      left: 0;
      margin: 0 auto;
      border-radius: 100px;
      background: rgba(77, 77, 77, 0.7);
      text-align: center;
      padding: 0;
      border: none;
      bottom: 36px; } }
  @media screen and (max-width: 749px) {
    .c-slide-nav {
      width: 52.5%; } }

.c-slide-nav__list {
  padding: 0;
  margin: 0;
  list-style: none;
  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 screen and (max-width: 1024px) {
    .c-slide-nav__list {
      display: block; } }
  @media screen and (max-width: 749px) {
    .c-slide-nav__list {
      pointer-events: none;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none;
      padding: 0 30px; } }

.c-slide-nav__block {
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-size: 11px;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on;
  letter-spacing: 0.04em;
  color: #ffffff;
  opacity: .8;
  position: relative; }
  @media screen and (max-width: 1024px) {
    .c-slide-nav__block {
      pointer-events: none;
      font-size: 10px;
      color: #ffffff;
      letter-spacing: 0.02em; } }

.c-slide-nav__block.is-current,
.c-slide-nav__block:hover {
  opacity: 1; }

.c-slide-nav__block::after {
  content: url; }

.c-slide-nav__block > span {
  display: block;
  position: relative;
  z-index: 20;
  margin: 0 13px; }

@media screen and (max-width: 1024px) {
  .c-slide-nav__block:not(.is-current) {
    display: none; } }

.js-tagTracker {
  height: 26px;
  position: absolute;
  display: block;
  background: #4d4d4d;
  top: calc(50% - .025rem);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 100px;
  -webkit-transition: left 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  -o-transition: left 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: left 500ms cubic-bezier(0.165, 0.84, 0.44, 1);
  opacity: 0.7; }
  @media screen and (max-width: 1024px) {
    .js-tagTracker {
      display: none !important; } }

.c-slidenav-arrow {
  width: 40px;
  height: 100%;
  position: absolute;
  top: -1px;
  color: #4d4d4d;
  font-size: 11px;
  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;
  cursor: pointer;
  opacity: 0; }
  @media screen and (max-width: 1024px) {
    .c-slidenav-arrow {
      width: 42px;
      height: 42px;
      font-size: 0;
      color: rgba(255, 255, 255, 0);
      top: 0;
      opacity: 1; } }
  .c-slidenav-arrow:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: 4px 6px; }

.c-slidenav-arrow.-type-prev {
  left: 0; }
  .c-slidenav-arrow.-type-prev:after {
    background-image: url("../svg/icon-ui_arrow-left.svg"); }
    @media screen and (max-width: 1024px) {
      .c-slidenav-arrow.-type-prev:after {
        background-image: url("../svg/icon-ui_arrow-left%40sp.svg");
        background-size: 15px 15px; } }

.c-slidenav-arrow.-type-next {
  right: 0; }
  .c-slidenav-arrow.-type-next:after {
    background-image: url("../svg/icon-ui_arrow-right.svg"); }
    @media screen and (max-width: 1024px) {
      .c-slidenav-arrow.-type-next:after {
        background-image: url("../svg/icon-ui_arrow-right%40sp.svg");
        background-size: 15px 15px; } }

.c-slide-arrows-pc {
  display: block;
  width: 100%;
  width: calc(100vw - 70px);
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }
  @media screen and (max-width: 749px) {
    .c-slide-arrows-pc {
      width: 100%; } }

.c-slide-arrows-pc__body {
  width: 100%;
  height: 100%;
  position: relative; }

.c-slide-arrows-pc__button {
  cursor: pointer;
  display: block;
  width: 42px;
  height: 42px;
  background-repeat: no-repeat;
  background-size: 42px 42px;
  background-position: left top;
  position: absolute;
  top: 50%;
  top: calc(50% - 21px);
  z-index: 1001;
  -webkit-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  opacity: 0; }
  @media screen and (max-width: 749px) {
    .c-slide-arrows-pc__button {
      display: none; } }

.c-slide-arrows-pc__button.-prev {
  left: 20px;
  background-image: url("../svg/icon-ui_arrow2-left.svg"); }

.c-slide-arrows-pc__button.-next {
  right: 20px;
  background-image: url("../svg/icon-ui_arrow2-right.svg"); }

.c-slide-wrap.is-mouse-move .c-slide-arrows-pc__button,
.c-slide-wrap.is-mouse-on .c-slide-arrows-pc__button {
  opacity: 1; }

.c-slide-wrap.is-mouse-on .c-slide-arrows-pc__button:hover {
  opacity: 0.8;
  -webkit-transition: none;
  -o-transition: none;
  transition: none; }

@media screen and (max-width: 749px) {
  .c-slide-arrows-pc__button {
    opacity: 1; } }

.c-slide-arrows-sp {
  display: none;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0; }
  @media screen and (max-width: 749px) {
    .c-slide-arrows-sp {
      display: block; } }

.c-slide-arrows-sp__body {
  width: 100%;
  height: 100%;
  position: relative; }

.c-slide-arrows-sp__prev,
.c-slide-arrows-sp__next {
  width: 50%;
  height: calc(100% - 200px);
  position: absolute;
  bottom: 0;
  z-index: 1001; }

.c-slide-arrows-sp__prev {
  left: 0; }

.c-slide-arrows-sp__next {
  right: 0; }

.t-top__scene__link-pc {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 10001; }

/* スライド内各シーン */
/* -------------------------------------------------- */
.t-top__scene {
  display: block;
  width: 100%;
  height: 100%;
  background-color: #000000;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: relative;
  overflow: hidden; }

.t-top__scene__detail {
  display: block;
  color: #ffffff;
  position: absolute;
  left: 7.3rem;
  bottom: 11.0rem;
  z-index: 10000;
  -webkit-filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.3));
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.3)); }
  @media screen and (max-width: 749px) {
    .t-top__scene__detail {
      width: 100%;
      text-align: center;
      left: 0;
      top: 13.5rem;
      bottom: auto; } }
  .-black .t-top__scene__detail {
    color: #111; }

.t-top__scene__detail a {
  text-decoration: none; }

.t-top__scene__detail__link {
  font-style: normal;
  font-weight: 500;
  -webkit-font-feature-settings: 'palt' on, 'liga' off;
  font-feature-settings: 'palt' on, 'liga' off;
  font-size: 1.4rem;
  line-height: 125%;
  letter-spacing: 0.02em;
  margin-top: 1.8rem;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  -ms-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  -moz-transform-style: preserve-3d;
  -ms-transform-style: preserve-3d;
  transform-style: preserve-3d; }
  @media screen and (max-width: 749px) {
    .t-top__scene__detail__link {
      margin-top: 1.2rem; } }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__link {
      font-size: 1.2rem; } }

a.t-top__scene__link-pc:hover + .t-top__scene__detail .c-txt-link span:before {
  opacity: 1; }

.t-top__scene__detail__slogan {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: 300;
  -webkit-font-feature-settings: 'palt' on, 'pwid' on;
  font-feature-settings: 'palt' on, 'pwid' on;
  font-size: 2.6rem;
  line-height: 150%;
  letter-spacing: 0.12em; }
  :lang(zh-cmn-Hant) .t-top__scene__detail__slogan {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-top__scene__detail__slogan {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__slogan {
      font-size: 2.4rem;
      line-height: 125%;
      letter-spacing: 0.06em; } }

:lang(en) .t-top__scene__detail__slogan {
  font-size: 2.3rem;
  letter-spacing: 0.03em; }

.t-top__scene__detail__name {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: 500;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off;
  font-size: 1.4rem;
  line-height: 125%;
  margin-top: 0.85rem; }
  :lang(zh-cmn-Hant) .t-top__scene__detail__name {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-top__scene__detail__name {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__name {
      font-size: 1.2rem;
      -webkit-font-feature-settings: 'palt' on, 'pwid' on;
      font-feature-settings: 'palt' on, 'pwid' on;
      letter-spacing: 0.04em; } }

.t-top__scene__detail__name-en {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: normal;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-size: 1.8rem;
  line-height: 125%;
  letter-spacing: 0.04em;
  margin-top: 0.85rem;
  margin-bottom: -0.375rem; }
  :lang(zh-cmn-Hant) .t-top__scene__detail__name-en {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-top__scene__detail__name-en {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .t-top__scene__detail__name-en {
      margin-bottom: -0.125rem; } }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__name-en {
      font-size: 1.6rem; } }

.t-top__scene__detail__title-root {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: normal;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-size: 1.8rem;
  line-height: 125%;
  letter-spacing: 0.04em; }
  :lang(zh-cmn-Hant) .t-top__scene__detail__title-root {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-top__scene__detail__title-root {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__title-root {
      font-size: 1.6rem; } }

.t-top__scene__detail__title-main {
  pointer-events: none;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 0.6rem;
  margin-bottom: -0.55rem; }
  @media screen and (max-width: 749px) {
    .t-top__scene__detail__title-main {
      display: block;
      text-align: center;
      margin-bottom: 1.5rem; } }

.t-top__scene__detail__title-main__en {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-style: normal;
  font-weight: normal;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-size: 3.0rem;
  line-height: 125%;
  letter-spacing: 0.02em;
  font-family: 'Untitled Serif', serif; }
  :lang(zh-cmn-Hant) .t-top__scene__detail__title-main__en {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-top__scene__detail__title-main__en {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  @media screen and (max-width: 749px) {
    .t-top__scene__detail__title-main__en {
      display: block; } }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__title-main__en {
      font-size: 2.6rem;
      letter-spacing: 0; } }
  .t-top__scene__detail__title-main__en:after {
    content: "";
    display: block;
    width: 28px;
    height: 1px;
    margin: 0 22px 0 22px;
    background-color: #ffffff; }
    @media screen and (max-width: 749px) {
      .t-top__scene__detail__title-main__en:after {
        width: 1px;
        height: 28px;
        margin: 8px auto 18px auto; } }
    @media screen and (max-width: 359px) {
      .t-top__scene__detail__title-main__en:after {
        height: 24px;
        margin: 6px auto 12px auto; } }

.t-top__scene__detail__title-main__en.-en-only::after {
  display: none; }

.t-top__scene__detail__title-main__en > span {
  display: block; }
  @media screen and (max-width: 749px) {
    .t-top__scene__detail__title-main__en > span {
      display: inline-block; } }
  .t-top__scene__detail__title-main__en > span:first-child {
    opacity: 0.7;
    padding-right: 0.25em; }

.t-top__scene__detail__title-main__slogan {
  font-style: normal;
  font-weight: 500;
  -webkit-font-feature-settings: 'liga' off;
  font-feature-settings: 'liga' off;
  font-size: 1.4rem;
  line-height: 125%; }
  @media screen and (max-width: 359px) {
    .t-top__scene__detail__title-main__slogan {
      font-size: 1.2rem; } }

.t-top__scene__image-main > img {
  pointer-events: none;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 50%;
  object-position: 50% 50%;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 100;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.t-top__scene__video {
  pointer-events: none;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  width: 100%;
  width: calc(100% + 1px);
  height: 100%;
  position: absolute;
  left: -1px;
  top: 0;
  z-index: 100;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  .ua-edge .t-top__scene__video,
  .ua-ie .t-top__scene__video {
    display: block;
    -o-object-fit: none;
    object-fit: none;
    -o-object-position: center;
    object-position: center;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    margin: auto;
    width: auto;
    height: auto;
    position: absolute;
    top: -100%;
    right: -100%;
    bottom: -100%;
    left: -100%; }

/* スライド内各シーン > シーン毎ユニーク設定 */
/* -------------------------------------------------- */
#scene_cal0100 .t-top__scene__image-main > img {
  -o-object-position: 50% 25%;
  object-position: 50% 25%; }
  @media screen and (max-width: 749px) {
    #scene_cal0100 .t-top__scene__image-main > img {
      -o-object-position: 50% 20%;
      object-position: 50% 20%; } }

#scene_cal0200 .t-top__scene__image-main > img {
  -o-object-position: 50% 30%;
  object-position: 50% 30%; }
  @media screen and (max-width: 749px) {
    #scene_cal0200 .t-top__scene__image-main > img {
      -o-object-position: 50% 15%;
      object-position: 50% 15%; } }

#scene_5sec .t-top__scene__image-main img {
  -o-object-position: 50% 52.5%;
  object-position: 50% 52.5%; }
  @media screen and (max-width: 749px) {
    #scene_5sec .t-top__scene__image-main img {
      -o-object-position: 50% 65%;
      object-position: 50% 65%; } }

#scene_hospitality .t-top__scene__image-main img {
  -o-object-position: 65% 95%;
  object-position: 65% 95%; }
  @media screen and (max-width: 749px) {
    #scene_hospitality .t-top__scene__image-main img {
      -o-object-position: 55% 75%;
      object-position: 55% 75%; } }

/* オープニングシーン */
/* -------------------------------------------------- */
.t-home-opening {
  width: 100%;
  height: 100%;
  background-color: #d3d7da;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000020; }

.t-home-opening__body {
  display: block;
  width: 100%;
  height: 100%;
  position: relative; }

.t-home-opening__logo {
  pointer-events: none;
  display: block;
  width: 100%;
  color: #000000;
  position: absolute;
  top: 6.4rem;
  left: 0;
  z-index: 100000019; }
  @media screen and (max-width: 749px) {
    .t-home-opening__logo {
      top: 6.0rem; } }

.t-home-opening__logo svg,
.t-home-opening__logo img {
  display: block;
  width: 16.9rem;
  height: 14.4rem;
  margin: 0 auto; }
  @media screen and (max-width: 749px) {
    .t-home-opening__logo svg,
    .t-home-opening__logo img {
      width: 13.3rem;
      height: 11.3rem; } }

.t-home-opening__logo-grand {
  width: 10.7rem;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4rem;
  margin: 0 auto; }

.t-home-opening__slogan {
  font-family: 'Untitled Serif', serif;
  font-style: normal;
  font-weight: 300;
  -webkit-font-feature-settings: 'palt' on;
  font-feature-settings: 'palt' on;
  font-size: 1.8rem;
  font-size: calc(1.4rem + 0.325vw);
  line-height: 125%;
  letter-spacing: 0.06em;
  color: #000000;
  position: absolute;
  left: 145px;
  left: 10.6%;
  bottom: 55px;
  bottom: 8.37%;
  z-index: 100000019; }
  :lang(zh-cmn-Hant) .t-home-opening__slogan {
    font-weight: 300;
    font-family: "Noto Serif TC"; }
  :lang(zh-cmn-Hans) .t-home-opening__slogan {
    font-weight: 300;
    font-family: "Noto Serif SC"; }
  .ua-edge-18-lte .t-home-opening__slogan {
    font-size: 1.8rem; }
  @media screen and (max-width: 749px) {
    .t-home-opening__slogan {
      width: 100%;
      font-size: 1.8rem;
      text-align: center;
      line-height: 150%;
      left: 0;
      bottom: 65px;
      bottom: 10.24%; } }
  @media screen and (max-width: 359px) {
    .t-home-opening__slogan {
      font-size: 1.6rem;
      letter-spacing: 0.04em;
      bottom: 12.4%; } }

.t-home-opening__visual {
  display: block; }

.t-home-opening__visual > img {
  pointer-events: none;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 50% 75%;
  object-position: 50% 75%;
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 99999998; }

/* ローダー */
/* -------------------------------------------------- */
.l-loader {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100000021; }

.l-loader__body {
  display: block;
  width: 100%;
  height: 100%;
  position: relative; }

.l-loader__logo {
  pointer-events: none;
  display: block;
  color: #000000;
  position: fixed;
  top: 6.4rem;
  left: 14.3rem; }
  @media screen and (max-width: 749px) {
    .l-loader__logo {
      width: 100%;
      left: 0;
      top: 20px; } }

.l-loader__logo svg {
  display: block;
  width: 16.9rem;
  height: 14.4rem; }
  @media screen and (max-width: 749px) {
    .l-loader__logo svg {
      width: 5.9rem;
      height: 5.0rem;
      margin: 0 auto; } }

.l-loader__indicator {
  width: 0%;
  height: 1px;
  background-color: #ffffff;
  position: absolute;
  left: 0;
  top: 50%; }

/* オープニング */
/* -------------------------------------------------- */
.l-loader__indicator {
  -webkit-transition: all 250ms ease-out;
  -o-transition: all 250ms ease-out;
  transition: all 250ms ease-out; }
  @media screen and (max-width: 749px) {
    .l-loader__indicator {
      -webkit-transition: all 500ms ease-out;
      -o-transition: all 500ms ease-out;
      transition: all 500ms ease-out; } }

.t-home-opening__body {
  background-color: #d3d7da;
  -webkit-mask: url("../png/effect_mask-scene-out.png");
  mask: url("../png/effect_mask-scene-out.png");
  -webkit-mask-size: 2600% 100%;
  mask-size: 2600% 100%;
  -webkit-mask-position: 0% 0%;
  mask-position: 0% 0%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: mask-position, opacity; }
  @media screen and (max-width: 749px) {
    .t-home-opening__body {
      -webkit-mask: url("../png/effect_mask-scene-out-sp.png");
      mask: url("../png/effect_mask-scene-out-sp.png");
      -webkit-mask-size: 1700% 100%;
      mask-size: 1700% 100%;
      will-change: mask-position, opacity; } }

.t-home-opening__slogan {
  opacity: 0;
  -webkit-transition: all 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
  -o-transition: all 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: all 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95); }

.t-home-opening__visual {
  opacity: 0;
  -webkit-transition: all 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
  -o-transition: all 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95);
  transition: all 1000ms cubic-bezier(0.445, 0.05, 0.55, 0.95); }

.is-op1 .l-loader__indicator {
  width: 0% !important;
  left: auto;
  right: 0;
  opacity: 0; }

.is-op2 .l-loader {
  visibility: hidden; }

.is-op2 .t-home-opening {
  background-color: transparent; }

.is-op2 .t-home-opening__body {
  -webkit-animation: mask-effect-op 900ms steps(25) forwards;
  animation: mask-effect-op 900ms steps(25) forwards; }
  @media screen and (max-width: 749px) {
    .is-op2 .t-home-opening__body {
      -webkit-animation: mask-effect-op 700ms steps(16) forwards;
      animation: mask-effect-op 700ms steps(16) forwards; } }
