@charset "UTF-8";
/*------------------------------------------
  Base Setting
------------------------------------------*/
body {
  overflow: visible;
}

.lp-wrapper {
  background: #EEEAE5;
  color: #0A283C;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: 0;
  position: relative;
  opacity: 0;
}
.lp-wrapper:before {
  content: "";
  width: 50%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../images/common/page-bg.png);
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100%;
}
.lp-wrapper img {
  width: 100%;
}
.lp-wrapper.is--active {
  opacity: 1;
  transition: 1s;
}

.page-25th-top .lp-wrapper:before {
  content: none;
}

.bg-light {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  clip-path: inset(0 100% 0 0);
  opacity: 0;
}
.bg-light:before, .bg-light:after {
  content: "";
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100%;
  transition: 3s;
}
.bg-light:before {
  background-image: url(../images/history/light01.png);
}
.bg-light:after {
  transition: opacity 1s;
  opacity: 0;
  background-image: url(../images/history/light02.png);
}

.page-25th-history .lp-wrapper.is--active .bg-light {
  transition: 1.5s;
  clip-path: inset(0);
  opacity: 1;
}
.page-25th-history .lp-wrapper.is--lightUp .bg-light:after {
  opacity: 1;
  transition: opacity 3s;
}

@media only screen and (max-width: 767px) {
  .bg-light:before {
    background-image: url(../images/history/light01-sp.png);
  }
  .bg-light:after {
    background-image: url(../images/history/light02-sp.png);
  }
}
.lp-main {
  position: relative;
  z-index: 1;
}

.is--tab {
  display: none;
}

.is--sp {
  display: none;
}

@media only screen and (max-width: 1024px) {
  .is--tab {
    display: block;
  }
}
@media only screen and (max-width: 767px) {
  .is--pc {
    display: none !important;
  }
  .is--sp {
    display: block;
  }
}
#page {
  overflow: visible;
  padding: 0;
}

/*------------------------------------------
  component
------------------------------------------*/
/* ========== hoge ========== */
/* ========== button ========== */
.c-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  width: 330px;
  height: 64px;
  position: relative;
  font-weight: 700;
  border-radius: 58px;
}
.c-button__text {
  display: inline-block;
  padding-right: 1em;
}
.c-button:after {
  content: "";
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  right: 50px;
  margin-top: -10px;
  background: url(../images/common/arrow01.svg) no-repeat center;
  background-size: 100%;
  transition: 0.4s;
}
.c-button.--prev .c-button__text {
  padding-right: 0;
  padding-left: 1em;
}
.c-button.--prev:after {
  right: auto;
  left: 50px;
  transform: rotate(180deg);
}

@media only screen and (min-width: 768px) {
  .c-button:hover {
    opacity: 1;
  }
  .c-button:hover:after {
    right: 40px;
  }
  .c-button:hover.--prev:after {
    right: auto;
    left: 40px;
  }
}
@media only screen and (max-width: 767px) {
  .c-button {
    width: 63.5897435897vw;
    height: 12.3076923077vw;
    border-radius: 11.2820512821vw;
    font-size: 3.0769230769vw;
  }
  .c-button__text {
    padding-right: 0;
  }
  .c-button:after {
    width: 4.1025641026vw;
    height: 4.1025641026vw;
    right: 9.2307692308vw;
    margin-top: -2.0512820513vw;
  }
  .c-button.--prev .c-button__text {
    padding-left: 0;
  }
  .c-button.--prev:after {
    right: auto;
    left: 9.2307692308vw;
  }
}
/* ========== Loop Text ========== */
.c-marquee {
  overflow: hidden;
  white-space: nowrap;
  width: 100%;
}
.c-marquee__inner {
  display: flex;
  width: -moz-max-content;
  width: max-content;
  animation-name: loopText;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}
.c-marquee__inner.--characters20 {
  animation-duration: 60s; /* 基本の秒数 */
}
.c-marquee__inner.--characters24 {
  animation-duration: 72s;
}
.c-marquee__text {
  font-family: "futura-pt", sans-serif;
  font-size: 178px;
  padding-right: 0.5em;
  line-height: 1.1;
}

@keyframes loopText {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
@media only screen and (max-width: 767px) {
  .c-marquee__inner.--characters20 {
    animation-duration: 60s; /* 基本の秒数 */
  }
  .c-marquee__inner.--characters24 {
    animation-duration: 72s;
  }
  .c-marquee__text {
    font-size: 30.7692307692vw;
  }
}
/* ========== Parallax illust ========== */
.c-parallax {
  position: absolute;
  transform: translateY(0);
}

/* ========== scroll animation ========== */
.fadeInUp {
  opacity: 0;
  transform: translateY(40px);
}
.fadeInUp.js-scr-active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}

/*------------------------------------------
  layout
------------------------------------------*/
.l-flex {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
}

.l-inner {
  position: relative;
  margin: auto;
  width: 82%;
  max-width: 1760px;
}

