@charset "UTF-8";
/* 
//////////////////////////////////////////////////////////////////////////////////////////
default settings
//////////////////////////////////////////////////////////////////////////////////////////
*/
#Contents .main-area {
  overflow-x: visible;
}

#footer_emmi {
  margin-top: 0;
  padding-top: 0;
}
#em260303logo {
  --pc-width: 1400; /*PCデザイン幅*/
  --sp-width: 750; /*SPデザイン幅*/
  --pc-artboard-width: 525; /*SP共通デザイン幅*/
  --sp-artboard-width: 750; /*PC共通デザイン幅*/
  --formula: calc(
    var(--variable) * var(--ratio)
  ); /*SP,PC共通箇所の可変割合の計算式*/
  --formula_pc: calc(var(--variable) * 1); /*PCデザインの可変割合の計算式*/
}

@media (min-width: 1401px) {
  #em260303logo {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: 1px; /* 固定値（可変しない） */
  }
}

@media (min-width: 768px) and (max-width: 1400px) {
  #em260303logo {
    --ratio: calc(
      var(--pc-artboard-width) / var(--sp-artboard-width)
    ); /* PCとSPのデザイン幅の比率 */
    --variable: calc(100vw / var(--pc-width)); /* 画面幅に基づく可変値 */
  }
}

@media (max-width: 767px) {
  #em260303logo {
    --ratio: 1; /* 比率は1（変わらない） */
    --variable: calc(100vw / var(--sp-width)); /* 画面幅に基づく可変値 */
  }
}

#em260303logo img {
  display: block;
  width: 100%;
  height: auto;
}

#em260303logo h2,
#em260303logo h3,
#em260303logo p,
#em260303logo li {
  margin-block: calc((1em - 1lh) / 2);
}

#em260303logo .invisible-heading {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
/* 
//////////////////////////////////////////////////////////////////////////////////////////
common settings
//////////////////////////////////////////////////////////////////////////////////////////
*/

#em260303logo a.link-disable:hover {
  opacity: 1;
}

#em260303logo [class*="__txt"] {
  font-family: var(--yu-gochic);
  color: var(--black);
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.025em;
  text-align: justify;
  font-weight: var(--font-regular);
  width: calc(650 * var(--formula));
}

#em260303logo [class*="__credit"] {
  font-family: var(--pragmatica);
  color: var(--black);
  font-size: calc(22 * var(--formula));
  line-height: 1.9;
  letter-spacing: 0.039em;
  text-align: left;
  font-weight: var(--font-regular);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(19 * var(--formula));
}

#em260303logo [class*="__credit"] li {
  display: flex;
  flex-direction: row;
}

#em260303logo .fade-in {
  opacity: 0;
  transition: all 1.2s cubic-bezier(0.83, 0, 0.17, 1);
}
#em260303logo .is-visible.fade-in {
  opacity: 1;
}

#em260303logo .slide-up {
  opacity: 0;
  transform: translateY(calc(60 * var(--formula)));
  transition: all 1s ease-out;
}
#em260303logo .is-visible.slide-up {
  opacity: 1;
  transform: translateY(0);
}

#em260303logo .slide-left {
  opacity: 0;
  transform: translateX(calc(-60 * var(--formula)));
  transition: all 1s ease-out;
}
#em260303logo .is-visible.slide-left {
  opacity: 1;
  transform: translateX(0);
}

#em260303logo .slide-right {
  opacity: 0;
  transform: translateX(calc(60 * var(--formula)));
  transition: all 1s ease-out;
}
#em260303logo .is-visible.slide-right {
  opacity: 1;
  transform: translateX(0);
}

