@charset "UTF-8";
/**
 * Reset CSS
 */
/* Box sizing */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Document */
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

/* Sections */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

/* Grouping content */
p {
  margin: 0;
}

/* Lists */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Links */
a {
  color: inherit;
  text-decoration: none;
}

/* Images */
img,
picture,
video,
canvas,
svg {
  display: block;
  width: 100%;
  max-width: 100%;
}

figure {
  margin-block-start: unset;
  margin-block-end: unset;
  margin-inline-start: unset;
  margin-inline-end: unset;
  unicode-bidi: unset;
}

img {
  height: auto;
}

/* Forms */
button,
input,
optgroup,
select,
textarea {
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  color: inherit;
  font: inherit;
}

button,
select {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

/* Tables */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* Address */
address {
  font-style: normal;
}

/* Quotes */
blockquote,
q {
  margin: 0;
  quotes: none;
}

blockquote::before,
blockquote::after,
q::before,
q::after {
  content: "";
}

/* --------------------------------------------------
   ヘッダー (.l-header)
-------------------------------------------------- */
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
  transition: background-color 0.3s;
}
.l-header.-lower {
  background-color: #fff;
}
.l-header.-lower .l-header__sp-actions {
  background-color: #fff;
}
.l-header.-lower .l-header__lang.is-sp a.is-active {
  color: #b7b7b7;
}
.l-header.-lower .l-header__nav-list a,
.l-header.-lower .l-header__faq,
.l-header.-lower .l-header__lang,
.l-header.-lower .l-header__lang a {
  color: #010102;
}
.l-header.-lower .l-header__sns {
  filter: invert(1);
}
.l-header.-lower .l-header__btn {
  background-color: #033984;
  color: #fff;
  border: 1px solid #033984;
}
.l-header.-lower .l-header__btn:hover {
  background-color: #fff;
  color: #033984;
}
.l-header.-top .l-header__hamburger-line {
  background-color: #fff;
}
.l-header.-top {
  color: #fff;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4) 0%, rgba(0, 0, 0, 0) 100%);
}
.l-header.is-black {
  background: none;
  color: #010102;
}
.l-header.is-black .l-header__faq {
  color: #010102;
}
.l-header.is-black .l-header__lang a {
  color: rgba(1, 1, 2, 0.5);
}
.l-header.is-black .l-header__lang a.is-active, .l-header.is-black .l-header__lang a:hover {
  color: #010102;
}
.l-header.is-black .l-header__lang.is-sp a {
  color: rgba(1, 1, 2, 0.5);
}
.l-header.is-black .l-header__lang.is-sp a.is-active {
  color: #010102;
}
.l-header.is-black .l-header__sns {
  filter: invert(1);
}
.l-header.is-black .l-header__hamburger-line {
  background-color: #010102;
}
.l-header.is-black .l-header__nav-list a {
  color: #010102;
}
.l-header.is-black .l-header__btn {
  background-color: #033984;
  color: #fff;
  border: 1px solid #033984;
}
.l-header.is-black .l-header__btn:hover {
  background-color: #fff;
  color: #033984;
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  height: 85px;
  padding-right: 28px;
}
.l-header__brand {
  display: flex;
  align-items: center;
  background-color: #fff;
  padding: 0 30px 0 13px;
  height: 100%;
}
.l-header__brand img {
  width: 245px;
  height: auto;
  display: block;
}
.l-header__sp-actions {
  display: none;
}
.l-header__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  flex-grow: 1;
}
.l-header__meta {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 15px;
  font-size: 12px;
  margin-right: 2px;
}
.l-header__faq {
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s;
}
.l-header__faq:hover {
  opacity: 0.7;
}
.l-header__lang {
  display: flex;
  gap: 8px;
  color: rgba(255, 255, 255, 0.5);
  letter-spacing: 0.05em;
}
.l-header__lang a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.3s;
}
.l-header__lang a.is-active, .l-header__lang a:hover {
  color: #fff;
}
.l-header__lang.is-sp {
  display: flex;
  gap: 8px;
  margin-left: 16px;
  margin-right: auto;
  font-size: 14px;
  color: rgba(255, 255, 255, 0.5);
}
.l-header__lang.is-sp a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}
.l-header__lang.is-sp a.is-active {
  color: #fff;
}
.l-header__sns {
  transition: opacity 0.3s;
  width: 20px;
  height: 20px;
  background: url("/assets/img/common/icon_x.svg");
}
.l-header__sns:hover {
  opacity: 0.7;
}
.l-header__hamburger {
  display: block;
  width: 50px;
  height: 100%;
  border: none;
  position: relative;
  cursor: pointer;
}
.l-header__hamburger-line {
  position: absolute;
  left: 13px;
  width: 25px;
  height: 2px;
  background-color: #000;
  transition: all 0.3s ease;
  clip-path: polygon(0 0, 100% 0, calc(100% - 2px) 100%, 0 100%);
}
.l-header__hamburger-line:nth-child(1) {
  top: 18px;
}
.l-header__hamburger-line:nth-child(2) {
  top: 25px;
}
.l-header__hamburger-line:nth-child(3) {
  top: 32px;
}
.l-header__hamburger.is-active .l-header__hamburger-line {
  width: 29px;
  left: 10.5px;
}
.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(1) {
  top: 25px;
  transform: rotate(35deg);
  clip-path: polygon(3px 0, 100% 0, calc(100% - 3px) 100%, 0 100%);
}
.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(2) {
  opacity: 0;
}
.l-header__hamburger.is-active .l-header__hamburger-line:nth-child(3) {
  top: 25px;
  transform: rotate(-35deg);
  clip-path: polygon(0 0, calc(100% - 3px) 0, 100% 100%, 3px 100%);
}
.l-header .l-header__nav {
  display: flex;
  align-items: center;
  gap: 15px;
}
.l-header .l-header__nav-list {
  display: flex;
  gap: 28px;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 15px;
  letter-spacing: 0.05em;
}
.l-header .l-header__nav-list a {
  color: #fff;
  text-decoration: none;
  position: relative;
  transition: opacity 0.3s;
  white-space: nowrap;
}
.l-header .l-header__nav-list a:hover {
  opacity: 0.7;
}
.l-header__btn {
  background-color: #fff;
  color: #033984;
  text-decoration: none;
  font-size: 14px;
  padding: 4px 12px;
  border-radius: 999px;
  white-space: nowrap;
  transition: background-color 0.3s, color 0.3s;
}
.l-header__btn:hover {
  background-color: rgba(255, 255, 255, 0.8);
}

.l-sp-nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 100;
  background-image: url("/future/lupex/assets/img/sp_nav_bg.webp");
  background-size: cover;
  background-position: center;
  background-blend-mode: overlay;
  background-color: rgba(1, 1, 2, 0.9);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.l-sp-nav.is-active {
  opacity: 1;
  visibility: visible;
}
.l-sp-nav__inner {
  padding: 82px 32px 40px;
  height: 100%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.l-sp-nav__list {
  list-style: none;
  padding: 0;
}
.l-sp-nav__list li:not(:last-child) {
  margin-bottom: 36px;
}
.l-sp-nav__list li a {
  display: block;
  text-decoration: none;
}
.l-sp-nav__list .-en {
  display: block;
  color: #a38c64;
  font-size: 14px;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
  line-height: 1.2;
  font-family: "eurostile-extended", serif;
}
.l-sp-nav__list .-jp {
  display: block;
  color: #fff;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0.05em;
}
.l-sp-nav__sub {
  margin-top: 40px;
  margin-bottom: 39px;
}
.l-sp-nav__faq {
  display: block;
  color: #fff;
  font-size: 12px;
  text-decoration: none;
  margin-bottom: 20px;
}
.l-sp-nav__sns {
  display: block;
  width: 24px;
  height: 24px;
  background: url("/assets/img/common/icon_x.svg");
  background-size: cover;
  background-position: center;
}
.l-sp-nav__btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  color: #0065b0;
  padding: 20px;
  text-decoration: none;
  font-size: 16px;
  margin-top: auto;
}
.l-sp-nav__btn-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1px solid #0065b0;
  border-radius: 50%;
}
.l-sp-nav__btn-arrow svg {
  width: 16px;
  height: 16px;
}

body.is-locked {
  overflow: hidden;
}

.p-lupex__footer {
  position: relative;
  color: #fff;
  padding: 114px 5% 248px;
  overflow: hidden;
}
.p-lupex__footer:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  background: linear-gradient(to bottom, #002a4a 6%, #0065b0 88%, #0065b0 100%);
}
.p-lupex__footer-bgtext {
  position: absolute;
  width: 1360px;
  height: 200px;
  aspect-ratio: 1360/200;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  opacity: 0.45;
  mix-blend-mode: overlay;
  background: url("/future/lupex/assets/img/footer_bottom.svg") no-repeat center bottom;
}
.p-lupex__footer-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.p-lupex__footer-brand {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.p-lupex__footer-logo {
  display: block;
  width: 144px;
}
.p-lupex__footer-logo img {
  width: 100%;
  height: auto;
}
.p-lupex__footer-lang {
  font-size: 0.875rem;
  letter-spacing: 5%;
  display: flex;
  gap: 3px;
  color: rgba(255, 255, 255, 0.5);
}
.p-lupex__footer-lang a {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
  transition: color 0.3s;
}
.p-lupex__footer-lang a:hover, .p-lupex__footer-lang a.is-active {
  color: #fff;
}
.p-lupex__footer-mission {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.p-lupex__footer-mission li {
  font-family: "eurostile-extended", serif;
}
.p-lupex__footer-mission a {
  display: inline-block;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.5;
  transition: opacity 0.3s ease;
}
.p-lupex__footer-mission a:hover {
  opacity: 0.7;
}
.p-lupex__footer .p-lupex__footer-nav {
  display: flex;
  gap: 40px;
}
.p-lupex__footer .p-lupex__footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.p-lupex__footer .p-lupex__footer-links a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.55;
  transition: opacity 0.3s;
}
.p-lupex__footer .p-lupex__footer-links a:hover {
  opacity: 0.7;
}
.p-lupex__footer-sublinks {
  display: flex;
  flex-direction: column;
  gap: 28px;
  align-items: flex-start;
}
.p-lupex__footer .p-lupex__footer-btn {
  display: inline-block;
  background-color: #fff;
  color: #003666;
  font-size: 16px;
  line-height: 1.25;
  padding: 8px 20px;
  border-radius: 999px;
  transition: background-color 0.3s, color 0.3s;
}
.p-lupex__footer .p-lupex__footer-btn:hover {
  background-color: rgba(255, 255, 255, 0.8);
}
.p-lupex__footer .p-lupex__footer-faq {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  transition: opacity 0.3s;
}
.p-lupex__footer .p-lupex__footer-faq:hover {
  opacity: 0.7;
}
.p-lupex__footer .p-lupex__footer-bottom {
  position: relative;
  display: flex;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 0.8px solid #ffffff;
  margin-top: 123px;
}
.p-lupex__footer .p-lupex__footer-bottom > div {
  display: flex;
  gap: 40px;
}
.p-lupex__footer .p-lupex__footer-bottom > *:first-child {
  padding-left: 82px;
}
.p-lupex__footer .p-lupex__footer-bottom > *:last-child {
  padding-right: 82px;
}
.p-lupex__footer .p-lupex__footer-copy {
  font-size: 10px;
}
.p-lupex__footer .p-lupex__footer-external {
  position: relative;
  display: inline-flex;
  align-items: center;
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
  font-size: 12px;
  transition: color 0.3s;
}
.p-lupex__footer .p-lupex__footer-external:hover {
  color: #fff;
}
.p-lupex__footer .p-lupex__footer-external::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 8px;
  background-image: url("/assets/img/common/icon_external.svg");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.l-inner {
  max-width: 1232px;
  margin: 0 auto;
  padding: 0 16px;
}
.l-main--lower {
  padding-top: 92px;
}
.l-main--lower h1 {
  font-size: 24px;
  color: #010102;
}
.l-main--lower h1 {
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}

.js-animation {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.js-animation.animated {
  opacity: 1;
  transform: translateY(0);
}

.c-sec-title {
  font-family: "eurostile-extended", serif;
  font-size: 2rem;
  margin-bottom: 2rem;
}

.p-lupex__btn {
  display: inline-flex;
  align-items: center;
  background-color: #000;
  border: 0.5px solid #fff;
  border-radius: 999px;
  padding: 11px 11px 11px 24px;
  color: #fff;
  text-decoration: none;
  transition: background-color 0.4s ease, color 0.4s ease;
}
.p-lupex__btn-text {
  font-size: 16px;
  letter-spacing: 0.1em;
  margin-right: 48px;
}
.p-lupex__btn-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  background-color: #fff;
  color: #000;
  border-radius: 50%;
  transition: background-color 0.4s ease, color 0.4s ease;
}
.p-lupex__btn-icon svg {
  width: 20px;
  height: 20px;
}

/* --------------------------------------------------
   ページネーション (.p-lupex__pagination)
-------------------------------------------------- */
.p-lupex__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.p-lupex__pagination-item,
.p-lupex__pagination-arrow {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  background-color: #fff;
  border: 1px solid #010102;
  color: #333;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  transition: all 0.3s ease;
}
.p-lupex__pagination-item:hover:not(.is-active):not(.is-disabled),
.p-lupex__pagination-arrow:hover:not(.is-active):not(.is-disabled) {
  background-color: #0065b0;
  border-color: #0065b0;
  color: #fff;
}

.p-lupex__pagination-item.is-active {
  background-color: #005bb2;
  color: #fff;
  border-color: #005bb2;
  pointer-events: none;
}

.p-lupex__pagination-arrow.is-disabled {
  opacity: 0.3;
  pointer-events: none;
  background-color: #fbfbfb;
}

.p-lupex__pagination-dots {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 50px;
  height: 50px;
  color: #999;
  font-size: 14px;
  letter-spacing: 0.1em;
  border: 1px solid #010102;
}

.p-lupex__pagination-arrow {
  position: relative;
}
.p-lupex__pagination-arrow::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
}
.p-lupex__pagination-arrow.-prev::before {
  transform: rotate(-135deg);
  margin-left: 4px;
}
.p-lupex__pagination-arrow.-next::before {
  transform: rotate(45deg);
  margin-right: 4px;
}
.p-lupex__category {
  border-radius: 30px;
  text-align: center;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0;
  color: #fff;
  background-color: #b8a282;
}
.p-lupex__category.-info {
  background-color: #0065b0;
}
.p-lupex__category.-press {
  background-color: #009ad7;
}
.p-lupex__category.-event {
  background-color: #b8a282;
}