@media only screen and (max-width: 767px) {
  .l-inner {
    width: 100%;
    padding-left: 4.1025641026vw;
    padding-right: 4.1025641026vw;
  }
}
/*------------------------------------------
  header
------------------------------------------*/
.lp-header {
  width: 100%;
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 100;
}
.lp-header__logo {
  position: absolute;
  top: 40px;
  left: 2.4%;
}
.lp-header__logo img {
  width: 201px;
}
.lp-header__title {
  padding: 48px 0 0;
  font-size: 18px;
  font-family: "futura-pt", sans-serif;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
  .lp-header__logo {
    top: 5.1282051282vw;
    left: 4.358974359vw;
  }
  .lp-header__logo img {
    width: 33.0769230769vw;
  }
  .lp-header__title {
    font-size: 4.6153846154vw;
    padding: 28.7179487179vw 0 0;
  }
  .page-25th-top .lp-header__title {
    padding-top: 46.1538461538vw;
  }
}
.lp-nav {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 1000;
}
.lp-nav__trigger {
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
}
.lp-nav__trigger .nav-icon {
  width: 33px;
  height: 26px;
  position: relative;
}
.lp-nav__trigger .nav-icon span {
  position: absolute;
  left: 0;
  transition: 0.4s;
  background: #0A283C;
  width: 100%;
  height: 2px;
  border-radius: 4px;
}
.lp-nav__trigger .nav-icon span:nth-child(1) {
  top: 0;
}
.lp-nav__trigger .nav-icon span:nth-child(2) {
  top: 50%;
  margin-top: -1px;
}
.lp-nav__trigger .nav-icon span:nth-child(3) {
  bottom: 0;
}
.lp-nav__trigger.is--active .nav-icon span:nth-child(1) {
  top: 50%;
  margin-top: -1px;
  transform: rotate(25deg);
}
.lp-nav__trigger.is--active .nav-icon span:nth-child(2) {
  opacity: 0;
}
.lp-nav__trigger.is--active .nav-icon span:nth-child(3) {
  bottom: 50%;
  margin-bottom: -1px;
  transform: rotate(-25deg);
}
.lp-nav__contents {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  display: none;
  z-index: 2;
}
.lp-nav__light {
  position: absolute;
  top: 0;
  right: 0;
  width: 80px;
  height: 80px;
  background-color: #F2DF73;
  border-radius: 0 0 0 17px/0 0 0 17px;
  z-index: 1;
  transition: scale 1s, rotate 1s, translate 1s;
  scale: 1;
  rotate: 0deg;
  translate: 0 0;
  transform-origin: right top;
  backface-visibility: hidden;
}
.lp-nav__light.is--active {
  scale: 30;
  rotate: -45deg;
  translate: 0 -200px;
}
.lp-nav__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  backdrop-filter: blur(20px) brightness(60%);
  display: none;
}
.lp-nav .nav-list {
  position: absolute;
  bottom: 62px;
  right: 8%;
}
.lp-nav .nav-list li {
  margin-top: 40px;
  line-height: 1.3;
}
.lp-nav .nav-list li:first-child {
  margin: 0 0 46px;
}
.lp-nav .nav-list a {
  display: flex;
  align-items: center;
}
.lp-nav .nav-list .--en {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-size: 40px;
  width: 228px;
}
.lp-nav .nav-list .--ja {
  font-size: 13px;
  font-weight: 500;
}