#em260303logo .anime-delay {
  transition-delay: 0.5s;
}
/* 
//////////////////////////////////////////////////////////////////////////////////////////
layout settings
//////////////////////////////////////////////////////////////////////////////////////////
*/
#em260303logo {
  position: relative;
  display: grid;
  align-items: start;
  justify-items: center;
  width: 100%;
  height: 100%;
  --white: #ffffff;
  --black: #000000;
  --green: #ccd6d1;
  --dark-green: #aab3af;
  --yu-gochic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "Yu Gothic", "Open Sans", "メイリオ", sans-serif;
  --shuei-mincho: dnp-shuei-mincho-pr6n, sans-serif;
  --utopia: utopia-std, serif;
  --pragmatica: pragmatica, sans-serif;
  --font-light: 300;
  --font-regular: 400;
  --font-bold: 600;
  font-feature-settings: "palt";
}
#em260303logo .bg-cont {
  position: sticky;
  grid-area: 1 / 1;
  top: 0;
  width: 100%;
  height: 100vh;
  background: var(--green);
  background-size: cover;
  z-index: 0;
}
#em260303logo .lp-contents-cont {
  position: relative;
  grid-area: 1 / 1;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  z-index: 1;
}
#em260303logo .mv-cont {
  position: sticky;
  top: 0;
  height: 100vh;
  width: calc(525 * var(--formula_pc));
}

#em260303logo .mv-01 {
  width: 100%;
  height: 100%;
  position: relative;
}
#em260303logo .mv-01 video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#em260303logo #video-sound-toggle {
  position: absolute;
  right: calc(20 * var(--formula));
  bottom: calc(20 * var(--formula));
  border: none;
  width: calc(25 * var(--formula_pc));
  height: calc(25 * var(--formula_pc));
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: background 0.3s;
}

#em260303logo #sound-icon {
  width: 100%;
  height: auto;
}

#em260303logo .lp-main-cont {
  width: calc(525 * var(--formula_pc));
  background: var(--color-theme-background);
  overflow: hidden;
}

#em260303logo .section-settings {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
}

#em260303logo .section1 {
  margin: calc(100 * var(--formula)) 0 0 0;
  z-index: 2;
}
#em260303logo .section1 .logo_deco {
  width: calc(600 * var(--formula));
  position: absolute;
  top: calc(40 * var(--formula));
  right: calc(-120 * var(--formula));
  z-index: 0;
  pointer-events: none;
}
#em260303logo .section1::before {
  content: " ";
  display: block;
  position: absolute;
  top: calc(500 * var(--formula));
  left: 0;
  width: calc(750 * var(--formula));
  height: calc(1333 * var(--formula));
  background-image: url(../../260303_logo/img/sec01_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
}
#em260303logo .splide-fade .splide__pagination {
  bottom: unset;
  left: unset;
  right: calc(17 * var(--formula));
  top: calc(15 * var(--formula));
  padding: 0;
  gap: calc(14 * var(--formula));
}
#em260303logo .splide-fade .splide__pagination li {
  margin-block: 0;
}
#em260303logo .splide-fade .splide__pagination__page {
  height: calc(10 * var(--formula));
  width: calc(10 * var(--formula));
  background: var(--white);
  opacity: 30%;
  margin: 0;
}

#em260303logo .splide-fade .splide__pagination__page.is-active {
  transform: scale(1);
  opacity: 1;
}

#em260303logo .splide-fade .splide__slide {
  width: calc(480 * var(--formula));
}

#em260303logo .section1__txt {
  text-align: center;
  letter-spacing: 0.05em;
  position: relative;
  z-index: 1;
}

#em260303logo #slider {
}

#em260303logo .splide-autoscroll {
  width: min(100%, calc(750 * var(--formula)));
  margin: calc(118 * var(--formula)) 0 calc(151 * var(--formula)) 0;
}

#em260303logo .splide-autoscroll .splide__track {
}

#em260303logo .splide-autoscroll .splide__list {
  align-items: center;
}

#em260303logo .splide-autoscroll .splide__slide {
}

#em260303logo [class*="animate-item"] {
  background: var(--color-theme-background);
}

#em260303logo .section1-02 {
  margin: calc(14 * var(--formula)) 0 calc(42 * var(--formula)) 0;
}

#em260303logo .section1__credit {
  width: calc(480 * var(--formula));
  display: inline-block;
  margin-top: calc(43 * var(--formula));
}