body {
  font-family: "Noto Sans JP", sans-serif;
}

.p-lupex__main {
  position: relative;
  overflow: hidden;
  z-index: 2; /* KVより前面に指定 */
  background-color: #000; /* 必須: 背景色で動画を覆い隠す */
}

.p-lupex__kv {
  position: relative;
  width: 100%;
  height: 100vh;
}
.p-lupex__kv .p-lupex__kv-title {
  width: 38.333%;
  position: absolute;
  z-index: 1;
  bottom: 42px;
  left: 42px;
}
.p-lupex__kv-video-wrap {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1; /* 最背面に配置 */
  pointer-events: none; /* マウスイベント透過 */
  overflow: hidden;
}
.p-lupex__kv-video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover; /* 画面比率に合わせてトリミング */
}
.p-lupex__kv-overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.2); /* 文字の視認性を上げるダークマスク */
}
.p-lupex__kv .p-lupex__kv-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.p-lupex__news {
  padding: 120px 8.33% 0;
  background-color: #fff;
  color: #000;
}
.p-lupex__news-inner {
  display: flex;
  justify-content: space-between;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto;
}
.p-lupex__news .p-lupex__news-header {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  width: 310px;
}
.p-lupex__news .p-lupex__news-en {
  display: block;
  margin-bottom: 25px;
}
.p-lupex__news .p-lupex__news-title {
  font-size: 42px;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 500;
}
.p-lupex__news .p-lupex__news-more {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  margin-top: 93px;
  color: #010102;
  letter-spacing: 0.05em;
  font-size: 16px;
  text-decoration: none;
  transition: all 0.3s ease;
}
.p-lupex__news .p-lupex__news-more:hover {
  background-color: #fff;
  color: #000;
  border-color: #fff;
}
.p-lupex__news .p-lupex__news-more:hover .p-lupex__news-more-arrow {
  border-color: #000;
}
.p-lupex__news .p-lupex__news-more .p-lupex__news-more-arrow {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #010102;
  border-radius: 50%;
  transition: background-color 0.3s ease, border-color 0.3s ease;
}
.p-lupex__news .p-lupex__news-more .p-lupex__news-more-arrow::after {
  content: "";
  width: 6px;
  height: 6px;
  border-top: 1px solid #010102;
  border-right: 1px solid #010102;
  transform: rotate(45deg);
  margin-left: -2px;
  transition: border-color 0.3s ease;
}
.p-lupex__news-list {
  flex-grow: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-lupex__news-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.p-lupex__news-item:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}
.p-lupex__news .p-lupex__news-link {
  display: flex;
  gap: 24px;
  padding: 24px 0;
  color: #fff;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.p-lupex__news .p-lupex__news-link[target=_blank] .p-lupex__news-item-title::after {
  content: "";
  display: inline-block;
  width: 13.185px;
  height: 13.184px;
  margin-left: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.185%22%20height%3D%2213.184%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23090a0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M5.173%208.012l6.951-6.951M8.333%201.061h3.791v3.792M10.228%207.378v3.79a1.264%201.264%200%2001-1.264%201.265h-6.95A1.264%201.264%200%2001.75%2011.17V4.219a1.265%201.265%200%20011.264-1.265h3.791%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/contain;
}
.p-lupex__news .p-lupex__news-link:first-child {
  padding: 0 0 24px;
}
.p-lupex__news .p-lupex__news-link:not(:last-child) {
  border-bottom: 1px solid rgba(1, 1, 2, 0.2);
}
.p-lupex__news .p-lupex__news-link:hover {
  opacity: 0.8;
}
.p-lupex__news .p-lupex__news-link:hover .p-lupex__news-thumb img {
  transform: scale(1.05);
}
.p-lupex__news-thumb {
  flex-shrink: 0;
  width: 230px;
  aspect-ratio: 16/9;
  border-radius: 4px;
  background-color: #1a1a1a;
  overflow: hidden;
  position: relative;
}
.p-lupex__news-thumb.-new:before {
  content: "";
  z-index: 2;
  position: absolute;
  top: 4px;
  left: 5px;
  width: 79px;
  height: 24px;
  background-image: url("/future/lupex/assets/img/news_new.webp");
  background-size: cover;
  background-position: center;
}
.p-lupex__news-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.p-lupex__news-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
  justify-content: space-between;
  padding: 12px 0;
}
.p-lupex__news-meta {
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 7px;
}
.p-lupex__news-category {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 30px;
  color: #3399ff;
  font-size: 12px;
  line-height: 1.55;
  letter-spacing: 0;
}
.p-lupex__news-date {
  font-size: 12px;
  color: #8f8f8f;
}
.p-lupex__news-item-title {
  font-size: 19px;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: #010102;
}

/* --------------------------------------------------
   ABOUT LUPEX アニメーションエリア (.p-lupex__about-trigger)
-------------------------------------------------- */

.p-lupex__about-trigger {
  position: relative;
  background-color: #fff;
}

.p-lupex__about-pin {
  position: relative;
  width: 100%;
  height: 100vh;
  min-height: 800px;
  overflow: hidden;
  background-color: #fff;
}

.p-lupex__about-intro {
  position: absolute;
  top: calc(668px - min(368px, 25.556vw) - 2vw);
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  text-align: center;
  z-index: 3;
  pointer-events: none;
  mix-blend-mode: difference;
}

.p-lupex__about-catch {
  width: 51%;
  height: auto;
  aspect-ratio: 735/143;
  margin: 0 auto;
}
.p-lupex__about-catch img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.p-lupex__about-mask {
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 2;
  clip-path: circle(min(184px, 12.778vw) at 50% calc(100vh - 32px - min(184px, 12.778vw)));
}
.p-lupex__about-mask video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lupex__about-overlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.65);
}

.p-lupex__about-trigger {
  position: relative;
  z-index: 2;
}

.p-lupex__about-fade.js-about-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 50vh;
  z-index: 2;
  background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 0%, rgba(1, 1, 2, 0.9) 100%);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
}

.p-lupex__about-content {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  width: 100%;
  max-width: 525px;
  text-align: center;
  color: #fff;
}

.p-lupex__about-header {
  margin-bottom: 54px;
}

.p-lupex__about-en {
  display: inline-block;
  width: 165px;
  margin-bottom: 24px;
}

.p-lupex__about-title {
  font-size: 42px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0;
}

.p-lupex__about-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #e0e0e0;
  margin-bottom: 80px;
  text-align: justify;
}

/* --------------------------------------------------
   ギャラリーエリア (.p-lupex__gallery)
-------------------------------------------------- */
.p-lupex__gallery {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 4;
  pointer-events: none;
  padding-bottom: 70px;
}
.p-lupex__gallery-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(1, 1, 2, 0.45) 0%, rgba(1, 1, 2, 0.9) 100%);
  pointer-events: none;
  z-index: 0;
}
.p-lupex__gallery-inner {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
  height: 600px;
  z-index: 1;
}
.p-lupex__gallery-item {
  position: absolute;
  transform: translateY(40px);
  pointer-events: auto;
  aspect-ratio: 3/2;
  visibility: hidden;
  opacity: 0;
}
.p-lupex__gallery-item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}
.p-lupex__gallery-item--1 {
  top: min(100px, 8.33vw);
  left: 0;
  width: 22.5%;
}
.p-lupex__gallery-item--2 {
  top: min(120px, 10vw);
  right: 0;
  width: 18.75%;
}
.p-lupex__gallery-item--3 {
  top: min(376px, 30vw);
  right: 15%;
  width: 10%;
}
.p-lupex__gallery-item--4 {
  top: min(530px, 44.16vw);
  left: 11%;
  width: 12.75%;
}