@media only screen and (max-width: 767px) {
  .lp-nav__trigger {
    width: 16.4102564103vw;
    height: 16.4102564103vw;
  }
  .lp-nav__trigger .nav-icon {
    width: 6.6666666667vw;
    height: 5.1282051282vw;
  }
  .lp-nav__light {
    width: 16.4102564103vw;
    height: 16.4102564103vw;
    border-radius: 0 0 0 3.5897435897vw/0 0 0 3.5897435897vw;
  }
  .lp-nav__light.is--active {
    scale: 30;
    rotate: -60deg;
    translate: 0 -51.2820512821vw;
  }
  .lp-nav .nav-list {
    bottom: 12.8205128205vw;
    right: 12.8205128205vw;
  }
  .lp-nav .nav-list li {
    margin-top: 7.6923076923vw;
  }
  .lp-nav .nav-list li:first-child {
    margin: 0 0 7.6923076923vw;
  }
  .lp-nav .nav-list .--en {
    font-size: 6.1538461538vw;
    width: 35.8974358974vw;
  }
  .lp-nav .nav-list .--ja {
    font-size: 2.5641025641vw;
  }
}
/*------------------------------------------
  footer
------------------------------------------*/
.lp-footer {
  position: relative;
  padding: 90px 4.5% 48px 3.6%;
  color: #fff;
}
.lp-footer:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #0A283C;
  border-radius: 26px 26px 0 0/26px 26px 0 0;
  z-index: 1;
}
.lp-footer a {
  color: #fff;
}
.lp-footer__inner {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
  gap: 25px;
}
.lp-footer__logo {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.lp-footer__menu {
  margin-left: auto;
}
.lp-footer__guide {
  width: 100%;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 40px;
  font-size: 12px;
}
.lp-footer__loop {
  position: absolute;
  bottom: 100%;
  left: 0;
  width: 100%;
  margin-bottom: -40px;
  color: rgba(226, 219, 207, 0.7);
}
.lp-footer .footer-logo.--official {
  padding-right: 18px;
  border-right: 1px solid #fff;
}
.lp-footer .footer-logo.--official img {
  width: 190px;
}
.lp-footer .footer-logo.--special img {
  width: 132px;
}
.lp-footer .footer-menu {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.lp-footer .footer-menu a {
  display: block;
  font-size: 28px;
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
}
.lp-footer .footer-guide a {
  text-decoration: underline;
}
.lp-footer .footer-guide a:after {
  content: url(../images/common/icon-link.svg);
  display: inline-block;
  vertical-align: middle;
  margin-left: 10px;
}
.lp-footer .footer-copy {
  font-family: "futura-pt", sans-serif;
}

@media only screen and (max-width: 1024px) {
  .lp-footer__inner {
    gap: 40px;
  }
  .lp-footer__logo {
    width: 100%;
  }
  .lp-footer__menu {
    width: 100%;
  }
  .lp-footer__guide {
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .lp-footer {
    padding: 14.8717948718vw 0 16.4102564103vw;
  }
  .lp-footer:before {
    border-radius: 2.5641025641vw 2.5641025641vw 0 0/2.5641025641vw 2.5641025641vw 0 0;
  }
  .lp-footer__inner {
    gap: 10.2564102564vw;
  }
  .lp-footer__logo {
    gap: 3.8461538462vw;
  }
  .lp-footer__guide {
    gap: 10.2564102564vw;
    font-size: 3.0769230769vw;
    text-align: center;
  }
  .lp-footer__loop {
    margin-bottom: -6.6666666667vw;
  }
  .lp-footer .footer-logo.--official {
    padding-right: 3.0769230769vw;
  }
  .lp-footer .footer-logo.--official img {
    width: 32.0512820513vw;
  }
  .lp-footer .footer-logo.--special img {
    width: 25.641025641vw;
  }
  .lp-footer .footer-menu {
    gap: 6.1538461538vw;
  }
  .lp-footer .footer-menu a {
    font-size: 4.6153846154vw;
  }
  .lp-footer .footer-guide {
    width: 100%;
  }
  .lp-footer .footer-copy {
    width: 100%;
  }
}
.pagetop {
  position: absolute;
  top: -53px;
  right: 38px;
  display: flex;
  width: 119px;
  height: 119px;
  justify-content: center;
  align-items: center;
  background: url(../images/common/pagetop-bg.png) no-repeat center;
  background-size: 100%;
  color: #0A283C !important;
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  z-index: 2;
}
.pagetop span {
  display: inline-block;
  padding-top: 27px;
  background: url(../images/common/pagetop-arrow.svg) no-repeat center top;
  background-size: 25px;
}

@media only screen and (max-width: 767px) {
  .pagetop {
    top: -10.2564102564vw;
    right: 1.2820512821vw;
    width: 15.3846153846vw;
    height: 15.3846153846vw;
    font-size: 2.0512820513vw;
  }
  .pagetop span {
    padding-top: 3.5897435897vw;
    background-size: 3.3333333333vw;
  }
}
/*------------------------------------------
  Contents
------------------------------------------*/
/* ========== mv ========== */
.p-mv:before {
  content: "";
  width: 50%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: url(../images/top/mv-bg.png);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
}
.p-mv__inner {
  overflow: hidden;
  position: relative;
  padding-bottom: 22.2222222222vw;
  z-index: 1;
}
.p-mv__contents {
  width: 100%;
  height: 100vh;
  min-height: 834px;
  width: 100%;
  display: flex;
  align-items: center;
  position: relative;
  z-index: 1;
}
.p-mv .mv-title {
  width: 100%;
  position: relative;
  z-index: 2;
  min-height: 684px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: url(../images/top/mv-circle.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 684px;
  opacity: 0;
  filter: blur(40px);
  transform: scale(0.9);
}
.p-mv .mv-title__logo {
  position: relative;
  z-index: 1;
  opacity: 0;
}
.p-mv .mv-title__light {
  position: absolute;
  left: 50%;
  width: 50%;
  min-width: 732px;
  height: 80vh;
  clip-path: polygon(100% 0, 0 50%, 100% 100%);
  background: linear-gradient(90deg, #f7fdf0 0%, rgba(247, 253, 240, 0) 50%);
  background-size: 200% 100%;
  background-position: 100% 0;
}
.p-mv .mv-loop {
  width: 100%;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  color: rgba(255, 255, 255, 0.5);
}
.p-mv .mv-circle1 {
  width: 83px;
  top: 70px;
  right: 50%;
  margin-right: clamp(-424px, -43.3333333333vw, 212px);
}
.p-mv .mv-circle2 {
  width: 159px;
  top: 192px;
  right: 50%;
  margin-right: clamp(-618px, -56.8055555556vw, 309px);
}
.p-mv .mv-circle3 {
  width: 226px;
  top: 70vh;
  left: 50%;
  margin-left: clamp(-624px, -57.2222222222vw, 312px);
}
.p-mv.is--active .mv-title {
  opacity: 1;
  transform: scale(1);
  filter: blur(0);
  transition: 1s 1.5s;
}
.p-mv.is--active .mv-title__logo {
  opacity: 1;
  transition: 1s 3s;
}
.p-mv.is--active .mv-title__light {
  animation: mvLight 2s 4s ease-out forwards;
}

@keyframes mvLight {
  0% {
    background-position: 100% 0;
  }
  100% {
    background-position: 0% 0;
  }
}
@media only screen and (max-width: 767px) {
  .p-mv:before {
    background-image: url(../images/top/mv-bg-sp.png);
  }
  .p-mv__inner {
    padding-top: 63.3333333333vw;
    padding-bottom: 98.2051282051vw;
  }
  .p-mv__contents {
    height: auto;
    min-height: auto;
  }
  .p-mv .mv-title {
    min-height: 88.4615384615vw;
    background-size: 88.4615384615vw;
  }
  .p-mv .mv-title__logo img {
    width: 42.0512820513vw;
  }
  .p-mv .mv-title__light {
    width: 94.358974359vw;
    min-width: auto;
    height: 93.5897435897vw;
  }
  .p-mv .mv-loop {
    top: auto;
    bottom: 0;
    transform: translateY(60%);
  }
  .p-mv .mv-loop .c-marquee__text {
    font-size: 28.2051282051vw;
  }
  .p-mv .mv-circle1 {
    width: 11.7948717949vw;
    top: 23.0769230769vw;
    right: 30.2564102564vw;
    margin-right: 0;
  }
  .p-mv .mv-circle2 {
    width: 22.5641025641vw;
    top: 40.5128205128vw;
    right: 2.5641025641vw;
    margin-right: 0;
  }
  .p-mv .mv-circle3 {
    width: 32.3076923077vw;
    top: 166.6666666667vw;
    left: -5.1282051282vw;
    margin-left: 0;
  }
}
/* ========== lead ========== */
.p-lead {
  position: relative;
  background-image: url(../images/top/lead-bg.png);
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 100%;
  min-height: 90.3472222222vw;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -21.5277777778vw;
}
.p-lead__inner {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  gap: clamp(42px, 5.8333333333vw, 84px);
}
.p-lead .lead-title {
  font-size: clamp(24px, 3.3333333333vw, 48px);
  font-weight: 700;
}
.p-lead .lead-text {
  flex: 1;
  font-size: clamp(11px, 1.5277777778vw, 22px);
  line-height: 2.8;
  font-weight: 700;
}

@media only screen and (max-width: 767px) {
  .p-lead {
    background-image: url(../images/top/lead-bg-sp.png);
    min-height: 264.1025641026vw;
    margin-top: -39.4871794872vw;
  }
  .p-lead__inner {
    display: block;
    gap: clamp(42px, 5.8333333333vw, 84px);
  }
  .p-lead .lead-title {
    font-size: 7.6923076923vw;
    margin-bottom: 1.8em;
  }
  .p-lead .lead-text {
    font-size: 3.8461538462vw;
    line-height: 2.8;
  }
}
/* ========== history ========== */
.p-history {
  position: relative;
  overflow: hidden;
  padding-bottom: 220px;
  margin-top: 0;
  z-index: 1;
}
.p-history__inner {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 797px;
}
.p-history__contents {
  width: 56%;
  width: 74%;
  max-width: 797px;
  position: relative;
  aspect-ratio: 1/1;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  z-index: 1;
}
.p-history__contents:before {
  content: "";
  width: 797px;
  height: 797px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-image: url(../images/top/history-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 797px;
}
.p-history__contents-inner {
  position: relative;
}
.p-history .history-title__text {
  display: block;
  line-height: 1.1;
}
.p-history .history-title__text.--en {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-size: 96px;
}
.p-history .history-title__text.--ja {
  font-weight: 500;
  font-size: 20px;
}
.p-history .history-years {
  font-family: "futura-pt", sans-serif;
  margin: 1.75em 0 2.5em;
  display: flex;
  justify-content: space-between;
  position: relative;
}
.p-history .history-years:before {
  content: "";
  width: calc(100% - 7em);
  height: 1px;
  background: #0A283C;
  position: absolute;
  top: 50%;
  left: 3.5em;
}
.p-history .history-lead {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 24px;
}
.p-history .history-photo {
  z-index: 1;
}
.p-history .history-photo1 {
  width: 300px;
  top: 50%;
  left: 50%;
  margin-left: clamp(-640px, -69.3055555556vw, -320px);
  z-index: 1;
}
.p-history .history-photo2 {
  width: 241px;
  top: 30%;
  right: 50%;
  margin-right: clamp(-560px, -60.625vw, -280px);
}
.p-history .history-photo3 {
  width: 297px;
  top: 100%;
  right: 50%;
  margin-right: clamp(-600px, -54.1666666667vw, -300px);
}
.p-history .history-photo4 {
  width: 203px;
  top: 90%;
  left: 50%;
  margin-left: clamp(-480px, -43.3333333333vw, 240px);
}
.p-history .history-circle1 {
  width: 72px;
  top: 15%;
  left: 50%;
  margin-left: clamp(-650px, -58.6805555556vw, 325px);
}
.p-history .history-circle2 {
  width: 138px;
  top: 25%;
  left: 50%;
  margin-left: clamp(-540px, -48.75vw, 270px);
}
.p-history .history-circle3 {
  width: 138px;
  top: 80%;
  right: 50%;
  margin-right: clamp(-660px, -59.5833333333vw, 330px);
}

@media only screen and (max-width: 767px) {
  .p-history {
    padding: 33.8461538462vw 0 76.9230769231vw;
  }
  .p-history__inner {
    min-height: 152.8205128205vw;
  }
  .p-history__contents {
    width: 100%;
    max-width: none;
  }
  .p-history__contents:before {
    width: 152.8205128205vw;
    height: 152.8205128205vw;
    background-size: 152.8205128205vw;
  }
  .p-history__contents-inner {
    max-width: 66.6666666667vw;
  }
  .p-history .history-title__text.--en {
    font-size: 16.4102564103vw;
  }
  .p-history .history-title__text.--ja {
    font-size: 3.5897435897vw;
  }
  .p-history .history-years {
    margin: 5.641025641vw 0 8.2051282051vw;
    font-size: 3.0769230769vw;
  }
  .p-history .history-lead {
    font-size: 3.3333333333vw;
    line-height: 1.8;
    margin-bottom: 1.5em;
  }
  .p-history .history-photo {
    z-index: 1;
  }
  .p-history .history-photo1 {
    width: 28.7179487179vw;
    top: 20.5128205128vw;
    left: 11.2820512821vw;
    margin-left: 0;
  }
  .p-history .history-photo2 {
    width: 30.2564102564vw;
    top: 7.6923076923vw;
    right: 9.7435897436vw;
    margin-right: 0;
  }
  .p-history .history-photo3 {
    width: 42.0512820513vw;
    top: 120%;
    right: 8.2051282051vw;
    margin-right: 0;
  }
  .p-history .history-photo4 {
    width: 38.4615384615vw;
    top: 90%;
    left: 7.1794871795vw;
    margin-left: 0;
  }
  .p-history .history-circle1 {
    width: 8.4615384615vw;
    top: -20.5128205128vw;
    left: 16.4102564103vw;
    margin-left: 0;
  }
  .p-history .history-circle2 {
    width: 16.4102564103vw;
    top: -7.6923076923vw;
    left: 28.7179487179vw;
    margin-left: 0;
  }
  .p-history .history-circle3 {
    width: 26.6666666667vw;
    top: 100%;
    right: -8.2051282051vw;
    margin-right: 0;
  }
}
/* ========== present ========== */
.p-present {
  position: relative;
  padding: 250px 0 210px;
  margin-top: -220px;
}
.p-present:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
  background-image: url(../images/top/present-bg.png);
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
}
.p-present__inner {
  padding-top: 100px;
}
.p-present .present-title {
  margin-bottom: 60px;
}
.p-present .present-title__text {
  display: inline-block;
  vertical-align: text-bottom;
  line-height: 1.1;
}
.p-present .present-title .--en {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-size: 96px;
}
.p-present .present-title .--ja {
  margin-left: 1em;
  padding-bottom: 1em;
  font-size: 18px;
}
.p-present .present-list {
  border-bottom: 1px solid #0A283C;
}
.p-present .present-item {
  border-top: 1px solid #0A283C;
  padding: 16px 0;
  position: relative;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 5%;
}
.p-present .present-item__thumb {
  width: 26%;
  min-width: 220px;
}
.p-present .present-item__contents {
  flex: 1;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  position: relative;
  padding-left: clamp(35px, 4.8611111111vw, 70px);
  padding-top: 38px;
  gap: 16px 0;
}
.p-present .present-item__num {
  width: 100%;
  font-family: "futura-pt", sans-serif;
  color: #6E7E87;
  position: absolute;
  top: 0;
  left: 0;
}
.p-present .present-item__title {
  font-weight: 700;
  font-size: 24px;
  width: 330px;
}
.p-present .present-item__text {
  font-weight: 400;
}
.p-present .present-more {
  margin-top: 64px;
  text-align: center;
}

@media only screen and (max-width: 767px) {
  .p-present {
    padding: 32.0512820513vw 0 26.6666666667vw;
    margin-top: -27.6923076923vw;
  }
  .p-present:before {
    background-image: url(../images/top/present-bg-sp.png);
  }
  .p-present__inner {
    padding-top: 25.641025641vw;
  }
  .p-present .present-title {
    margin-bottom: 10.2564102564vw;
  }
  .p-present .present-title__text {
    display: block;
  }
  .p-present .present-title .--en {
    font-size: 16.4102564103vw;
  }
  .p-present .present-title .--ja {
    margin: 1em 0 0;
    padding-left: 0.3em;
    padding-bottom: 0;
    font-size: 3.5897435897vw;
  }
  .p-present .present-item {
    padding: 3.0769230769vw 0 8.9743589744vw;
    gap: 3.0769230769vw 0;
  }
  .p-present .present-item__thumb {
    width: 100%;
  }
  .p-present .present-item__contents {
    width: 100%;
    padding: 0;
    gap: 3.0769230769vw 0;
  }
  .p-present .present-item__num {
    position: static;
    font-size: 4.1025641026vw;
  }
  .p-present .present-item__title {
    font-size: 4.6153846154vw;
    width: 100%;
  }
  .p-present .present-item__text {
    font-size: 3.5897435897vw;
  }
  .p-present .present-more {
    margin-top: 8.9743589744vw;
  }
}
/* ========== campaign ========== */
.p-campaign {
  margin-top: 0;
}
.p-campaign .campaign-container {
  position: relative;
  width: 100%;
  min-height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}
.p-campaign .campaign-container .overlay {
  background-color: #C4CBF0;
  background-image: url(../images/top/campaign-overlay.png);
  background-repeat: repeat;
  background-position: center;
  position: absolute;
  right: 0;
  width: 200%;
  height: 100vh;
  z-index: 2;
  transform-origin: center center;
}
.p-campaign .campaign-container .overlay-1 {
  top: 50vh;
  transform-origin: right top;
}
.p-campaign .campaign-container .overlay-2 {
  top: -50vh;
  transform-origin: right bottom;
  z-index: 3;
}
.p-campaign .campaign-title {
  margin-bottom: 60px;
}
.p-campaign .campaign-title__text {
  display: block;
}
.p-campaign .campaign-title .--en {
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-size: 96px;
  line-height: 1.1;
}
.p-campaign .campaign-title .--ja {
  font-size: 18px;
  line-height: 1.666;
  margin-top: 1em;
}
.p-campaign .campaign-list {
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 40px;
}
.p-campaign .campaign-item {
  width: 46%;
  background: #fff;
  border-radius: 16px;
  box-shadow: -15px 15px 20px 2px rgba(0, 0, 0, 0.1);
  padding: 38px 38px 60px;
}
.p-campaign .campaign-item.cs {
  pointer-events: none;
}
.p-campaign .campaign-item__label {
  font-family: "futura-pt", sans-serif;
  color: #6E7E87;
  margin-bottom: 20px;
}
.p-campaign .campaign-item__thumb img {
  border-radius: 7px;
}
.p-campaign .campaign-item__title {
  margin-top: 24px;
  font-size: 20px;
  font-weight: 700;
}
.p-campaign .campaign-item__text {
  margin-top: 1em;
}
.p-campaign .campaign-item:hover {
  opacity: 1;
}
.p-campaign .campaign-item:hover .campaign-item__title {
  text-decoration: underline;
}

@media only screen and (max-width: 767px) {
  .p-campaign .campaign-title {
    margin-bottom: 8.2051282051vw;
  }
  .p-campaign .campaign-title .--en {
    font-size: 16.4102564103vw;
  }
  .p-campaign .campaign-title .--ja {
    font-size: 3.3333333333vw;
  }
  .p-campaign .campaign-list {
    gap: 7.6923076923vw;
  }
  .p-campaign .campaign-item {
    width: 100%;
    border-radius: 2.5641025641vw;
    padding: 6.1538461538vw;
  }
  .p-campaign .campaign-item__label {
    font-size: 2.5641025641vw;
    margin-bottom: 3.8461538462vw;
  }
  .p-campaign .campaign-item__thumb img {
    border-radius: 1.2820512821vw;
  }
  .p-campaign .campaign-item__title {
    margin-top: 1em;
    font-size: 4.1025641026vw;
  }
  .p-campaign .campaign-item__text {
    font-size: 3.5897435897vw;
  }
  .p-campaign .campaign-item:hover {
    opacity: 1;
  }
  .p-campaign .campaign-item:hover .campaign-item__title {
    text-decoration: underline;
  }
}
/* ========== future ========== */
.p-future {
  margin-top: 0;
  padding: 120px 0 245px;
  text-align: center;
  overflow: hidden;
}
.p-future__inner {
  z-index: 1;
}
.p-future .future-title {
  padding-top: 130px;
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-size: 96px;
  line-height: 1.1;
  margin-bottom: 30px;
}
.p-future .future-catch {
  font-weight: 700;
  font-size: 48px;
  margin-bottom: 40px;
}
.p-future .future-message {
  font-size: 18px;
  line-height: 1.6;
}
.p-future .future-cs {
  font-family: "futura-pt", sans-serif;
  font-size: 44px;
  line-height: 1.1;
  margin-top: 36px;
}
.p-future .future-circle1 {
  width: 83px;
  top: 100px;
  right: 50%;
  margin-right: clamp(-424px, -43.3333333333vw, 212px);
}
.p-future .future-circle2 {
  width: 159px;
  top: 222px;
  right: 50%;
  margin-right: clamp(-618px, -56.8055555556vw, 309px);
}
.p-future .future-circle3 {
  width: 226px;
  top: calc(100% - 400px);
  left: 50%;
  margin-left: clamp(-624px, -57.2222222222vw, 312px);
}

@media only screen and (max-width: 767px) {
  .p-future {
    padding: 41.0256410256vw 0 82.0512820513vw;
  }
  .p-future .future-title {
    padding-top: 38.4615384615vw;
    font-size: 16.4102564103vw;
    margin-bottom: 6.1538461538vw;
  }
  .p-future .future-catch {
    font-size: 6.1538461538vw;
    margin-bottom: 6.1538461538vw;
  }
  .p-future .future-message {
    font-size: 3.3333333333vw;
    padding: 0 1em;
    line-height: 1.75;
  }
  .p-future .future-cs {
    font-size: 6.1538461538vw;
    margin-top: 6.1538461538vw;
  }
  .p-future .future-circle1 {
    width: 9.2307692308vw;
    top: 51.2820512821vw;
    right: 25.641025641vw;
    margin-right: 0;
  }
  .p-future .future-circle2 {
    width: 17.9487179487vw;
    top: 69.2307692308vw;
    right: 4.1025641026vw;
    margin-right: 0;
  }
  .p-future .future-circle3 {
    width: 25.641025641vw;
    top: 70%;
    left: -4.1025641026vw;
    margin-left: 0;
  }
}
/* ========== timeline ========== */
.p-timeline {
  padding: 195px 0 0;
  opacity: 0;
  transform: translateY(40px);
}
.p-timeline .timeline-title {
  margin-bottom: 80px;
}
.p-timeline .timeline-title__text {
  display: block;
}
.p-timeline .timeline-title .--en {
  line-height: 1.1;
  font-family: "futura-pt", sans-serif;
  font-weight: 700;
  font-size: 96px;
}
.p-timeline .timeline-title .--ja {
  font-size: 20px;
}
.p-timeline .timeline-wrapper {
  padding-bottom: 400px;
}
.p-timeline .timeline-head {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  line-height: 1.1;
  margin-bottom: 20px;
}
.p-timeline .timeline-head__year {
  font-size: 78px;
  font-weight: 600;
  font-family: "futura-pt", sans-serif;
  width: 200px;
  text-align: center;
}
.p-timeline .timeline-head__label {
  height: 64px;
  width: 34%;
  max-width: calc((100% - 300px) / 2);
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 20px;
  font-weight: 400;
  border-radius: 100px;
}
.p-timeline .timeline-head__label.--trend {
  background: #ADCFCE;
}
.p-timeline .timeline-head__label.--history {
  background: #fff;
}
.p-timeline .timeline-container {
  position: relative;
  display: -moz-flex;
  display: flex;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-bottom: 40px;
}
.p-timeline .timeline-container:before {
  content: "";
  width: 4px;
  height: 100%;
  background: #0A283C;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -2px;
}
.p-timeline .timeline-container:last-child {
  padding-bottom: 0;
}
.p-timeline .timeline-container:last-child:before {
  content: none;
}
.p-timeline .timeline-container.--center {
  align-items: center;
}
.p-timeline .timeline-container.--end {
  align-items: flex-end;
}
.p-timeline .timeline-block {
  position: relative;
  width: 50%;
}
.p-timeline .timeline-block.--trend {
  overflow: hidden;
}
.p-timeline .timeline-block.--year {
  width: 162px;
  position: absolute;
  top: 11px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
}
.p-timeline .timeline-block.--year.--now {
  width: auto;
}
.p-timeline .timeline-block.--history:before {
  content: "";
  width: 30%;
  height: 2px;
  border-top: 2px dashed #0A283C;
  position: absolute;
  left: 0;
  top: 45px;
  margin-right: -14px;
  z-index: 1;
}
.p-timeline .timeline-block.--history:after {
  content: "";
  width: 10px;
  height: 10px;
  background: #0A283C;
  border-radius: 50%;
  position: absolute;
  left: 30%;
  top: 41px;
  margin-right: -14px;
}
.p-timeline .timeline-block.--history.--now:before {
  width: calc(30% - 96px);
  left: 96px;
  top: 80px;
}
.p-timeline .timeline-block.--history.--now:after {
  top: 76px;
}
.p-timeline .timeline-block .year-num {
  font-size: 40px;
  font-weight: 600;
  font-family: "futura-pt", sans-serif;
  height: 64px;
  width: 100%;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #0A283C;
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}
.p-timeline .timeline-block.--now .year-num {
  font-size: 78px;
  background: none;
  color: #0A283C;
  height: auto;
}
.p-timeline .timeline-block .history-box {
  background: #fff;
  padding: 30px 40px;
  border-radius: 16px;
  box-shadow: 10px 10px 10px 0px rgba(0, 0, 0, 0.1);
  width: 72%;
  margin-left: auto;
  margin-bottom: 40px;
  position: relative;
}
.p-timeline .timeline-block .history-box:last-child {
  margin-bottom: 0;
}
.p-timeline .timeline-block .history-box > * {
  margin-bottom: 8px;
}
.p-timeline .timeline-block .history-box > *:last-child {
  margin-bottom: 0;
}
.p-timeline .timeline-block .history-box__title {
  font-weight: 700;
  font-size: 20px;
}
.p-timeline .timeline-block .history-box__text {
  font-weight: 400;
  line-height: 1.6;
}
.p-timeline .timeline-block .history-box__image .image01 {
  width: 95%;
}
.p-timeline .timeline-block .history-box .line-text {
  text-decoration: underline;
  color: #1495FF;
}
.p-timeline .timeline-block .trend-box {
  position: relative;
  margin-bottom: 0.5em;
}
.p-timeline .timeline-block .trend-box:last-child {
  margin-bottom: 0;
}
.p-timeline .timeline-block .trend-box__text {
  font-weight: 700;
  font-size: 20px;
  padding-right: 2em;
  line-height: 1.6;
  position: relative;
  display: inline-block;
  min-width: 186px;
}
.p-timeline .timeline-block .trend-box__text:before {
  content: "";
  width: 1000%;
  height: 2px;
  border-top: 2px dashed #0A283C;
  position: absolute;
  left: 100%;
  top: 15px;
  margin-left: -10px;
}
.p-timeline .timeline-block .trend-box__text:after {
  content: "";
  width: 10px;
  height: 10px;
  background: #0A283C;
  border-radius: 50%;
  position: absolute;
  left: 100%;
  top: 11px;
  margin-left: -10px;
}
.p-timeline .timeline-block .trend-box.--trends1 .trend-box__text:before {
  top: 45px;
}
.p-timeline .timeline-block .trend-box.--trends1 .trend-box__text:after {
  top: 41px;
}
.p-timeline .timeline-message {
  text-align: center;
  padding-bottom: 100px;
}
.p-timeline .timeline-message__lead {
  margin-bottom: 55px;
  font-weight: 700;
  font-size: 48px;
}

.lp-wrapper.is--active .p-timeline {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}

@media only screen and (max-width: 1024px) {
  .p-timeline .timeline-head {
    display: block;
  }
  .p-timeline .timeline-head__year {
    width: 100%;
    text-align: left;
  }
  .p-timeline .timeline-head__label {
    display: none;
  }
  .p-timeline .timeline-container {
    display: block;
    padding: 32px 0 0;
  }
  .p-timeline .timeline-container:before {
    left: 44px;
    margin-left: 0;
  }
  .p-timeline .timeline-block.--trend {
    display: none;
  }
  .p-timeline .timeline-block.--year {
    width: 202px;
    position: static;
    transform: translateX(-54px);
    margin-bottom: 32px;
  }
  .p-timeline .timeline-block.--year.--now {
    width: auto;
    padding-top: 30px;
  }
  .p-timeline .timeline-block.--history {
    width: 100%;
  }
  .p-timeline .timeline-block.--history:before, .p-timeline .timeline-block.--history:after {
    content: none;
  }
  .p-timeline .timeline-block.--now {
    transform: translateX(0);
  }
  .p-timeline .timeline-block.--now .year-num {
    text-align: left;
    display: block;
    width: auto;
    line-height: 1.2;
  }
  .p-timeline .timeline-block .history-box {
    width: 84%;
  }
}
@media only screen and (max-width: 767px) {
  .p-timeline {
    padding: 48.7179487179vw 0 0;
  }
  .p-timeline .timeline-title {
    margin-bottom: 7.6923076923vw;
  }
  .p-timeline .timeline-title .--en {
    font-size: 16.4102564103vw;
  }
  .p-timeline .timeline-title .--ja {
    font-size: 3.5897435897vw;
  }
  .p-timeline .timeline-wrapper {
    padding-bottom: 75.3846153846vw;
  }
  .p-timeline .timeline-head {
    margin-bottom: 2.5641025641vw;
    display: block;
  }
  .p-timeline .timeline-head__year {
    font-size: 16.4102564103vw;
    width: 100%;
    text-align: left;
  }
  .p-timeline .timeline-head__label {
    display: none;
  }
  .p-timeline .timeline-container {
    display: block;
    padding: 4.1025641026vw 0 0;
  }
  .p-timeline .timeline-container:before {
    left: 5.641025641vw;
    margin-left: 0;
  }
  .p-timeline .timeline-block.--trend {
    display: none;
  }
  .p-timeline .timeline-block.--year {
    width: 25.8974358974vw;
    position: static;
    transform: translateX(-6.6666666667vw);
    margin-bottom: 4.1025641026vw;
  }
  .p-timeline .timeline-block.--year.--now {
    width: auto;
    padding-top: 3.8461538462vw;
  }
  .p-timeline .timeline-block.--history {
    width: 76.9230769231vw;
    margin-left: auto;
  }
  .p-timeline .timeline-block.--history:before, .p-timeline .timeline-block.--history:after {
    content: none;
  }
  .p-timeline .timeline-block .year-num {
    font-size: 6.1538461538vw;
    height: 10.2564102564vw;
    border-radius: 18.4615384615vw;
  }
  .p-timeline .timeline-block.--now {
    transform: translateX(0);
  }
  .p-timeline .timeline-block.--now .year-num {
    text-align: left;
    display: block;
    width: auto;
    font-size: 16.4102564103vw;
    line-height: 1.2;
  }
  .p-timeline .timeline-block .history-box {
    padding: 5.641025641vw 7.1794871795vw;
    border-radius: 3.0769230769vw;
    width: 100%;
    margin-left: auto;
    margin-bottom: 4.1025641026vw;
  }
  .p-timeline .timeline-block .history-box > * {
    margin-bottom: 1.5384615385vw;
  }
  .p-timeline .timeline-block .history-box__title {
    font-size: 3.5897435897vw;
  }
  .p-timeline .timeline-block .history-box__text {
    font-size: 3.0769230769vw;
  }
  .p-timeline .timeline-message {
    padding-bottom: 25.641025641vw;
  }
  .p-timeline .timeline-message__lead {
    margin-bottom: 5.1282051282vw;
    font-size: 6.1538461538vw;
  }
}