#em260303logo .section1__credit li:nth-of-type(2) {
  padding-top: calc(10 * var(--formula));
}
#em260303logo .section1__credit li:nth-of-type(3) {
  padding-top: calc(10 * var(--formula));
}

#em260303logo .section2 {
  margin: calc(118 * var(--formula)) 0 0 0;
  height: fit-content;
  overflow: unset;
}
#em260303logo .section2 .logo_deco {
  width: calc(442 * var(--formula));
  position: absolute;
  top: calc(-192 * var(--formula));
  left: calc(-40 * var(--formula));
  z-index: 1;
  pointer-events: none;
}

#em260303logo .section2__credit {
  width: calc(200 * var(--formula));
  display: inline-block;
  position: absolute;
  top: calc(1132 * var(--formula));
  right: calc(90 * var(--formula));
}
#em260303logo .section2__credit li:nth-of-type(2) {
  padding-top: calc(10 * var(--formula));
}
#em260303logo .section2__credit li:nth-of-type(3) {
  padding-top: calc(10 * var(--formula));
}

#em260303logo .section3 {
  margin: calc(676 * var(--formula)) 0 0 0;
}
#em260303logo .section3__credit {
  width: calc(688 * var(--formula));
  display: inline-block;
  margin-top: calc(43 * var(--formula));
}

#em260303logo .section4 {
  margin: calc(118 * var(--formula)) 0 0 0;
}
#em260303logo .section4__flex {
  width: calc(750 * var(--formula));
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#em260303logo .section4__frame {
  width: calc(375 * var(--formula));
}
#em260303logo .section4__credit {
  margin-top: calc(42 * var(--formula));
}
#em260303logo .section4__credit_line {
  gap: calc(20 * var(--formula));
}

#em260303logo .section5 {
  margin: calc(226 * var(--formula)) 0 0 0;
  z-index: 1;
  overflow: unset;
}
#em260303logo .section5::before {
  content: " ";
  display: block;
  width: calc(540 * var(--formula));
  height: calc(960 * var(--formula));
  position: absolute;
  top: calc(-65 * var(--formula));
  left: 0;
  z-index: 0;
  background-image: url(../../260303_logo/img/sec05_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}
#em260303logo .section5-01__frame {
  width: calc(525 * var(--formula));
  margin-left: calc(165 * var(--formula));
}
#em260303logo .section5__credit {
  width: calc(525 * var(--formula));
  display: inline-block;
  text-align: right;
  margin: calc(43 * var(--formula)) auto 0 calc(195 * var(--formula));
}
#em260303logo .section5__credit li {
  display: block;
}
#em260303logo .section5__credit li:nth-of-type(2) {
  padding-top: calc(10 * var(--formula));
}
#em260303logo .section5__credit li:nth-of-type(3) {
  padding-top: calc(10 * var(--formula));
}

#em260303logo .section6 {
  margin: calc(206 * var(--formula)) 0 0 0;
  display: block;
  overflow: unset;
  z-index: 1;
}
#em260303logo .section6 .logo_deco {
  width: calc(600 * var(--formula));
  position: absolute;
  top: calc(-115 * var(--formula));
  right: calc(-195 * var(--formula));
  z-index: -1;
  pointer-events: none;
}

#em260303logo .section6__credit {
  width: calc(520 * var(--formula));
  display: inline-block;
  margin: calc(42 * var(--formula)) auto 0 calc(36 * var(--formula));
}
#em260303logo .section6-01__frame {
  width: calc(520 * var(--formula));
  margin-left: calc(35 * var(--formula));
}
#em260303logo .section6-02__frame {
  width: calc(520 * var(--formula));
  margin: calc(15 * var(--formula)) auto 0 calc(35 * var(--formula));
}

#em260303logo .section7 {
  display: block;
  margin: calc(178 * var(--formula)) 0 0 0;
}
#em260303logo .section7 .logo_deco {
  width: calc(200 * var(--formula));
  margin: 0 auto;
  pointer-events: none;
}