/* --------------------------------------------------
   1分で知るLUPEX (.p-lupex__minute)
-------------------------------------------------- */
.p-lupex__minute {
  padding: 180px 5%;
  background-color: #000;
  color: #fff;
}
.p-lupex__minute-inner {
  max-width: 1200px;
  margin: 0 auto;
}
.p-lupex__minute-header {
  text-align: left;
  margin-bottom: 54px;
}
.p-lupex__minute-en {
  display: block;
  width: 144px;
  margin-bottom: 24px;
}
.p-lupex__minute-title {
  font-size: 42px;
  line-height: 1.1;
  letter-spacing: 0;
}
.p-lupex__minute-list {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-lupex__minute .p-lupex__minute-item {
  position: relative;
  padding: 18px;
  grid-column: span 2;
  width: 100%;
  height: auto;
  aspect-ratio: 398/255;
  box-sizing: border-box;
  cursor: pointer;
}
.p-lupex__minute .p-lupex__minute-item.is-wide {
  grid-column: 1/-1;
  aspect-ratio: auto;
  min-height: 255px;
  margin-bottom: 48px;
}
.p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-columns {
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-col {
  position: relative;
  flex: 1;
  min-height: 200px;
}
.p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-col:first-child::after {
  content: "";
  position: absolute;
  right: 0;
  top: 15%;
  height: 70%;
  width: 1px;
  background-color: rgba(255, 255, 255, 0.15);
}
.p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-default {
  width: 22.864321608%;
  aspect-ratio: 91/46;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-hover {
  width: 51.5075376884%;
  aspect-ratio: 205/107;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-hover {
  width: 40.2010050251%;
  aspect-ratio: 160/162;
  top: 7.0588235294%;
  right: 4.5226130653%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-hover {
  left: 0;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-datatext img.is-default {
  width: 34.4221105528%;
  aspect-ratio: 137/45;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-datatext img.is-hover {
  width: 50.7537688442%;
  aspect-ratio: 202/95;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-hover {
  width: 40.2010050251%;
  aspect-ratio: 160/160;
  top: 15.2941176471%;
  right: 6.783919598%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-datatext img.is-default {
  top: 55%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-datatext img.is-default {
  width: 33.4170854271%;
  aspect-ratio: 133/74;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-datatext img.is-hover {
  width: 65.3266331658%;
  aspect-ratio: 260/117;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-hover {
  width: 48.743718593%;
  aspect-ratio: 194/116;
  top: 28.2352941176%;
  right: 5.527638191%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-datatext img.is-default {
  width: 25.1256281407%;
  aspect-ratio: 100/75;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-datatext img.is-hover {
  width: 52.7638190955%;
  aspect-ratio: 210/135;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-hover {
  width: 40.2010050251%;
  aspect-ratio: 160/160;
  top: 17.6470588235%;
  right: 4.0201005025%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-datatext img.is-default {
  width: 29.1457286432%;
  aspect-ratio: 116/70;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-datatext img.is-hover {
  width: 57.0351758794%;
  aspect-ratio: 227/128;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-hover {
  width: 38.6934673367%;
  aspect-ratio: 154/134;
  top: 24.3137254902%;
  right: 6.783919598%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-datatext img.is-default {
  width: 40.7035175879%;
  aspect-ratio: 162/73;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-datatext img.is-hover {
  width: 55.7788944724%;
  aspect-ratio: 222/124;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-hover {
  width: 40.2010050251%;
  aspect-ratio: 160/160;
  top: 24.7058823529%;
  right: 2.2613065327%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-datatext img.is-default {
  width: 57.0351758794%;
  aspect-ratio: 227/69;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-datatext img.is-hover {
  width: 91.2060301508%;
  aspect-ratio: 363/101;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-hover {
  width: 35.175879397%;
  aspect-ratio: 140/140;
  top: 21.568627451%;
  right: 4.0201005025%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-datatext img.is-default {
  width: 32.9145728643%;
  aspect-ratio: 131/74;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-datatext img.is-hover {
  width: 53.5175879397%;
  aspect-ratio: 213/121;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-hover {
  width: 40.2010050251%;
  aspect-ratio: 160/160;
  top: 24.3137254902%;
  right: 5.7788944724%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-datatext img.is-default {
  top: 57%;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-datatext img.is-default {
  width: 76.3819095477%;
  aspect-ratio: 304/72;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-datatext img.is-hover {
  width: 82.6633165829%;
  aspect-ratio: 329/100;
}
.p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-hover {
  width: 38.6934673367%;
  aspect-ratio: 154/134;
  top: 6.2745098039%;
  right: 4.5226130653%;
}
.p-lupex__minute .p-lupex__minute-item:hover .p-lupex__minute-datatext .is-default {
  opacity: 0;
}
.p-lupex__minute .p-lupex__minute-item:hover .p-lupex__minute-datatext .is-hover {
  opacity: 1;
}
.p-lupex__minute .p-lupex__minute-item:hover .p-lupex__minute-hover {
  opacity: 1;
}
.p-lupex__minute .p-lupex__minute-item .p-lupex__minute-corner {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(#343434, #343434) no-repeat top left/47px 1px, linear-gradient(#343434, #343434) no-repeat top left/1px 47px, linear-gradient(#343434, #343434) no-repeat top right/47px 1px, linear-gradient(#343434, #343434) no-repeat top right/1px 47px, linear-gradient(#343434, #343434) no-repeat bottom left/47px 1px, linear-gradient(#343434, #343434) no-repeat bottom left/1px 47px, linear-gradient(#343434, #343434) no-repeat bottom right/47px 1px, linear-gradient(#343434, #343434) no-repeat bottom right/1px 47px;
}
.p-lupex__minute .p-lupex__minute-label {
  width: 100%;
}
.p-lupex__minute .p-lupex__minute-label .-num {
  font-family: "eurostile-extended", serif;
  font-size: 18px;
  color: #fff;
  letter-spacing: -3%;
  line-height: 1.55;
  border-bottom: 1px solid #b8a282;
  padding-bottom: 4px;
}
.p-lupex__minute .p-lupex__minute-label .-text {
  font-size: 16px;
  font-weight: 400;
  margin-left: -1px;
  border-bottom: 1px solid #929292;
  padding-bottom: 4px;
  flex-grow: 1;
  padding-left: 8px;
}
.p-lupex__minute-data {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}
.p-lupex__minute-datatext {
  position: relative;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.p-lupex__minute-datatext img {
  position: absolute;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
.p-lupex__minute-datatext img.is-default {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  opacity: 1;
  transition: opacity 0.4s ease;
}
.p-lupex__minute-datatext img.is-hover {
  bottom: 14px;
  left: 14px;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.p-lupex__minute-datatext img.is-hover.-a {
  bottom: 51px;
  left: 21px;
}
.p-lupex__minute-datatext img.is-hover.-b {
  bottom: 51px;
  left: 63px;
}
.p-lupex__minute-hover {
  position: absolute;
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
.p-lupex__minute-hover img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-lupex__mission {
  position: relative;
  background-color: #010102;
  color: #fff;
  overflow: hidden;
  margin-top: 50px;
}
.p-lupex__mission .p-lupex__mission-bg {
  position: relative;
  width: 100%;
  height: 516px;
  aspect-ratio: 1520/516;
  min-height: 33.9473684211vw;
}
.p-lupex__mission .p-lupex__mission-bg:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(1, 1, 2, 0.7);
  z-index: 1;
}
.p-lupex__mission .p-lupex__mission-bg-loop {
  display: flex;
  height: 100%;
  width: -moz-max-content;
  width: max-content; /* 画像2枚分の幅を確保 */
  animation: bg-scroll-right 60s linear infinite;
}
.p-lupex__mission .p-lupex__mission-bg-loop img {
  height: 100%;
  min-width: max(100vw, 1520px);
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lupex__mission .p-lupex__mission-inner {
  position: relative;
  max-width: 1194px;
  margin: 0 auto;
}
.p-lupex__mission .p-lupex__mission-info {
  position: relative;
  margin-top: 65px;
  background-color: #101010;
  padding: 36px 40px;
}
.p-lupex__mission .p-lupex__mission-header-info {
  width: 30.01%;
}
.p-lupex__mission .p-lupex__mission-info-logo {
  position: absolute;
  top: 7%;
  right: 7%;
  width: 355px;
  height: 353px;
  border-radius: 50%;
  z-index: 2;
  transform: translate(50%, -50%);
}
.p-lupex__mission .p-lupex__mission-title {
  width: 100%;
  height: auto;
  aspect-ratio: 416/92;
}
.p-lupex__mission .p-lupex__mission-header {
  width: 100%;
  height: 100%;
  padding: 184px 10.84%;
  gap: 16.25%;
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-lupex__mission .p-lupex__mission-header p {
  font-size: 16px;
  line-height: 1.8;
  color: #ffffff;
  flex: 1;
}
.p-lupex__mission .p-lupex__mission-info-title {
  font-size: 32px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.p-lupex__mission .p-lupex__mission-info-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 53px 40px;
  list-style: none;
  margin: 73px 0 0 0;
  padding: 0;
}
.p-lupex__mission .p-lupex__mission-info-item {
  border-bottom: 1px solid rgba(128, 128, 128, 0.48);
  padding-bottom: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.p-lupex__mission .p-lupex__mission-info-label {
  font-size: 18px;
  color: #c3c3c3;
  line-height: 1.55;
  letter-spacing: 0.05em;
}
.p-lupex__mission .p-lupex__mission-info-data {
  font-size: 20px;
  font-weight: 500;
  margin: 8px 0 0 0;
  line-height: 1.55;
  letter-spacing: 2%;
}
.p-lupex__mission .p-lupex__mission-info-en {
  display: block;
  width: 229px;
  margin-bottom: 3px;
}
.p-lupex__mission .p-lupex__mission-info-en img {
  display: block;
  width: 100%;
  height: auto;
}

/* --------------------------------------------------
   左から右へ流れる無限ループ Keyframes
-------------------------------------------------- */
@keyframes bg-scroll-right {
  0% {
    /* 最初は「画像1枚分（要素全体の50%）」だけ左に隠しておく */
    transform: translateX(-50%);
  }
  100% {
    /* 1枚分が右に移動しきった瞬間（0%の状態と同じ見た目になる） */
    transform: translateX(0);
  }
}
/* --------------------------------------------------
  ミッションタイムライン (.p-lupex__timeline)
-------------------------------------------------- */
.p-lupex__timeline {
  position: relative;
  padding: 0 5% 109px;
  margin-top: 140px;
  background: radial-gradient(150% 100% at top, #010102 65%, #0065b0 100%);
  color: #fff;
  overflow: hidden;
}
.p-lupex__timeline h2 {
  font-size: 36px;
  line-height: 1.5;
  text-align: center;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  z-index: 2;
}
.p-lupex__timeline-bgtext {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  pointer-events: none;
  z-index: 0;
  width: 100%;
  height: auto;
  background-image: url("/future/lupex/assets/img/mission_timeline_head.webp");
  background-repeat: no-repeat;
  background-size: cover;
  aspect-ratio: 1439/116;
}
.p-lupex__timeline .p-lupex__timeline-inner {
  position: relative;
  max-width: 1140px;
  padding-bottom: 106px;
  z-index: 1;
  margin: 260px auto 0;
}
.p-lupex__timeline-line {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -0.5px;
  width: 1px;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.4);
}
.p-lupex__timeline-rover {
  position: absolute;
  top: -60px;
  left: 50%;
  margin-left: -40px;
  width: 80px;
  z-index: 2;
}
.p-lupex__timeline-rover img {
  width: 100%;
  height: auto;
}
.p-lupex__timeline-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-lupex__timeline .p-lupex__timeline-item {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  margin-bottom: 160px;
}
.p-lupex__timeline .p-lupex__timeline-item:last-child {
  margin-bottom: 0;
}
.p-lupex__timeline .p-lupex__timeline-item:nth-child(even) {
  flex-direction: row-reverse;
}
.p-lupex__timeline-dot {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 9px;
  height: 9px;
  background-color: #b8a282;
  border-radius: 50%;
}
.p-lupex__timeline-text {
  width: calc(50% - 60px);
}
.p-lupex__timeline .p-lupex__timeline-year {
  font-size: 2rem;
  font-weight: 400;
  margin-bottom: 16px;
  line-height: 1;
}
.p-lupex__timeline .p-lupex__timeline-year .year {
  font-family: "Roboto", sans-serif;
}
.p-lupex__timeline .p-lupex__timeline-year .small {
  font-size: 1rem;
  font-weight: 400;
  margin-left: 4px;
}
.p-lupex__timeline .p-lupex__timeline-title {
  font-size: 32px;
  font-weight: 500;
  margin-bottom: 20px;
  line-height: 1.55;
}
.p-lupex__timeline .p-lupex__timeline-desc {
  font-size: 18px;
  color: rgba(255, 255, 255, 0.72);
  line-height: 1.8;
}
.p-lupex__timeline-image {
  width: calc(50% - 60px);
}
.p-lupex__timeline-image img {
  width: 100%;
  height: auto;
}
.p-lupex__timeline .p-lupex__timeline-btn {
  margin: 100px auto 0;
  text-align: center;
  position: relative;
  z-index: 2;
}

.p-lupex__tech {
  position: relative;
  width: 100%;
  padding: 120px 5% 134px;
  color: #fff;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  min-height: 800px;
}
.p-lupex__tech-video {
  position: absolute;
  inset: 0;
  z-index: -1;
}
.p-lupex__tech-video::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(1, 1, 2, 0.24);
}
.p-lupex__tech-video video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-lupex__tech-grid {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background-image: linear-gradient(to right, rgba(242, 242, 242, 0.08) 1px, transparent 1px), linear-gradient(to bottom, rgba(242, 242, 242, 0.08) 1px, transparent 1px);
  background-size: 240px 303px;
  background-position: center top;
}
.p-lupex__tech-inner {
  position: relative;
  z-index: 3;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.p-lupex__tech-content {
  max-width: 528px;
}
.p-lupex__tech-en {
  display: block;
  font-size: 20px;
  line-height: 1.55;
  letter-spacing: 0;
  color: #a38c64;
  margin-bottom: 8px;
  font-family: "eurostile-extended", serif;
}
.p-lupex__tech .p-lupex__tech-title {
  font-size: 42px;
  font-weight: 500;
  margin-bottom: 32px;
  line-height: 1.38;
  letter-spacing: 0;
}
.p-lupex__tech .p-lupex__tech-desc {
  font-size: 16px;
  line-height: 1.8;
  color: #e0e0e0;
  margin-bottom: 121px;
}

.p-lupex__scienceWrapper {
  padding: 140px 5% 120px;
  background-color: #fff;
}

.p-lupex__science {
  max-width: 1200px;
  margin: 0 auto;
}
.p-lupex__science .p-lupex__science-inner {
  background: linear-gradient(to bottom, #002a4a, #0065b0);
  color: #fff;
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  padding: 40px;
  gap: 10.6%;
}
.p-lupex__science-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.p-lupex__science-en {
  display: block;
  width: 186px;
  height: 31px;
  margin-bottom: 24px;
}
.p-lupex__science-title {
  font-size: 42px;
  font-weight: 400;
  margin-bottom: 48px;
  letter-spacing: 0.05em;
}
.p-lupex__science .p-lupex__science-desc {
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: 0;
  margin-bottom: 40px;
}
.p-lupex__science .p-lupex__science-link {
  display: inline-flex;
  align-items: center;
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  line-height: 1.55;
  margin-top: auto;
  align-self: flex-start;
  transition: opacity 0.3s ease;
}
.p-lupex__science .p-lupex__science-link:hover {
  opacity: 0.7;
}
.p-lupex__science .p-lupex__science-link span:first-child {
  margin-right: 20px;
}
.p-lupex__science .p-lupex__science-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border: 1px solid #fff;
  border-radius: 50%;
}
.p-lupex__science .p-lupex__science-icon svg {
  width: 12px;
  height: 12px;
}
.p-lupex__science-visual {
  width: 41.2%;
}
.p-lupex__science-visual img {
  width: 100%;
  height: auto;
  display: block;
}

/* --------------------------------------------------
   関連情報 (.p-lupex__related)
-------------------------------------------------- */
.p-lupex__relatedWrapper {
  width: 100%;
  background-color: #fff;
}
.p-lupex__relatedWrapper .p-lupex__related {
  margin: 0 auto !important;
}

.p-lupex__related {
  max-width: 1200px;
  margin: 140px auto 0;
  background-color: #fff;
  color: #111;
}
.p-lupex__related-header {
  margin-bottom: 42px;
}
.p-lupex__related-en {
  display: block;
  width: 175px;
  height: 15px;
  margin-bottom: 24px;
}
.p-lupex__related-title {
  font-size: 42px;
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 500;
}
.p-lupex__related-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.666%;
  list-style: none;
  margin: 0;
  padding: 0;
}
.p-lupex__related-item {
  position: relative;
  overflow: hidden;
}
.p-lupex__related-link {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  aspect-ratio: 16/9;
}
.p-lupex__related-link:hover .p-lupex__related-img img {
  transform: scale(1.05);
}
.p-lupex__related-img {
  position: absolute;
  inset: 0;
}
.p-lupex__related-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}

/* --------------------------------------------------
   下層ページ共通ヘッダー (.p-lupex__page-header)
-------------------------------------------------- */
.p-lupex__page-header {
  position: relative;
}
.p-lupex__page-header {
  overflow: hidden;
  background-color: #fff;
  margin-bottom: 32px;
}

.p-lupex__page-header-inner {
  position: relative;
  z-index: 2;
}

.p-lupex__page-header-en {
  display: block;
  margin-bottom: 12px;
  width: 80px;
  margin-left: 5px;
}

.p-lupex__page-header-bgtext {
  position: absolute;
  right: 0;
  top: 22px;
  z-index: 1;
  pointer-events: none;
}
.p-lupex__newsTopics-grid {
  margin-bottom: 54px;
}

.p-lupex__newsTopics-card .p-lupex__newsTopics-card-thumb.-new:before {
  content: "";
  z-index: 2;
  position: absolute;
  top: 4px;
  left: 5px;
  width: 79px;
  height: 24px;
  background-image: url("/future/lupex/assets/img/news_new.webp");
  background-size: cover;
  background-position: center;
}
.p-lupex__newsTopics-card .p-lupex__newsTopics-card-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

.p-lupex__newsTopics-card-link {
  display: flex;
  gap: 12px;
  text-decoration: none;
  color: inherit;
}
.p-lupex__newsTopics-card-link[target=_blank] .p-lupex__newsTopics-card-title::after {
  content: "";
  display: inline-block;
  width: 13.185px;
  height: 13.184px;
  margin-left: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.185%22%20height%3D%2213.184%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%23090a0c%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M5.173%208.012l6.951-6.951M8.333%201.061h3.791v3.792M10.228%207.378v3.79a1.264%201.264%200%2001-1.264%201.265h-6.95A1.264%201.264%200%2001.75%2011.17V4.219a1.265%201.265%200%20011.264-1.265h3.791%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/contain;
}
.p-lupex__newsTopics-card-link:hover .p-lupex__newsTopics-card-thumb img {
  transform: scale(1.05);
}

.p-lupex__newsTopics-card-body .p-lupex__news-meta {
  margin-bottom: 8px;
}
.p-lupex__newsTopics-card-thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
  margin-bottom: 24px;
}
.p-lupex__newsTopics-card-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: transform 0.4s ease;
}
.p-lupex__newsTopics-card-title {
  color: #010102;
  font-size: 12px;
  line-height: 1.55;
  font-weight: 500;
}

.p-lupex__newsTopics-page-back {
  color: #007cc3;
  text-decoration: underline;
  text-align: center;
  margin-top: 28px;
}
.p-lupex__newsTopics-page-back a {
  font-size: 14px;
  line-height: 28px;
  letter-spacing: 0.56px;
}
.p-lupex__newsDetails {
  padding: 92px 0 0;
  background-color: #fff;
  color: #333;
}
.p-lupex__newsDetails .p-lupex__category {
  padding: 2px 29px;
  font-size: 14px;
}
.p-lupex__newsDetails .p-lupex__news-date {
  font-size: 15px;
}
.p-lupex__newsDetails .p-lupex__page-header {
  margin: 0 0 32px;
}
.p-lupex__newsDetails .p-lupex__page-header {
  padding: 0;
}
.p-lupex__newsDetails .p-lupex__page-header-ja {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
}
.p-lupex__newsDetails .p-lupex__page-header-en {
  width: 80px;
  margin-bottom: 8px;
  margin-left: 5px;
}
.p-lupex__newsDetails h1 {
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-weight: 500;
  margin-top: 10px;
  margin-bottom: 32px;
}
.p-lupex__newsDetails .p-lupex__newsDetails__meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
.p-lupex__newsDetails .p-lupex__newsDetails__date {
  font-size: 14px;
  color: #666;
}
.p-lupex__newsDetails {
  /* --------------------------------------------------
     記事本文（MT出力エリア）
  -------------------------------------------------- */
}
.p-lupex__newsDetails article {
  padding: 0 16px;
  max-width: 832px;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1.8;
}
.p-lupex__newsDetails article a[target=_blank]::after {
  content: "";
  display: inline-block;
  width: 13.185px;
  height: 13.184px;
  margin-left: 6px;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2213.185%22%20height%3D%2213.184%22%3E%3Cg%20fill%3D%22none%22%20stroke%3D%22%230065b0%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-width%3D%221.5%22%3E%3Cpath%20d%3D%22M5.173%208.012l6.951-6.951M8.333%201.061h3.791v3.792M10.228%207.378v3.79a1.264%201.264%200%2001-1.264%201.265h-6.95A1.264%201.264%200%2001.75%2011.17V4.219a1.265%201.265%200%20011.264-1.265h3.791%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E") no-repeat center/contain;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents .hr {
  text-decoration: underline;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents .hr,
.p-lupex__newsDetails article .p-lupex__newsDetails__contents del,
.p-lupex__newsDetails article .p-lupex__newsDetails__contents em {
  display: block;
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0;
  margin-bottom: 12px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents .p-lupex__newsDetails__eyecatch {
  margin-bottom: 48px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents > * {
  margin-bottom: 48px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents > *:last-child {
  margin-bottom: 0;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents figure {
  margin-bottom: 32px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents ul,
.p-lupex__newsDetails article .p-lupex__newsDetails__contents ol {
  margin-bottom: 32px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents h2 {
  margin-bottom: 32px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents h3 {
  margin-bottom: 20px;
}
.p-lupex__newsDetails article .p-lupex__newsDetails__contents h4 {
  margin-bottom: 16px;
}
.p-lupex__newsDetails article h2 {
  position: relative;
  background-color: #e5e5e5;
  padding: 15px 28px 17px 28px;
  line-height: 1.33;
  font-size: 24px;
  font-weight: 500;
  color: #010102;
}
.p-lupex__newsDetails article h2::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 4px;
  background: linear-gradient(to bottom, #000a29 0%, #000a29 28%, #002d58 56%, #00599c 79%, #3192c3 100%);
}
.p-lupex__newsDetails article h3 {
  color: #0065b0;
  font-size: 18px;
  line-height: 1.8;
  letter-spacing: 0.32px;
  font-weight: bold;
}
.p-lupex__newsDetails article h4 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  padding-bottom: 12px;
  border-bottom: 1px solid #dcdcdc;
}
.p-lupex__newsDetails article p {
  color: #010102;
  font-size: 16px;
  letter-spacing: 0.03rem;
  line-height: 1.9;
}
.p-lupex__newsDetails article a {
  color: #0065b0;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.3s ease;
}
.p-lupex__newsDetails article a:hover {
  text-decoration: underline;
  opacity: 0.8;
}
.p-lupex__newsDetails article ol {
  counter-reset: num;
  color: #010102;
}
.p-lupex__newsDetails article ol li {
  color: #010102;
  position: relative;
  padding-left: 42px;
  font-size: 16px;
  letter-spacing: 0.04em;
  line-height: 1.8;
}
.p-lupex__newsDetails article ol li + li {
  margin-top: 12px;
}
.p-lupex__newsDetails article ol li::before {
  counter-increment: num;
  content: counter(num, decimal-leading-zero) ".";
  position: absolute;
  top: 0;
  left: 0;
  font-family: "eurostile-extended", serif;
  color: #010102;
  font-weight: 400;
}
.p-lupex__newsDetails article ul {
  list-style: none;
}
.p-lupex__newsDetails article ul li {
  position: relative;
  padding-left: 13px;
}
.p-lupex__newsDetails article ul li + li {
  margin-top: 14px;
}
.p-lupex__newsDetails article ul li::before {
  content: "";
  position: absolute;
  transform: translateY(50%);
  top: 10px;
  left: 0;
  border-radius: 99%;
  background-color: #1e1e1e;
  width: 5px;
  height: 5px;
}
.p-lupex__newsDetails article {
  /* --- 画像 --- */
}
.p-lupex__newsDetails article img {
  max-width: 100%;
  height: auto;
  display: block;
}
.p-lupex__newsDetails article figure figcaption {
  color: #8f8f8f;
  font-size: 12px;
  letter-spacing: 0.03em;
  line-height: 2;
  text-align: center;
  margin-top: 8px;
}
.p-lupex__newsDetails article {
  /* --- 注釈・グレーボックス (blockquote) --- */
}
.p-lupex__newsDetails article blockquote {
  background-color: rgba(220, 220, 220, 0.2);
  padding: 12px;
}
.p-lupex__newsDetails article blockquote {
  border-radius: 4px;
}
.p-lupex__newsDetails article blockquote p {
  color: #010102;
  font-size: 14px;
  letter-spacing: 0.04em;
  line-height: 1.8;
}
.p-lupex__newsDetails article {
  /* --- 区切り線 --- */
}
.p-lupex__newsDetails article hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 64px 0;
}
.p-lupex__newsDetails .p-lupex__newsDetails__backWrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-top: 32px;
}
.p-lupex__newsDetails {
  /* --------------------------------------------------
     記事フッター
  -------------------------------------------------- */
}
.p-lupex__newsDetails .p-lupex__newsDetails__footer {
  max-width: 800px;
  margin: 80px auto 0;
  text-align: center;
}
.p-lupex__newsDetails .p-lupex__newsDetails__link {
  font-size: 14px;
  letter-spacing: 0.56px;
  line-height: 28px;
}
.p-lupex__newsDetails .p-lupex__newsDetails__back-list {
  display: inline-flex;
  align-items: center;
  gap: 16px;
}
.p-lupex__newsDetails .p-lupex__newsDetails__back-list {
  color: #0065b0;
  text-decoration: none;
  font-size: 16px;
}
.p-lupex__newsDetails .p-lupex__newsDetails__back-list:hover .p-lupex__newsDetails__back-icon {
  background-color: #0065b0;
  color: #fff;
}
.p-lupex__newsDetails {
  /* 右側の丸いボタン */
}
.p-lupex__newsDetails .p-lupex__newsDetails__back-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 29px;
  height: 29px;
  border: 0.5px solid #0065b0;
  border-radius: 50%;
  background-color: #fff;
  color: #0065b0;
  transition: background-color 0.3s ease, color 0.3s ease;
}
.p-lupex__newsDetails .p-lupex__newsDetails__back-icon svg {
  width: 23px;
  height: 16px;
}

.l-main--dark {
  background-color: #000;
  color: #fff;
}
.l-main--dark .p-lupex__page-header {
  background-color: transparent;
  color: #fff;
}

.p-lupex__aboutPage {
  padding-top: 0px;
  padding-bottom: 160px;
}
.p-lupex__aboutPage .p-lupex__page-header {
  margin-bottom: 0;
}
.p-lupex__aboutPage .p-lupex__page-header-en {
  width: 165px;
  margin-left: 0;
}
.p-lupex__aboutPage .p-lupex__page-header-en img {
  width: 165px;
}
.p-lupex__aboutPage .p-lupex__page-header-ja {
  color: #fff;
  font-weight: 400;
  font-size: 42px;
}
.p-lupex__aboutPage .p-lupex__page-header-ja span {
  font-family: "eurostile-extended", serif;
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero {
  position: relative;
  overflow: hidden;
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero-text p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  margin-top: 54px;
  max-width: 545px;
  color: #e6e6e6;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.8);
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero-inner {
  position: relative;
  z-index: 2;
  max-width: 1200px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero-title {
  font-size: 32px;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.02em;
}
.p-lupex__aboutPage .p-lupex__aboutPage-features {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 140px;
  margin-top: 160px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-feature {
  display: flex;
  justify-content: space-between;
}
.p-lupex__aboutPage .p-lupex__aboutPage-feature-head {
  margin-bottom: 16px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-feature-num {
  font-size: 20px;
  margin-bottom: 12px;
  display: inline-block;
}
.p-lupex__aboutPage .p-lupex__aboutPage-feature-title {
  font-size: 28px;
  line-height: 1.5;
  letter-spacing: 0.03em;
  font-weight: 500;
}
.p-lupex__aboutPage .p-lupex__aboutPage-feature-desc {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #e6e6e6;
  max-width: 550px;
  padding-right: 15px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero-moon {
  position: absolute;
  top: 144px;
  right: 0;
  width: 56.32%;
  aspect-ratio: 811/811;
  z-index: 1;
  pointer-events: none;
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero-moon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 40%, #010102 75%, #010102 100%);
}
.p-lupex__aboutPage .p-lupex__aboutPage-hero-moon img {
  width: 100%;
  height: auto;
  display: block;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo {
  margin-top: 140px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo-box {
  background-color: rgba(255, 255, 255, 0.06);
  border: 1px solid #333;
  padding: 24px 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 11.666%;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo-text {
  flex: 1;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo-text span {
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo-text h3 {
  font-size: 28px;
  line-height: 155%;
  font-weight: 500;
  letter-spacing: 0;
  color: #fff;
  margin-bottom: 40px;
  margin-top: 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo-text p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #e6e6e6;
}
.p-lupex__aboutPage .p-lupex__aboutPage-logo-img {
  width: 45%;
  margin-top: 20px;
  flex-shrink: 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro {
  margin-top: 120px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro__scrollbar {
  width: calc(100% - 32px);
  height: 2px;
  margin: 24px auto 0;
  background: #cacaca;
  position: relative;
  border-radius: 10px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro__scrollbar-thumb {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 30%;
  background: #b8a282;
  border-radius: 10px;
  transition: background 0.2s;
  cursor: grab;
  touch-action: none;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro__scrollbar-thumb:active {
  cursor: grabbing;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro__wrapper {
  overflow-x: scroll;
  padding-left: 16px;
  scrollbar-width: none;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro__wrapper::-webkit-scrollbar {
  display: none;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro__wrapper {
  -ms-overflow-style: none;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-intro {
  display: flex;
  justify-content: space-between;
  gap: 9.666%;
  margin-bottom: 72px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-text {
  flex: 1;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-text span {
  font-size: 16px;
  font-family: "eurostile-extended", serif;
  color: #b8a282;
  line-height: 1;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-text h3 {
  font-size: 28px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.03em;
  margin-bottom: 40px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-text p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: #e6e6e6;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-photo {
  width: 48%;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-diagram {
  text-align: center;
  max-width: 1232px;
  margin: 0 auto;
  padding: 0 16px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-isro-diagram img {
  max-width: 100%;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig {
  margin-top: 120px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14.33%;
  margin-bottom: 80px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-titleWrap {
  flex-shrink: 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-titleWrap span {
  display: inline-block;
  font-size: 20px;
  font-family: "eurostile-extended", serif;
  color: #b8a282;
  margin-bottom: 12px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-titleWrap h2 {
  font-size: 42px;
  font-weight: 400;
  line-height: 1.55;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-desc {
  flex: 1;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 140px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-item {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-item.-left {
  flex-direction: row-reverse;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.916%;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-text .p-lupex__aboutPage-sig-num {
  font-size: 40px;
  font-family: "eurostile-extended", serif;
  color: #b8a282;
  margin-bottom: 12px;
  letter-spacing: 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-text h3 {
  font-size: 28px;
  line-height: 150%;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 40px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-text p {
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 1.8;
  color: #e6e6e6;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-itemTitle {
  font-size: 28px;
  line-height: 160%;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 36px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-head {
  display: contents;
}
.p-lupex__aboutPage .p-lupex__aboutPage-sig-img {
  width: 48%;
  flex-shrink: 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-history-bottom {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 8%;
  margin-bottom: 72px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-history-photo {
  width: 48%;
}
.p-lupex__aboutPage .p-lupex__aboutPage-history-photo .text {
  font-size: 13px;
  color: #e6e6e6;
  letter-spacing: 0;
  margin-top: 16px;
  line-height: 1;
  text-align: center;
}
.p-lupex__aboutPage .p-lupex__aboutPage-history-photo .text a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-history-photo img {
  width: 100%;
  height: auto;
  display: block;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline {
  list-style: none;
  padding: 0;
  flex: 1;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item {
  position: relative;
  display: flex;
  align-items: flex-start;
  padding: 60px 0 9px;
  background-image: linear-gradient(#b8a282, #b8a282);
  background-size: 1px 100%;
  background-position: 136px 0;
  background-repeat: no-repeat;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item:first-child {
  padding: 0 0 9px;
  background-size: 1px calc(100% - 16px);
  background-position: 136px 100%;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item:last-child {
  background-size: 1px 76px;
  background-position: 136px 0;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item::before {
  content: "";
  position: absolute;
  top: 81px;
  left: 136px;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  background-color: #b8a282;
  border-radius: 50%;
  z-index: 2;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item:first-child::before {
  top: 20px;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 176px;
  right: 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.4);
  z-index: 1;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item .year span {
  font-size: 28px;
  font-family: "Roboto";
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item .year {
  font-size: 20px;
  font-weight: 400;
  width: 136px;
  padding-right: 32px;
  flex-shrink: 0;
  text-align: left;
  letter-spacing: 0;
  line-height: 1.6;
}
.p-lupex__aboutPage .p-lupex__aboutPage-timeline-item .event {
  font-size: 20px;
  flex: 1;
  line-height: 2;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.9);
  padding-left: 41px;
}

.p-lupex__missionPage {
  padding-bottom: 160px;
}
.p-lupex__missionPage .p-lupex__page-header-en {
  margin-left: 2px;
  width: 190px;
}
.p-lupex__missionPage .p-lupex__missionPage-title {
  font-size: 24px;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.02em;
  margin-bottom: 32px;
  color: #b8a282;
}
.p-lupex__missionPage .p-lupex__missionPage-head {
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.03em;
  font-size: 32px;
}
.p-lupex__missionPage .p-lupex__page-header {
  padding: 34px 0 0;
  margin-bottom: 0;
}
.p-lupex__missionPage .p-lupex__page-header-ja {
  color: #fff;
  font-weight: 400;
  font-size: 40px;
}
.p-lupex__missionPage .p-lupex__page-header-ja span {
  font-family: "eurostile-extended", serif;
}
.p-lupex__missionPage .p-lupex__missionPage-hero-bg {
  position: absolute;
  top: 144px;
  right: -63px;
  width: 56.32%;
  aspect-ratio: 811/811;
  z-index: 1;
  pointer-events: none;
}
.p-lupex__missionPage .p-lupex__missionPage-hero-bg::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 40%, #010102 75%, #010102 100%);
}
.p-lupex__missionPage .p-lupex__missionPage-hero-bg img {
  width: 100%;
  height: auto;
  display: block;
}
.p-lupex__missionPage .p-lupex__missionPage-hero {
  position: relative;
  z-index: 2;
  padding-top: 100px;
}
.p-lupex__missionPage .p-lupex__missionPage-hero-title {
  font-size: 32px;
  line-height: 1.6;
  margin-bottom: 60px;
  letter-spacing: 0.03em;
  font-weight: 500;
}
.p-lupex__missionPage .p-lupex__missionPage-hero-text p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.9);
}
.p-lupex__missionPage .p-lupex__missionPage-objective {
  margin-top: 160px;
  position: relative;
  z-index: 3;
}
.p-lupex__missionPage .p-lupex__missionPage-objective-inner {
  display: flex;
  justify-content: space-between;
  gap: 60px;
}
.p-lupex__missionPage .p-lupex__missionPage-objective-desc {
  flex: 1;
  max-width: 500px;
  font-size: 15px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.9);
}
.p-lupex__missionPage .p-lupex__missionPage-launch {
  position: relative;
  z-index: 1;
  margin-top: 100px;
}
.p-lupex__missionPage .p-lupex__missionPage-launch-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 60px;
}
.p-lupex__missionPage .p-lupex__missionPage-launch-text {
  flex: 1;
}
.p-lupex__missionPage .p-lupex__missionPage-launch-img {
  width: 50%;
}
.p-lupex__missionPage .p-lupex__missionPage-launch-img img {
  width: 100%;
  height: auto;
}
.p-lupex__missionPage .p-lupex__missionPage-spec {
  margin-top: 100px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 54px 6.66%;
}
.p-lupex__missionPage .p-lupex__missionPage-spec-item {
  border-bottom: 1px solid #575757;
  padding-bottom: 16px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.p-lupex__missionPage .p-lupex__missionPage-spec-item.is-empty {
  border-bottom: none;
}
.p-lupex__missionPage .p-lupex__missionPage-spec-head {
  font-size: 16px;
  font-weight: 500;
  color: #c3c3c3;
  line-height: 1.55;
  letter-spacing: 0;
  margin-bottom: 8px;
}
.p-lupex__missionPage .p-lupex__missionPage-spec-data {
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.02em;
  color: #e6e6e6;
}
.p-lupex__missionPage .p-lupex__missionPage-plan {
  margin-top: 140px;
}
.p-lupex__missionPage .p-lupex__missionPage-plan-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.33%;
  margin-top: 60px;
}
.p-lupex__missionPage .p-lupex__missionPage-plan-img {
  margin-bottom: 20px;
}
.p-lupex__missionPage .p-lupex__missionPage-plan-img img {
  width: 100%;
  height: auto;
}
.p-lupex__missionPage .p-lupex__missionPage-plan-step {
  font-size: 20px;
  color: #b8a282;
  display: block;
  margin-bottom: 4px;
  line-height: 1.55;
  letter-spacing: 0;
}
.p-lupex__missionPage .p-lupex__missionPage-plan-stepTitle {
  font-size: 20px;
  margin-bottom: 16px;
  line-height: 1.55;
  letter-spacing: 0;
  color: #b8a282;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze {
  margin-top: 120px;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 6.66%;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-text {
  flex: 1;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-list {
  list-style: none;
  padding: 0;
  margin-top: 40px;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #575757;
  padding-bottom: 10px;
  margin-bottom: 24px;
  font-size: 15px;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-item:last-child {
  margin-bottom: 0;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-item .num {
  font-family: "eurostile-extended", serif;
  margin-right: 12px;
  line-height: 1.55;
  font-size: 24px;
  letter-spacing: 0;
  color: #b8a282;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-item .text {
  font-size: 18px;
  flex: 1;
  line-height: 1.6;
  letter-spacing: 0.03em;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-img {
  width: 45%;
}
.p-lupex__missionPage .p-lupex__missionPage-analyze-img img {
  width: 100%;
  height: auto;
}
.p-lupex__missionPage .p-lupex__missionPage-history {
  margin-top: 140px;
}
.p-lupex__missionPage .p-lupex__missionPage-history-top {
  display: flex;
  align-items: center;
  gap: 6.9565%;
  border: 1px solid rgba(255, 255, 255, 0.2);
  padding: 32px 40px;
  background-color: rgba(255, 255, 255, 0.06);
  border-radius: 6px;
}
.p-lupex__missionPage .p-lupex__missionPage-history-intro {
  flex: 1;
}
.p-lupex__missionPage .p-lupex__missionPage-history-intro .p-lupex__missionPage-label {
  display: flex;
  align-items: center;
  gap: 17px;
  margin-bottom: 13px;
  font-size: 20px;
  font-weight: 500;
}
.p-lupex__missionPage .p-lupex__missionPage-history-intro .p-lupex__missionPage-label::before {
  content: "";
  display: block;
  width: 93px;
  height: 1px;
  background-color: #fff;
}
.p-lupex__missionPage .p-lupex__missionPage-history-intro p {
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.04em;
  margin-top: 32px;
  color: #fff;
}
.p-lupex__missionPage .p-lupex__missionPage-history-img {
  width: 26%;
}
.p-lupex__missionPage .p-lupex__missionPage-history-img img {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: 8px;
}
.p-lupex__missionPage .p-lupex__missionPage-history-caption {
  color: #ffffff;
  margin-top: 12px;
}
.p-lupex__missionPage .p-lupex__missionPage-history-caption span {
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0;
  display: inline-block;
}
.p-lupex__missionPage .p-lupex__missionPage-history-caption p {
  margin-top: 4px;
  text-align: center;
  letter-spacing: 0;
  line-height: 1.6;
  font-weight: bold;
  font-size: 14px;
}
@media screen and (max-width: 767px){
  .u-hiddenSp {
    display: none !important;
  }
  .l-header__inner {
    height: 50px;
    padding-right: 0;
    background-color: transparent;
    align-items: center;
  }
  .l-header__brand {
    padding: 0;
    width: 170px;
    height: 100%;
    position: relative;
    z-index: 101;
    justify-content: center;
  }
  .l-header__brand img {
    width: 144px;
    height: 27px;
  }
  .l-header__sp-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-grow: 1;
    height: 100%;
    position: relative;
    z-index: 101;
  }
  .l-header__content {
    display: none;
  }
  .p-lupex__footer {
    padding: 48px 20px 18px;
  }
  .p-lupex__footer-inner {
    display: contents;
  }
  .p-lupex__footer {
    display: flex;
    flex-direction: column;
  }
  .p-lupex__footer-bgtext {
    display: none;
  }
  .p-lupex__footer-brand {
    order: 1;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 36px;
  }
  .p-lupex__footer-logo {
    width: 100px;
  }
  .p-lupex__footer-mission {
    gap: 0;
    text-align: right;
  }
  .p-lupex__footer-mission a {
    font-size: 12px;
    line-height: 1.4;
  }
  .p-lupex__footer-lang {
    order: 4;
    margin-bottom: 36px;
    font-size: 14px;
  }
  .p-lupex__footer .p-lupex__footer-nav {
    order: 2;
    display: contents;
  }
  .p-lupex__footer .p-lupex__footer-external:after {
    width: 11px;
    height: 11px;
  }
  .p-lupex__footer .p-lupex__footer-links {
    order: 2;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 13px 20px;
    width: 100%;
    margin-bottom: 24px;
  }
  .p-lupex__footer .p-lupex__footer-links li a {
    font-size: 14px;
  }
  .p-lupex__footer-sublinks {
    order: 3;
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    margin-bottom: 24px;
    gap: 16px;
  }
  .p-lupex__footer .p-lupex__footer-faq {
    font-size: 14px;
  }
  .p-lupex__footer .p-lupex__footer-btn {
    font-size: 14px;
    padding: 8px 18px;
  }
  .p-lupex__footer .p-lupex__footer-copy {
    opacity: 0.8;
  }
  .p-lupex__footer .p-lupex__footer-bottom {
    order: 5;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 0;
    padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
  }
  .p-lupex__footer .p-lupex__footer-bottom > div {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
  }
  .p-lupex__footer .p-lupex__footer-bottom > *:first-child,
  .p-lupex__footer .p-lupex__footer-bottom > *:last-child {
    padding: 0;
  }
  .p-lupex__btn {
    padding: 11px 11px 11px 24px;
  }
  .p-lupex__btn-text {
    font-size: 14px;
    line-height: 1.55;
    letter-spacing: 5%;
  }
  .p-lupex__btn-icon {
    width: 30px;
    height: 30px;
  }
  .p-lupex__btn-icon svg {
    width: 16px;
    height: 16px;
  }
  .p-lupex__pagination-item,
  .p-lupex__pagination-arrow {
    width: 40px;
    height: 40px;
    font-size: 14px;
  }
  .p-lupex__pagination-dots {
    width: 40px;
    height: 40px;
  }
  .p-lupex__category {
    font-size: 10px;
    padding: 1px 20px;
    line-height: 1.55;
  }
  .p-lupex__kv {
    height: 100vh;
    height: 100svh;
    min-height: 500px;
  }
  .p-lupex__kv .p-lupex__kv-title {
    width: 64.8%;
    bottom: 70px;
    left: 16px;
  }
  .p-lupex__news-thumb.-new:before {
    top: 0;
    left: 0;
    width: 41px;
    height: 11px;
    background-image: url("/future/lupex/assets/img/news_new_sp.webp");
  }
  .p-lupex__about-trigger .p-lupex__about-pin {
    position: relative;
    height: auto;
    min-height: auto;
    padding: 120px 0 75px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-lupex__about-trigger .p-lupex__about-intro {
    display: none;
  }
  .p-lupex__about-trigger .p-lupex__about-mask {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    clip-path: none !important;
  }
  .p-lupex__about-trigger .p-lupex__about-overlay {
    background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 8%, rgba(1, 1, 2, 0.6) 36%, rgba(1, 1, 2, 0.8) 63%, rgba(1, 1, 2, 0.9) 87%, rgb(1, 1, 2) 100%);
  }
  .p-lupex__about-trigger .p-lupex__about-fade {
    display: none;
  }
  .p-lupex__about-trigger .p-lupex__about-content {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    padding: 0 20px;
    text-align: left;
    opacity: 1 !important;
  }
  .p-lupex__about-trigger .p-lupex__about-header {
    margin-bottom: 32px;
    text-align: center;
  }
  .p-lupex__about-trigger .p-lupex__about-title {
    font-size: 24px;
    line-height: 1.5;
  }
  .p-lupex__about-trigger .p-lupex__about-title br {
    display: none;
  }
  .p-lupex__about-trigger .p-lupex__about-desc {
    font-size: 16px;
    letter-spacing: 0.02em;
    margin-bottom: 64px;
  }
  .p-lupex__about-trigger .p-lupex__about-action {
    text-align: center;
  }
  .p-lupex__gallery {
    display: none;
  }
  .p-lupex__gallery {
    padding: 40px 20px 60px;
  }
  .p-lupex__gallery-inner {
    height: auto;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  .p-lupex__gallery-item {
    position: relative !important;
    width: 100% !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none;
    aspect-ratio: 16/9;
  }
  .p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-col:first-child::after {
    width: 70%;
    height: 1px;
    right: auto;
    top: auto;
    bottom: 0;
    left: 15%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-hover {
    width: 52.1865889213%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-hover {
    width: 29.1545189504%;
    top: 24.2268041237%;
    right: 5.8309037901%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(1) .p-lupex__minute-datatext img.is-hover {
    left: 10px;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-datatext img.is-hover {
    width: 58.8921282799%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(2) .p-lupex__minute-hover {
    width: 29.1545189504%;
    top: 24.2268041237%;
    right: 5.8309037901%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-datatext img.is-hover {
    left: 0;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-datatext img.is-hover {
    width: 57.1428571429%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(3) .p-lupex__minute-hover {
    width: 38.7755102041%;
    top: 31.4432989691%;
    right: 8.4548104956%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-datatext img.is-hover {
    bottom: 21px;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-datatext img.is-hover {
    width: 46.0641399417%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(4) .p-lupex__minute-hover {
    width: 29.1545189504%;
    top: 27.8350515464%;
    right: 5.8309037901%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-datatext img.is-hover {
    width: 49.8542274052%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(5) .p-lupex__minute-hover {
    width: 29.1545189504%;
    top: 30.412371134%;
    right: 5.8309037901%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-datatext img.is-hover {
    width: 51.8950437318%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(6) .p-lupex__minute-hover {
    width: 29.1545189504%;
    top: 30.412371134%;
    right: 6.9970845481%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-datatext img.is-hover {
    aspect-ratio: 178/84;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-datatext img.is-hover {
    width: 51.8950437318%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(7) .p-lupex__minute-hover {
    width: 29.7376093294%;
    top: 30.412371134%;
    right: 5.8309037901%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-datatext img.is-hover {
    width: 51.8950437318%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(8) .p-lupex__minute-hover {
    width: 29.1545189504%;
    top: 31.9587628866%;
    right: 5.8309037901%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-datatext img.is-hover {
    width: 100%;
    height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-hover {
    width: 100%;
    height: auto;
    top: auto;
    right: auto;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-datatext img.is-hover {
    aspect-ratio: 178/84;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-datatext img.is-hover {
    width: 51.8950437318%;
  }
  .p-lupex__minute .p-lupex__minute-item:nth-child(9) .p-lupex__minute-hover {
    width: 32.944606414%;
    top: 36.5979381443%;
    right: 5.8309037901%;
  }
  .p-lupex__minute {
    padding: 48px 16px 64px;
  }
  .p-lupex__minute-en {
    margin-bottom: 12px;
  }
  .p-lupex__minute-header {
    text-align: left;
    margin-bottom: 32px;
  }
  .p-lupex__minute-title {
    line-height: 1.1;
    font-size: 23px;
  }
  .p-lupex__minute-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
  .p-lupex__minute-label {
    gap: 8px;
  }
  .p-lupex__minute-label .-text {
    font-size: 10px;
    padding: 4px 7px 4px;
    height: 18px;
  }
  .p-lupex__minute-label .-num {
    font-size: 15px;
    letter-spacing: -3%;
  }
  .p-lupex__minute .p-lupex__minute-item {
    max-width: 100%;
    aspect-ratio: 343/194;
    padding: 19px 14px 21px 22px;
    border: 1px solid rgba(255, 255, 255, 0.2);
  }
  .p-lupex__minute .p-lupex__minute-item.is-wide {
    aspect-ratio: 343/354;
    padding: 22px 14px 21px 22px;
    min-height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-columns {
    position: relative;
    display: flex;
    flex-direction: column;
    margin-top: 16px;
    flex-direction: column;
  }
  .p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-col {
    padding: 0;
    border: none;
    min-height: auto;
  }
  .p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-col::after {
    display: none;
  }
  .p-lupex__minute .p-lupex__minute-item.is-wide .p-lupex__minute-col:last-child {
    margin-top: -16px;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-default {
    display: none;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-hover {
    opacity: 1;
    left: 22px;
    bottom: 22px;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-hover {
    opacity: 1;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-default {
    display: none;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-hover {
    opacity: 1;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-hover.-a {
    top: 18px;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-hover.-b {
    right: 0 !important;
    height: 69% !important;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-hover.-a, .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-datatext img.is-hover.-b {
    bottom: auto;
    left: auto;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-hover {
    grid-area: image;
    opacity: 1;
    transform: none;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-hover.-a {
    right: 0 !important;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-hover.-b {
    left: 0 !important;
  }
  .p-lupex__minute .p-lupex__minute-item .p-lupex__minute-hover img {
    width: 100%;
    height: auto;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .p-lupex__mission {
    margin-top: 0;
  }
  .p-lupex__mission .p-lupex__mission-inner {
    padding: 22.13% 16px 0;
  }
  .p-lupex__mission .p-lupex__mission-bg {
    height: auto;
    aspect-ratio: auto;
  }
  .p-lupex__mission .p-lupex__mission-header {
    padding: 33px 16px 14px;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
  }
  .p-lupex__mission .p-lupex__mission-header-info {
    width: 66.13%;
  }
  .p-lupex__mission .p-lupex__mission-header p {
    font-size: 16px;
    letter-spacing: 0.02em;
  }
  .p-lupex__mission .p-lupex__mission-info {
    margin-top: 0;
    padding: 24px 16px 34px;
    background-color: rgba(41, 39, 39, 0.72);
  }
  .p-lupex__mission .p-lupex__mission-info-header {
    text-align: left;
  }
  .p-lupex__mission .p-lupex__mission-info-item {
    padding-bottom: 12px;
  }
  .p-lupex__mission .p-lupex__mission-info-logo {
    width: 49.63%;
    height: auto;
    aspect-ratio: 1/1;
    right: 22%;
  }
  .p-lupex__mission .p-lupex__mission-info-title {
    font-size: 18px;
  }
  .p-lupex__mission .p-lupex__mission-info-en {
    display: inline-block;
    width: 160px;
    height: 8px;
  }
  .p-lupex__mission .p-lupex__mission-info-list {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-top: 26px;
  }
  .p-lupex__mission .p-lupex__mission-info-label {
    font-size: 13px;
    letter-spacing: 0;
  }
  .p-lupex__mission .p-lupex__mission-info-data {
    font-size: 16px;
    margin-top: 4px;
  }
  .p-lupex__mission .p-lupex__mission-bg-loop {
    width: 100%;
    animation: bg-scroll-right 12s linear infinite;
  }
  .p-lupex__timeline {
    margin-top: 48px;
    padding: 0 0 80px 0;
    background: radial-gradient(150% 100% at top, #010102 81%, #0065b0 100%);
  }
  .p-lupex__timeline h2 {
    margin-bottom: 0;
    font-size: 18px;
    font-weight: bold;
  }
  .p-lupex__timeline .p-lupex__timeline-inner {
    margin-top: 70px;
    padding-right: 14px;
    padding-bottom: 61px;
  }
  .p-lupex__timeline .p-lupex__timeline-item {
    flex-direction: column !important;
    align-items: flex-start;
    margin-bottom: 90px;
    padding-left: 38px;
  }
  .p-lupex__timeline .p-lupex__timeline-bgtext {
    top: 0;
  }
  .p-lupex__timeline-text, .p-lupex__timeline-image {
    width: 100%;
  }
  .p-lupex__timeline .p-lupex__timeline-rover {
    display: none;
    left: 14px;
    margin-left: -24px;
    width: 48px;
    top: -40px;
  }
  .p-lupex__timeline-dot {
    left: 10.5px;
    top: 10px;
    width: 11px;
    height: 11px;
    transform: none;
  }
  .p-lupex__timeline-line {
    top: 10px;
    left: 16px;
  }
  .p-lupex__timeline .p-lupex__timeline-year {
    font-size: 26px;
    margin-bottom: 12px;
  }
  .p-lupex__timeline .p-lupex__timeline-title {
    font-size: 16px;
    margin-bottom: 4px;
  }
  .p-lupex__timeline .p-lupex__timeline-desc {
    font-size: 15px;
    margin-bottom: 28px;
    letter-spacing: 3%;
    line-height: 1.8;
  }
  .p-lupex__timeline .p-lupex__timeline-btn {
    margin: 29px auto 0 20px;
  }
  .p-lupex__tech {
    display: flex;
    flex-direction: column;
    padding: 0;
    min-height: auto;
    color: var(--color-text-main);
    background-color: #fff;
    padding-bottom: 38px;
  }
  .p-lupex__tech-inner, .p-lupex__tech-content {
    display: contents;
  }
  .p-lupex__tech-en {
    order: 1;
    width: 100%;
    text-align: center;
    font-size: 14px;
    margin-top: 54px;
    margin-bottom: 12px;
  }
  .p-lupex__tech .p-lupex__tech-title {
    order: 2;
    width: 100%;
    text-align: center;
    font-size: 24px;
    margin-bottom: 32px;
    padding: 0 20px;
  }
  .p-lupex__tech-video {
    order: 3;
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 375/250;
    z-index: 1;
  }
  .p-lupex__tech-video::after {
    display: none;
  }
  .p-lupex__tech-grid {
    display: none;
  }
  .p-lupex__tech .p-lupex__tech-desc {
    order: 4;
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 2%;
    text-align: left;
    padding: 24px 20px 48px;
    margin-bottom: 0;
    color: var(--color-text-main);
  }
  .p-lupex__tech .p-lupex__tech-action {
    order: 5;
    margin: 0 auto;
  }
  .p-lupex__tech .p-lupex__tech-action .c-btn {
    display: inline-flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    background-color: #000;
    color: #fff;
    border: none;
    padding: 16px 24px;
  }
  .p-lupex__tech .p-lupex__tech-action .c-btn::after {
    filter: invert(1);
  }
  .p-lupex__scienceWrapper {
    padding: 0;
  }
  .p-lupex__science .p-lupex__science-inner {
    flex-direction: column;
    padding: 54px 20px;
    gap: 0;
  }
  .p-lupex__science-content {
    display: contents;
  }
  .p-lupex__science-en {
    order: 1;
    margin-bottom: 8px;
    width: 140px;
    height: auto;
  }
  .p-lupex__science-title {
    order: 2;
    font-size: 28px;
    margin-bottom: 32px;
  }
  .p-lupex__science-visual {
    order: 3;
    width: 100%;
    aspect-ratio: 343/200;
    margin-bottom: 32px;
  }
  .p-lupex__science-visual img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
  }
  .p-lupex__science .p-lupex__science-desc {
    order: 4;
    line-height: 1.8;
    letter-spacing: 2%;
    font-size: 16px;
    margin-bottom: 48px;
  }
  .p-lupex__science .p-lupex__science-link {
    order: 5;
    margin-top: 0;
    align-self: flex-start;
  }
  .p-lupex__related {
    padding: 54px 16px;
    margin: 0;
  }
  .p-lupex__related-title {
    font-size: 28px;
  }
  .p-lupex__related-header {
    margin-bottom: 32px;
  }
  .p-lupex__related-en {
    width: 131px;
    margin-bottom: 7px;
  }
  .p-lupex__related .p-lupex__related-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 12px;
  }
  .p-lupex__related-link {
    aspect-ratio: auto;
  }
  .p-lupex__related .p-lupex__related-img {
    position: relative;
  }
  .p-lupex__page-header-bgtext {
    display: none;
  }
  .p-lupex__newsTopics-archive {
    margin-top: 10px;
  }
  .p-lupex__newsTopics-archive-inner {
    margin-bottom: 54px;
  }
  .p-lupex__newsTopics-card .p-lupex__newsTopics-card-thumb.-new:before {
    top: 0;
    left: 0;
    width: 41px;
    height: 11px;
    background-image: url("/future/lupex/assets/img/news_new_sp.webp");
  }
  .p-lupex__newsTopics-card .p-lupex__newsTopics-card-thumb {
    flex: 0 0 30.82%;
    max-width: 120px;
    height: 58px;
    width: 30.82%;
    aspect-ratio: 16/9;
  }
  .p-lupex__newsTopics-card {
    border-bottom: 1px solid #f4f4f4;
    padding-top: 24px;
    padding-bottom: 24px;
  }
  .p-lupex__newsTopics-card:first-child {
    padding-top: 0;
  }
  .p-lupex__newsTopics-card-body .p-lupex__news-meta {
    gap: 16px;
  }
  .p-lupex__newsTopics-card-body .p-lupex__news-date {
    font-size: 10px;
  }
  .p-lupex__newsTopics-card-thumb {
    width: 64.82%;
    margin-bottom: 0px;
  }
  .p-lupex__newsDetails article {
    padding: 0 16px 48px 16px;
  }
  .p-lupex__aboutPage {
    padding-top: 232px;
    padding-bottom: 80px;
  }
  .p-lupex__aboutPage .p-lupex__page-header-en {
    width: 165px;
    margin-bottom: 8px;
  }
  .p-lupex__aboutPage .p-lupex__page-header-ja {
    font-size: 32px;
    line-height: 1;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-hero-text p {
    margin-top: 16px;
    font-size: 15px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-hero-title {
    font-size: 24px;
    margin-top: 64px;
    letter-spacing: 0.03em;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-features {
    margin-top: 80px;
    gap: 72px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-feature {
    flex-direction: column;
    gap: 20px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-feature-head {
    margin-bottom: 0;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-feature-num {
    margin-bottom: 4px;
    font-size: 16px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-feature-title {
    font-size: 22px;
    line-height: 1.5;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-feature-desc {
    font-size: 15px;
    padding-right: 0;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-hero-moon {
    top: 33px;
    width: 84.26%;
    aspect-ratio: 316/496;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-hero-moon::after {
    background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 40%, #010102 85%, #010102 100%);
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-logo {
    margin-top: 72px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-logo-box {
    flex-direction: column;
    padding: 16px 12px;
    gap: 24px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-logo-text span {
    font-size: 16px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-logo-text h3 {
    margin-top: 4px;
    font-size: 22px;
    margin-bottom: 24px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-logo-text p {
    font-size: 15px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-logo-img {
    width: 100%;
    margin-top: 0px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-isro {
    margin-top: 72px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-isro-intro {
    flex-direction: column;
    gap: 32px;
    margin-bottom: 40px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-isro-text h3 {
    margin-bottom: 24px;
    font-size: 22px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-isro-text p {
    font-size: 14px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-isro-photo {
    width: 100%;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig {
    margin-top: 72px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-header {
    flex-direction: column;
    gap: 24px;
    margin-bottom: 54px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-titleWrap span {
    margin-bottom: 0;
    font-size: 16px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-titleWrap h2 {
    font-size: 26px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-desc {
    font-size: 15px;
    letter-spacing: 0.04em;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-list {
    gap: 72px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-item {
    flex-direction: column;
    gap: 32px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-item.-left {
    flex-direction: column;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-text .p-lupex__aboutPage-sig-num {
    font-size: 24px;
    margin-bottom: 0;
    line-height: 1;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-text h3 {
    margin-top: 4px;
    font-size: 22px;
    letter-spacing: 0.03em;
    margin-bottom: 0;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-text p {
    font-size: 15px;
    order: 3;
    margin-top: 24px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-itemTitle {
    font-size: 20px;
    margin-bottom: 0;
    line-height: 1.4;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-head {
    display: flex;
    flex-direction: column;
    gap: 4px;
    order: 1;
    width: 100%;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-sig-img {
    width: 100%;
    order: 2;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-history-bottom {
    flex-direction: column-reverse;
    gap: 24px;
    margin-bottom: 40px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-history-photo {
    width: 100%;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-history-photo .text {
    font-size: 12px;
    margin-top: 6px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item {
    padding: 64px 0 8px;
    background-position: 106px 0;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item:first-child {
    padding: 0 0 8px;
    background-size: 1px calc(100% - 9px);
    background-position: 106px 100%;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item:last-child {
    background-size: 1px 73px;
    background-position: 106px 0;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item::before {
    left: 106px;
    top: 73px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item:first-child::before {
    top: 9px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item::after {
    left: 143px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item .year span {
    font-size: 18px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item .year {
    width: 106px;
    padding-right: 12px;
    line-height: 1;
    font-size: 18px;
  }
  .p-lupex__aboutPage .p-lupex__aboutPage-timeline-item .event {
    font-size: 14px;
    padding-left: 38px;
  }
  .p-lupex__missionPage {
    padding-bottom: 90px;
    margin-top: 220px;
  }
  .p-lupex__missionPage .p-lupex__page-header-en {
    width: 153px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-title {
    font-size: 20px;
    margin-bottom: 16px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-head {
    font-size: 24px;
  }
  .p-lupex__missionPage .p-lupex__page-header-ja {
    font-size: 32px;
    line-height: 1.3;
  }
  .p-lupex__missionPage .p-lupex__missionPage-hero-bg {
    top: 33px;
    right: 0;
    width: 84.26%;
    aspect-ratio: 316/496;
  }
  .p-lupex__missionPage .p-lupex__missionPage-hero-bg::after {
    background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 40%, #010102 85%, #010102 100%);
  }
  .p-lupex__missionPage .p-lupex__missionPage-hero {
    padding-top: 70px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-hero-title {
    font-size: 24px;
    margin-bottom: 24px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-hero-text p {
    font-size: 14px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-objective {
    margin-top: 80px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-objective-inner {
    flex-direction: column;
    gap: 20px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-objective-desc {
    font-size: 15px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-launch {
    margin-top: 64px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-launch-inner {
    flex-direction: column;
    gap: 40px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-launch-img {
    width: 100%;
  }
  .p-lupex__missionPage .p-lupex__missionPage-spec {
    grid-template-columns: 1fr;
    gap: 33px;
    margin-top: 32px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-spec-item {
    padding-bottom: 12px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-spec-head {
    font-size: 14px;
    margin-bottom: 8px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-spec-data {
    font-size: 20px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-plan {
    margin-top: 74px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-plan-list {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 24px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-plan-img {
    margin-bottom: 12px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-plan-step {
    font-size: 18px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-plan-stepTitle {
    font-size: 18px;
    margin-bottom: 8px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze {
    margin-top: 72px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze-inner {
    flex-direction: column;
    gap: 40px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze-list {
    margin-top: 24px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze-item {
    font-size: 14px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze-item .num {
    font-size: 20px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze-item .text {
    font-size: 15px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-analyze-img {
    width: 100%;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history {
    margin-top: 72px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-top {
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 40px;
    padding: 20px 16px;
    border-radius: 0;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-intro {
    display: contents;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-intro .p-lupex__missionPage-label {
    margin-bottom: 4px;
    font-size: 16px;
    gap: 4px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-intro .p-lupex__missionPage-label::before {
    width: 48px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-intro p {
    order: 4;
    margin-top: 24px;
    font-size: 14px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-img {
    margin-top: 12px;
    width: 100%;
    order: 3;
    display: flex;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-img img {
    border-radius: 4px;
    width: 39.5%;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-caption {
    margin-top: 0;
    margin-left: 16px;
  }
  .p-lupex__missionPage .p-lupex__missionPage-history-caption p {
    margin-top: 12px;
    font-size: 13px;
    text-align: left;
  }
}
@media screen and (min-width: 768px){
  .u-hiddenPc {
    display: none !important;
  }
  .l-main--lower {
    padding-top: 228px;
  }
  .l-main--lower p {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.03em;
  }
  .l-main--lower h1 {
    line-height: 1.2;
    font-size: 48px;
  }
  .p-lupex__category {
    width: 104px;
    height: 20px;
  }
  .p-lupex__about {
    position: relative;
  }
  .p-lupex__about-trigger {
    transform: translateZ(0);
    backface-visibility: hidden;
    will-change: transform;
  }
  .p-lupex__about-trigger .p-lupex__about-bg.js-about-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(1, 1, 2, 0) 0%, rgba(1, 1, 2, 0.45) 100%);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    opacity: 0;
    pointer-events: none;
  }
  .p-lupex__about-pin {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .p-lupex__about-mask {
    background-color: #010102;
    transform: translateZ(0);
    backface-visibility: hidden;
    perspective: 1000px;
    will-change: clip-path;
  }
  .p-lupex__about-mask video {
    transform: translateZ(0);
    backface-visibility: hidden;
  }
  .p-lupex__about-overlaybg {
    position: absolute;
    inset: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background-color: #000;
  }
  .p-lupex__minute .p-lupex__minute-label .-num {
    padding-bottom: 8px;
  }
  .p-lupex__minute .p-lupex__minute-label .-text {
    padding-left: 18px;
    padding-bottom: 8px;
    font-size: 18px;
  }
  .p-lupex__relatedWrapper {
    padding: 20px 0 120px !important;
  }
  .p-lupex__page-header {
    padding: 34px 0 62px;
    margin-bottom: 47px;
  }
  h1.p-lupex__page-header-ja {
    font-size: 40px;
  }
  .p-lupex__page-header-en {
    width: 106px;
  }
  .p-lupex__page-header-bgtext img {
    height: 87px;
  }
  .p-lupex__newsTopics {
    padding-bottom: 158px;
  }
  .p-lupex__newsTopics-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 72px 4.6%;
    margin-bottom: 80px;
  }
  .p-lupex__newsTopics-card-link {
    display: block;
  }
  .p-lupex__newsTopics-card-body .p-lupex__news-meta {
    margin-bottom: 12px;
  }
  .p-lupex__newsTopics-card-title {
    font-size: 16px;
  }
  .p-lupex__newsTopics-page-back {
    margin-top: 54px;
  }
  .p-lupex__newsDetails {
    padding: 120px 0;
  }
  .p-lupex__newsDetails .p-lupex__category {
    width: unset;
    height: auto;
  }
  .p-lupex__newsDetails .p-lupex__page-header {
    margin: 140px 0 90px 0;
  }
  .p-lupex__newsDetails .p-lupex__page-header-ja {
    line-height: 1.2;
    font-size: 40px;
  }
  .p-lupex__newsDetails .p-lupex__page-header-en {
    margin-bottom: 12px;
    width: 106px;
  }
  .p-lupex__newsDetails h1 {
    margin-top: 14px;
    font-size: 32px;
    margin-bottom: 50px;
    line-height: 1.4;
  }
  .p-lupex__newsDetails .p-lupex__newsDetails__meta {
    gap: 16px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents .hr,
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents del,
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents em {
    font-size: 16px;
    line-height: 1.8;
    letter-spacing: 0.02em;
    margin-bottom: 16px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents .p-lupex__newsDetails__eyecatch {
    margin-bottom: 64px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents > * {
    margin-bottom: 64px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents figure {
    margin-bottom: 48px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents h2 {
    margin-bottom: 48px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents h3 {
    margin-bottom: 28px;
  }
  .p-lupex__newsDetails article .p-lupex__newsDetails__contents h4 {
    margin-bottom: 24px;
  }
  .p-lupex__newsDetails article ol li + li {
    margin-top: 8px;
  }
  .p-lupex__newsDetails article ul li {
    padding-left: 16px;
  }
  .p-lupex__newsDetails article ul li + li {
    margin-top: 8px;
  }
  .p-lupex__newsDetails article figure figcaption {
    margin-top: 20px;
  }
  .p-lupex__newsDetails article blockquote {
    padding: 18px 20px;
  }
  .p-lupex__newsDetails .p-lupex__newsDetails__backWrapper {
    gap: 32px;
    margin-top: 100px;
  }
  .p-lupex__newsDetails .p-lupex__newsDetails__back-list {
    gap: 33px;
  }
  .p-lupex__aboutPage__related .p-lupex__related {
    margin: 140px auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px){
  .u-hiddenTb {
    display: none !important;
  }
  .p-lupex__news .p-lupex__news-header {
    flex-direction: row;
    justify-content: space-between;
  }
  .p-lupex__news .p-lupex__news-header .p-lupex__news-more {
    margin-top: 0;
  }
  .p-lupex__news .p-lupex__news-header .p-lupex__news-title {
    font-size: 42px;
  }
  .p-lupex__news .p-lupex__news-en {
    margin-left: 8px;
  }
  .p-lupex__minute-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 769px) and (max-width: 1100px){
  .l-header .l-header__nav {
    gap: 1.5vw;
  }
  .l-header .l-header__nav-list {
    gap: 1.5vw;
    font-size: clamp(11px, 1.3vw, 15px);
  }
  .l-header__btn {
    font-size: clamp(10px, 1.2vw, 14px);
    padding: 4px 1vw;
  }
}
@media (hover: hover){
  .p-lupex__btn:hover {
    background-color: #fff;
    color: #000;
  }
  .p-lupex__btn:hover .p-lupex__btn-icon {
    background-color: #000;
    color: #fff;
  }
}
@media screen and (max-width: 1099px){
  .p-lupex__news {
    padding: 64px 16px;
  }
  .p-lupex__news .p-lupex__news-inner {
    flex-direction: column;
    gap: 40px;
  }
  .p-lupex__news .p-lupex__news-header {
    width: 100%;
  }
  .p-lupex__news .p-lupex__news-body {
    padding: 0;
    gap: 10px;
  }
  .p-lupex__news .p-lupex__news-date {
    font-size: 10px;
  }
  .p-lupex__news .p-lupex__news-more {
    margin-top: 44px;
    font-size: 14px;
    gap: 24px;
  }
  .p-lupex__news .p-lupex__news-more .p-lupex__news-more-arrow {
    width: 30px;
    height: 30px;
  }
  .p-lupex__news .p-lupex__news-en {
    display: inline-block;
    margin-left: 5px;
    margin-bottom: 12px;
    aspect-ratio: 154/13;
  }
  .p-lupex__news .p-lupex__news-en img {
    height: 13px;
    -o-object-fit: contain;
       object-fit: contain;
  }
  .p-lupex__news .p-lupex__news-link {
    padding: 20px 0;
    gap: 12px;
    flex-direction: row;
  }
  .p-lupex__news .p-lupex__news-link:last-child {
    border-bottom: 1px solid rgba(1, 1, 2, 0.2);
  }
  .p-lupex__news .p-lupex__news-thumb {
    width: 100px;
    border-radius: 2px;
  }
  .p-lupex__news .p-lupex__news-item-title {
    font-size: 12px;
    line-height: 1.5;
  }
  .p-lupex__news .p-lupex__news-meta {
    font-size: 12px;
    justify-content: space-between;
    margin-bottom: 0;
  }
  .p-lupex__news .p-lupex__news-title {
    font-size: 24px;
    line-height: 1;
    font-weight: 500;
  }
}
@media (max-width: 600px){
  .p-lupex__news-thumb {
    width: 100%;
  }
}
@media screen and (max-width: 1199px) and (min-width: 768px){
  .p-lupex__about-content {
    max-width: 504px;
  }
  .p-lupex__gallery-item--4 {
    left: 7%;
    width: 10.5%;
  }
}
@media screen and (max-width: 1099px) and (min-width: 768px){
  .p-lupex__gallery-item--1 {
    width: 22.5%;
  }
  .p-lupex__gallery-item--3 {
    right: 5%;
    width: 9.5%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px){
  .p-lupex__minute .p-lupex__minute-label .-text {
    font-size: 14px;
  }
}
@media screen and (max-width: 767px) and (min-width: 768px){
  .p-lupex__minute .p-lupex__minute-item {
    padding: 22px 14px 21px 22px;
  }
}
@media (max-width: 960px){
  .p-lupex__science-visual {
    width: 100%;
  }
}
@media screen and (max-width: 610px) and (min-width: 300px){
  .p-lupex__aboutPage .p-lupex__aboutPage-isro-diagram {
    width: 631px;
  }
}