#em260303logo .section7 .splide-autoscroll {
  margin: calc(60 * var(--formula)) auto 0;
}
#em260303logo .section7 .splide-autoscroll.is-reverse {
  margin: calc(20 * var(--formula)) auto 0;
}

/* 画像サイズ指定用クラス(__frame) */
#em260303logo .section7-slider {
  width: calc(220 * var(--formula));
}

#em260303logo .section1-01__frame {
  width: calc(480 * var(--formula));
  margin-top: calc(258 * var(--formula));
}

#em260303logo .section1-02__frame {
  width: calc(480 * var(--formula));
  margin-top: calc(15 * var(--formula));
}

#em260303logo .section2-01__frame {
  width: calc(555 * var(--formula));
  margin-left: calc(195 * var(--formula));
}
#em260303logo .section2-02__frame {
  width: calc(420 * var(--formula));
  position: absolute;
  top: calc(676 * var(--formula));
  left: 0;
  z-index: 3;
}

#em260303logo .section3-01__frame {
  width: calc(688 * var(--formula));
}

#em260303logo .section8 {
  overflow: unset;
  margin: calc(132 * var(--formula)) 0 0 0;
}
#em260303logo .section8__block {
  border-top: 1px solid var(--dark-green);
  border-bottom: 1px solid var(--dark-green);
  padding: 0 calc(20 * var(--formula)) calc(70 * var(--formula));
  width: 100%;
  box-sizing: border-box;
  position: relative;
}
#em260303logo .section8__h3 {
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translateY(-50%); /* 枠線の真上に配置 */
  background-color: var(--color-theme-background); /* 背景色と同じ色にして線を隠す */
  padding: 0 calc(15 * var(--formula));
  width: calc(336 * var(--formula));
}

#em260303logo .section8-01__frame {
  width: calc(255 * var(--formula));
  margin: calc(15 * var(--formula)) auto 0;
}

#em260303logo .section8__h4 {
  font-family: var(--pragmatica);
  color: #616664;
  font-weight: var(--font-bold);
  font-size: calc(26 * var(--formula));
  line-height: 1;
  letter-spacing: 0.05em;
  text-align: center;
  margin: calc(32 * var(--formula)) auto 0;
}

#em260303logo .section8__txt {
  margin: calc(18 * var(--formula)) auto 0;
  font-family: var(--yu-gochic);
  color: var(--black);
  font-weight: var(--font-regular);
  font-size: calc(24 * var(--formula));
  line-height: 2;
  letter-spacing: 0.05em;
  text-align: center;
}

#em260303logo .section8__txt span {
  display: block;
  margin: calc(14 * var(--formula)) auto 0;
  font-size: calc(20 * var(--formula));
}

#em260303logo .all_btn {
  width: calc(360 * var(--formula));
  margin: 0 auto;
  padding-block: calc(148 * var(--formula)) calc(160 * var(--formula));
}

@media (max-width: 767px) {
  #em260303logo .bg-cont {
    display: none;
  }
  #em260303logo .lp-contents-cont {
    flex-direction: column;
  }
  #em260303logo .mv-cont {
    position: relative;
    height: unset;
    width: calc(750 * var(--formula));
    background: var(--color-theme-background);
  }
  #em260303logo .mv-01 {
    width: calc(720 * var(--formula));
    margin: 0 auto;
    padding-top: calc(35 * var(--formula));
  }
  #em260303logo .mv-01 video {
      height: auto;
      width: 100%;
  }
  #em260303logo #video-sound-toggle {
    width: calc(40 * var(--formula));
    height: calc(40 * var(--formula));
    padding: unset;
  }

  #em260303logo .lp-main-cont {
    width: calc(750 * var(--formula));
    background: var(--color-theme-background);
  }
  #footer_emmi {
    padding-top: 0;
  }
}

@media (min-width: 768px) {
  #em260303logo .section8__h3 {
    width: calc(303 * var(--formula));
  }

  #em260303logo .section8__txt{
    margin: calc(21 * var(--formula)) auto 0;
  }
}