@charset "utf-8";

/*
 * Import
** ------------------------------------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');

/*
 * Property
** ------------------------------------------------------ */
:root {
  --DX_COLOR-WHITE: #FFF;
  --DX_COLOR-BLACK: #000;
  --DX_COLOR-GRAY-01: #333;
  --DX_COLOR-GRAY-02: #4C4949;
  --DX_COLOR-GRAY-03: #90928F;
  --DX_COLOR-GRAY-04: #C4C4C4;
  --DX_COLOR-GRAY-05: #F5F5F5;
  --DX_COLOR-GRAY-06: #F3F6F6;
  --DX_COLOR-GRAY-07: #E3E3E3;
  --DX_COLOR-BLUE-01: #1BB8CE;
  --DX_COLOR-BLUE-02: #21B8CE;
  --DX_COLOR-BLUE-03: #87D3DE;
  --DX_COLOR-RED: #E94729;

  /* フォント */
  --DX_FONTFAMILY-NOTO: "Noto Sans JP", sans-serif;
  --DX_FONTFAMILY-OSWALD: "Oswald", sans-serif;

  /* ホバー時 透過度 */
  --DX_OPACITY: 0.7;

  /* コンテンツサイズ */
  --DX_CONTENTS-WIDTH: 1200px;
}

/*
 * Reset
** ------------------------------------------------------ */
p {
  display: block;
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin-bottom: 0;
  font-weight: initial;
}

ul li, ol li {
  margin-bottom: 0;
}

a:hover, a:focus, a:active {
  color: var(--DX_COLOR-BLACK);
}

/*
 * Common
** ------------------------------------------------------ */
#dx {
  width: 100%;
  font-family: var(--DX_FONTFAMILY-NOTO);
  font-weight: 400;
  padding: 56px 0 100px;
}
@media print, screen and (min-width: 768px) {
  #dx {
    padding: 81px 0 100px;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  #dx {
    width: 1232px;
    padding: 81px 0 120px;
  }
}

@media print, screen and (max-width: 767px) {
  #dx .pcOnly {
    display: none;
  }
}
@media print, screen and (min-width: 768px) {
  #dx .spOnly {
    display: none;
  }
}

/* Title */
.p-section__title--type01 {
  color: var(--DX_COLOR-BLACK);
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 4px;
  text-align: left;
}
@media print, screen and (min-width: 768px) {
  .p-section__title--type01 {
      font-size: 3.75rem;
      letter-spacing: 6px;
  }
}

.p-section__subTitle--type01 {
  display: flex;
  align-items: center;
  margin-top: 16px;
  color: var(--DX_COLOR-GRAY-02);
  font-size: 1rem;
  letter-spacing: 1.6px;
  white-space: nowrap;
}
@media print, screen and (min-width: 768px) {
  .p-section__subTitle--type01 {
    font-size: 1.25rem;
    letter-spacing: 2px;
  }
}

.p-section__subTitle--type01-effect {
  display: block;
  height: 4px;
}
.p-section__subTitle--type01-effect01 {
  display: block;
  margin-left: 10px;
  width: 87px;
  background-color: var(--DX_COLOR-GRAY-02);
}
.p-section__subTitle--type01-effect02 {
  width: 12px;
  margin-left: 4px;
  background-color: var(--DX_COLOR-BLUE-02);
}
.p-section__subTitle--type01-effect03 {
  width: 12px;
  margin-left: 4px;
  background-color: var(--DX_COLOR-RED);
}

.p-section__title--type02 {
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: 2.4px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-section__title--type02 {
    padding-left: 85px;
    font-size: 2.5rem;
    letter-spacing: 4px;
  }
}

.p-section__title--type02-effect {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  height: 4px;
  margin-top: 12px;
}

.p-section__title--type02-effect::before,
.p-section__title--type02-effect::after {
  content: '';
  display: block;
  width: 24px;
  height: 100%;
}
.p-section__title--type02-effect::before {
  background-color: var(--DX_COLOR-RED);
}
.p-section__title--type02-effect::after {
  background-color: var(--DX_COLOR-BLUE-01);
}

/* Label */
.p-contents__label--type01 {
  margin-bottom: 24px;
  color: var(--DX_COLOR-RED);
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .p-contents__label--type01 {
    margin-bottom: 40px;
    font-size: 2.5rem;
  }
  .p-contents__label--type01-min {
    font-size: 2.125rem;
  }
}

.p-contents__label--type02 {
  position: relative;
  padding-left: 32px;
  color: var(--DX_COLOR-BLACK);
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 1.25rem;
  line-height: 1.9;
  letter-spacing: 2px;
}
@media print, screen and (min-width: 768px) {
  .p-contents__label--type02 {
    padding-left: 56px;
    font-size: 1.75rem;
    line-height: 1.75;
    letter-spacing: 2.8px;
  }
}

.p-contents__label--type02::before,
.p-contents__label--type02::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  border-radius: 100%;
}
.p-contents__label--type02::before {
  left: 0;
  width: 24px;
  height: 24px;
  background-color: var(--DX_COLOR-RED);
  z-index: 1;
}
.p-contents__label--type02::after {
  left: 6px;
  width: 12px;
  height: 12px;
  background-color: var(--DX_COLOR-WHITE);
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-contents__label--type02::before {
    width: 32px;
    height: 32px;
  }
  .p-contents__label--type02::after {
    left: 10px;
  }
}

/* Text */
.p-contents__text {
  color: var(--DX_COLOR-BLACK);
  font-size: 0.875rem;
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .p-contents__text {
    font-size: 1rem;
  }
}

.p-contents__text--minimum {
  color: var(--DX_COLOR-GRAY-02);
  font-size: 0.75rem;
}
@media print, screen and (min-width: 768px) {
  .p-contents__text--minimum {
    font-size: .875rem;
  }
}

/* Button */
.p-contents__button-wrap {
  margin-top: 24px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-contents__button-wrap {
    margin-top: 40px;
  }
}

.p-contents__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 250px;
  margin: auto;
  padding: 16px 24px;
  color: var(--DX_COLOR-WHITE);
  font-size: 0.875rem;
  line-height: 1.75;
  letter-spacing: 1.4px;
  border-radius: 32px;
  border: 1px solid var(--DX_COLOR-WHITE);
  background-color: var(--DX_COLOR-GRAY-02);
}

.p-contents__button:hover,
.p-contents__button:focus,
.p-contents__button:active {
  color: var(--DX_COLOR-WHITE);
}
@media print, screen and (min-width: 768px) {
  .p-contents__button:hover,
  .p-contents__button:focus,
  .p-contents__button:active {
    color: var(--DX_COLOR-GRAY-02);
    border: 1px solid var(--DX_COLOR-GRAY-02);
    background-color: var(--DX_COLOR-WHITE);
  }
}

.p-contents__icon {
  width: 10px;
  height: 10px;
  background-color: var(--DX_COLOR-WHITE);
  mask-size: 100%;
  mask-repeat: no-repeat;
}
@media print, screen and (min-width: 768px) {
  .p-contents__button:hover .p-contents__icon,
  .p-contents__button:focus .p-contents__icon,
  .p-contents__button:active .p-contents__icon {
    filter: brightness(0) saturate(100%) invert(27%) sepia(2%) saturate(464%) hue-rotate(314deg) brightness(98%) contrast(85%);
  }
}

.p-contents__icon--arrow {
  width: 10px;
  height: 10px;
  -webkit-mask-image: url('/pickups/img/dx/icon-arrow-01.svg');
  mask-image: url('/pickups/img/dx/icon-arrow-01.svg');
}

.p-contents__icon--pdf {
  width: 32px;
  height: 18px;
  -webkit-mask-image: url('/pickups/img/dx/icon-pdf-01.svg');
  mask-image: url('/pickups/img/dx/icon-pdf-01.svg');
}

/*
 * Side Menu
** ------------------------------------------------------ */
.p-menu {
  display: none;
}
@media print, screen and (min-width: 768px) {
  .p-menu {
    display: block;
    position: fixed;
    top: 81px;
    right: 0;
    width: 123px;
    padding-top: 24px;
    line-height: 1;
    transition: opacity 0.3s;
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
    z-index: 9999;
  }

  .p-menu.is-show {
    opacity: 1;
    pointer-events: initial;
    visibility: visible;
  }

  .p-menu-list {
    background-color: var(--DX_COLOR-WHITE);
  }

  .p-menu-list__item + .p-menu-list__item {
    margin-top: 12px;
  }

  .p-menu__link {
    display: block;
    margin: 5px 0;
    padding: 8px 0 8px 8px;
    color: var(--DX_COLOR-BLACK);
    font-size: 0.8125rem;
    text-decoration: none;
  }
  .p-menu__link:hover,
  .p-menu__link:focus,
  .p-menu__link:active {
    width: 100%;
    font-weight: 500;
    box-shadow: 6px 0 10px 0 rgba(0, 0, 0, 0.20);
  }
}

@media print, screen and (min-width: 1550px) {
  .p-menu {
    width: 160px;
  }

  .p-menu__link {
    font-size: 1.125rem;
  }
}

/*
 * Contents
** ------------------------------------------------------ */
.p-section {
  width: 100%;
  overflow: hidden;
}

.p-section_inner {
  width: 100%;
}

/* MV */
.p-mv {
  position: relative;
  background: url(/pickups/img/dx/img-mv-sp-01.jpg) no-repeat center / cover;
}
@media print, screen and (min-width: 768px) {
  .p-mv {
    background: url(/pickups/img/dx/img-mv-01.jpg) no-repeat center / cover;
  }
}

.p-mv::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(76, 73, 73, 0.4);
  z-index: 1;
}

.p-mv__inner {
  display: flex;
  justify-content: flex-end;
  flex-direction: column;
  height: 100%;
}

.p-mv__box--01 {
  position: relative;
  padding: 100px 16px 0;
  z-index: 3;
}
@media print, screen and (min-width: 768px) {
  .p-mv__box--01 {
    padding: 80px 16px 0;
  }
}

.p-mv__lead {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding-bottom: calc(70 * (100vw / 375));
}
@media print, screen and (min-width: 768px) {
  .p-mv__lead {
    padding-bottom: 60px;
  }
}

.p-mv__logo {
  width: calc(281 * (100vw / 375));
}
@media print, screen and (max-width: 375px) {
  .p-mv__logo {
    width: 281px;
  }
}
@media print, screen and (min-width: 768px) {
  .p-mv__logo {
    width: 467px;
  }
}

.p-mv__text {
  display: block;
  position: relative;
  padding-top: 20px;
  color: var(--DX_COLOR-WHITE);
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: 4px;
  text-align: center;
}
@media print, screen and (min-width: 768px) {
  .p-mv__text {
    padding-top: 32px;
    font-size: 3.75rem;
    letter-spacing: 6px;
  }
}

.p-mv__text::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 60px;
  height: 1px;
  margin: auto;
  background-color: var(--DX_COLOR-WHITE);
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-mv__text::before {
    width: 100px;
  }
}

.p-mv__box--02 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  padding-left: 16px;
  z-index: 3;
}
@media print, screen and (min-width: 768px) {
  .p-mv__box--02 {
    justify-content: flex-end;
    padding-left: 0;
  }
}

.p-mv__tabLink {
  display: flex;
  align-items: center;
  margin: 24px 16px 24px 0;
  color: var(--DX_COLOR-WHITE);
  font-size: 0.75rem;
  line-height: 1.75;
  letter-spacing: 1.2px;
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  .p-mv__tabLink {
    margin: calc(42 * (100vw / 1366)) 40px calc(42 * (100vw / 1366)) 0;
    font-size: 1rem;
    letter-spacing: 1.6px;
  }
}

.p-mv__tabLink:hover,
.p-mv__tabLink:focus,
.p-mv__tabLink:active {
  color: var(--DX_COLOR-WHITE);
}
@media print, screen and (min-width: 768px) {
  .p-mv__tabLink:hover,
  .p-mv__tabLink:focus,
  .p-mv__tabLink:active {
    opacity: var(--DX_OPACITY);
  }
}

.p-mv__tabLink::before {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  margin-right: 8px;
  background: url(/pickups/img/dx/icon-arrow-01.svg) no-repeat center / 100%;
}
@media print, screen and (min-width: 768px) {
  .p-mv__tabLink::before {
    width: 16px;
    height: 16px;
    margin-right: 16px;
  }
}

.p-mv__tabLink::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  margin: 2px 6px 0 0;
  background: url(/pickups/img/dx/icon-link-01.svg) no-repeat center / 100%;
}
@media print, screen and (min-width: 768px) {
  .p-mv__tabLink::after {
    width: 14px;
    height: 14px;
  }
}

.p-mv__license {
  width: 76px;
  height: 73px;
}
@media print, screen and (min-width: 768px) {
  .p-mv__license {
    width: calc(123 * (100vw / 1366));
    height: calc(117 * (100vw / 1366));
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-mv__license {
    width: 123px;
    height: 117px;
  }
}

.p-mv__effect {
  position: absolute;
  right: 0;
  bottom: -106px;
  width: 320px;
  height: 380px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-mv__effect {
    right: 0;
    bottom: 0;
    width: calc(1290 * (100vw / 1366));
    height: calc(500 * (100vw / 1366));
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-mv__effect {
    width: 1290px;
    height: 500px;
  }
}

/* News */
.p-news {
  margin-top: 40px;
  padding: 0 16px;
}
@media print, screen and (min-width: 768px) {
  .p-news {
    max-width: var(--DX_CONTENTS-WIDTH);
    margin: 80px auto 0;
    padding: 0 40px 0 0;
  }
}

.p-news__inner {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
@media print, screen and (min-width: 768px) {
  .p-news__inner {
    flex-direction: row;
    gap: calc(80 * (100vw / 1366));
  }
}

.p-news-list {
  width: 100%;
  height: calc(113px * 3);
  padding-right: 14px;
  overflow: auto;
}
@media print, screen and (min-width: 768px) {
  .p-news-list {
    height: calc(63px * 3);
    padding-right: 16px;
  }
}

.p-news-list::-webkit-scrollbar {
  width: 2px;
}
.p-news-list::-webkit-scrollbar-thumb {
  background-color: var(--DX_COLOR-RED);
}
.p-news-list::-webkit-scrollbar-track {
  background-color: var(--DX_COLOR-GRAY-03);
}

.p-news-list__items {
  border-top: 1px solid var(--DX_COLOR-GRAY-03);
}

.p-news-list__item {
  border-bottom: 1px solid var(--DX_COLOR-GRAY-03);
}

.p-news-list__item-link {
  display: flex;
  flex-direction: column;
  gap: 8px 25px;
  padding: 16px 0;
}
@media print, screen and (min-width: 768px) {
  .p-news-list__item-link {
    align-items: center;
    flex-direction: row;
  }
}

@media print, screen and (min-width: 768px) {
  .p-news-list__item-link:hover,
  .p-news-list__item-link:focus,
  .p-news-list__item-link:active {
    position: relative;
    padding: 16px 0 16px 27px;
  }

  .p-news-list__item-link:hover::before,
  .p-news-list__item-link:focus::before,
  .p-news-list__item-link:active::before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    width: 8px;
    height: 8px;
    border-radius: 100px;
    background-color: var(--DX_COLOR-GRAY-02);
    z-index: 1;
  }
}

.p-news-list__item + .p-news-list__item .p-news-list__item-link {
  margin-top: 8px;
}
@media print, screen and (min-width: 768px) {
  .p-news-list__item + .p-news-list__item .p-news-list__item-link {
    margin-top: 0;
  }
}

.p-news_date {
  color: var(--DX_COLOR-BLACK);
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 1rem;
  letter-spacing: 1.6px;
}
@media print, screen and (min-width: 768px) {
  .p-news_date {
    font-size: 1.125rem;
    letter-spacing: 1.8px;
  }
}

.p-news_label {
  color: var(--DX_COLOR-BLACK);
  font-size: 0.875rem;
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .p-news_label {
    font-size: 1rem;
  }
}

/* Message */
.p-message {
  position: relative;
  margin-top: 40px;
  padding: 72px 0 40px;
  background-color: var(--DX_COLOR-GRAY-05);
}
@media print, screen and (min-width: 768px) {
  .p-message {
    margin-top: 101px;
    padding: 80px 0 92px;
  }
}

.p-message__inner {
  position: relative;
  margin: auto;
  padding: 0 16px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-message__inner {
    max-width: 1206px;
    padding: 0;
  }
}

.p-message__effect {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(466 * (100vw / 375));
  background: url(/pickups/img/dx/bg-message-sp-01.png) no-repeat center / 100%;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-message__effect {
    height: calc(690 * (100vw / 1366));
    background: url(/pickups/img/dx/bg-message-01.png) no-repeat center / 100%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-message__effect {
    height: 690px;
  }
}

.p-message__contents {
  position: relative;
  margin-top: 32px;
}
@media print, screen and (min-width: 768px) {
  .p-message__contents {
    display: flex;
    margin-top: 48px;
    padding-right: 45px;
  }
}

.p-message__image--01 {
  width: calc(310 * (100vw / 375));
}
@media print, screen and (min-width: 768px) {
  .p-message__image--01 {
    width: 813px;
  }
}

.p-message__detail {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  flex-direction: column;
  gap: 32px;
  position: relative;
  margin: calc(-202 * (100vw / 375)) 0 0 0;
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-message__detail {
    gap: 48px;
    margin: 52px 0 0 -339px;
  }
}

.p-message__textBox {
  width: calc(327 * (100vw / 375));
  padding: 16px;
  background-color: var(--DX_COLOR-WHITE);
}
@media print, screen and (min-width: 768px) {
  .p-message__textBox {
    max-width: 687px;
    width: 100%;
    padding: 40px;
  }
}

.p-contents__text + .p-contents__text {
  margin-top: 16px;
}
@media print, screen and (min-width: 768px) {
  .p-contents__text + .p-contents__text {
    margin-top: 24px;
  }
}

.p-message__job {
  color: var(--DX_COLOR-BLACK);
  margin-bottom: 16px;
  font-size: 0.875rem;
  line-height: 1;
}
@media print, screen and (min-width: 768px) {
  .p-message__job {
    font-size: 1.125rem;
    line-height: 1.75;
  }
}

.p-message__image--02 {
  width: 208px;
}
@media print, screen and (min-width: 768px) {
  .p-message__image--02 {
    width: 276px;
  }
}

/* Vision */
.p-vision__top {
  position: relative;
  z-index: 1;
}

.p-vision__top-box {
  position: relative;
  padding: 72px 16px calc(394 * (100vw / 375));
}
@media print, screen and (min-width: 768px) {
  .p-vision__top-box {
    max-width: var(--DX_CONTENTS-WIDTH);
    width: 100%;
    margin: auto;
    padding: 80px 0 200px;
  }
}

.p-vision__effect--01 {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(450 * (100vw / 375));
  z-index: -1;
}
@media print, screen and (min-width: 768px) {
  .p-vision__effect--01 {
    top: 0;
    right: -10px;
    bottom: initial;
    max-width: calc(1043 * (100vw / 1366));
    height: 100%;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-vision__effect--01 {
    max-width: 1043px;
  }
}

.p-vision__effect--02 {
  position: absolute;
  right: 16px;
  bottom: 46px;
  width: calc(294 * (100vw / 375));
  height: calc(290 * (100vw / 375));
  z-index: 0;
}
@media print, screen and (min-width: 768px) {
  .p-vision__effect--02 {
    top: 450px;
    right: 38px;
    bottom: initial;
    width: 590px;
    height: 580px;
  }
}

@media print, screen and (min-width: 768px) {
  .p-vision__circle {
    position: absolute;
    left: -85px;
    bottom: -62px;
    width: 277px;
    height: 277px;
    z-index: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .p-vision__top-box-inner {
    width: 560px;
  }
}

.p-vision__textBox {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-vision__textBox {
    margin-top: 48px;
  }
}

.p-vision__bottom {
  position: relative;
  padding-bottom: 56px;
  background: url(/pickups/img/dx/bg-vision-sp-02.jpg) no-repeat center / cover;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-vision__bottom {
    width: 100%;
    padding-bottom: 72px;
    background: url(/pickups/img/dx/bg-vision-02.jpg) no-repeat center / cover;
  }
}

.p-vision__bottom::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(35, 46, 51, 0.80);
  z-index: 1;
}

.p-vision__bottom-box {
  position: relative;
  padding: 0 16px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-vision__bottom-box {
    max-width: var(--DX_CONTENTS-WIDTH);
    width: 100%;
    margin: auto;
    padding: 0;
  }
}

.p-vision-list {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 8px 20px;
  transform: translateY(-20px);
}
@media print, screen and (min-width: 768px) {
  .p-vision-list {
    align-items: stretch;
    flex-direction: row;
    transform: translateY(-93px);
  }
}

.p-vision-list__item {
  display: flex;
  align-items: center;
  gap: 16px;
  width: 100%;
  padding: 16px;
  background-color: var(--DX_COLOR-WHITE);
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
}
@media print, screen and (min-width: 768px) {
  .p-vision-list__item {
    flex-direction: column;
    gap: 0;
    padding: 0;
  }
}

.p-vision-list__item-image {
  width: 50px;
}
@media print, screen and (min-width: 768px) {
  .p-vision-list__item-image {
    width: 100%;
    height: 160px;
    padding: 20px;
  }
}

.p-vision-list__item-text {
  color: var(--DX_COLOR-GRAY-01);
  font-size: 0.875rem;
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .p-vision-list__item-text {
    padding: 16px;
    font-size: 1rem;
    text-align: center;
  }
}

@media print, screen and (min-width: 768px) {
  .p-vision__text {
    color: var(--DX_COLOR-WHITE);
    font-family: var(--DX_FONTFAMILY-OSWALD);
    font-size: 1.25rem;
    line-height: 2;
    letter-spacing: 2px;
    text-align: center;
  }
}

/* Strategy */
.p-strategy {
  position: relative;
  z-index: 2;
}

@media print, screen and (min-width: 768px) {
  .p-strategy__circle {
    position: absolute;
    top: -214px;
    right: -227px;
    width: 467px;
    height: 466px;
    z-index: 0;
  }
}

.p-strategy__box--01 {
  position: relative;
  width: 100%;
  padding: 72px 16px 40px;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--01 {
    max-width: var(--DX_CONTENTS-WIDTH);
    margin: auto;
    padding: 82px 0 120px;
  }
}

.p-strategy__box--01 .p-strategy__box-contents {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--01 .p-strategy__box-contents {
    width: 1040px;
    margin: 48px auto 0;
  }
}

.p-strategy__box--01 .p-strategy__image {
  width: 100%;
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--01 .p-strategy__image {
    margin-top: 100px;
    padding: 0 8px;
  }
}

.p-strategy__box--02 {
  position: relative;
  margin: auto;
  padding: 40px 0 0 0;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--02 {
    max-width: calc(var(--DX_CONTENTS-WIDTH) + 85px);
    padding: 68px 40px 0 0;
    transform: translateX(-42.5px);
  }
}

.p-strategy__box--02 > * {
  position: relative;
  z-index: 2;
}

.p-strategy__box--02::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: calc(100% - 123px);
  background-color: var(--DX_COLOR-GRAY-06);
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--02::before {
    width: calc(100% - 85px);
    height: calc(100% - 112px);
  }
}

.p-strategy__box--02 .p-strategy__box-contents {
  display: flex;
  flex-direction: column-reverse;
  gap: 40px 56px;
  margin-top: 32px;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--02 .p-strategy__box-contents {
    justify-content: center;
    flex-direction: row;
    margin-top: 51px;
    padding-bottom: 78px;
  }
}

.p-strategy__box--02 .p-strategy__image {
  width: calc(329 * (100vw / 375));
  height: fit-content;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--02 .p-strategy__image {
    width: 680px;
  }
}

.p-strategy__box--02 .p-strategy__textBox {
  padding: 0 16px;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__box--02 .p-strategy__textBox {
    padding: 88px 0 0;
  }
}

.p-strategy__label {
  margin-bottom: 16px;
  color: var(--DX_COLOR-GRAY-02);
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.8;
}
@media print, screen and (min-width: 768px) {
  .p-strategy__label {
    margin-bottom: 24px;
    font-size: 1.75rem;
  }
}

/* Bg */
@media print, screen and (min-width: 768px) {
  .p-bg {
    position: relative;
    z-index: 1;
  }

  .p-bg__effect {
    position: absolute;
    top: -138px;
    right: 0;
    width: 1210px;
    height: 610px;
    z-index: 1;
  }
}

/* Initiatives */
.p-initiatives {
  position: relative;
  padding: 88px 0 64px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives {
    padding: 185px 0 100px;
  }
}

.p-initiatives__bgText {
  position: absolute;
  top: 48px;
  left: -11px;
  color: var(--DX_COLOR-GRAY-07);
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 5rem;
  line-height: 1;
  letter-spacing: 4px;
  white-space: nowrap;
  z-index: 3;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__bgText {
    left: -25px;
    right: 0;
    width: 1420px;
    margin: auto;
    font-size: 12.5rem;
    letter-spacing: 10px;
  }
}

.p-initiatives__inner {
  position: relative;
  padding-top: 64px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__inner {
    padding-top: 148px;
  }
}

.p-initiatives__inner::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 264px;
  height: 1497px;
  background-color: var(--DX_COLOR-GRAY-06);
  z-index: 1;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__inner::before {
    width: 902px;
    height: calc(1454 * (100vw / 1366));
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-initiatives__inner::before {
    height: 1454px;
  }
}

.p-initiatives__contents {
  position: relative;
  padding-left: 16px;
  z-index: 2;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__contents {
    padding-left: 83px;
  }
}

.p-initiatives__contents-inner {
  padding: 72px 0 20px;
  background-color: var(--DX_COLOR-WHITE);
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__contents-inner {
    padding: 80px 0 80px 80px;
  }
}

.p-initiatives__box--01 {
  padding: 0 16px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__box--01 {
    margin-left: calc((100vw - var(--DX_CONTENTS-WIDTH)) / 2 - (83px + 80px));
    padding: 0 calc((100vw - var(--DX_CONTENTS-WIDTH)) / 2) 0 0;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1550px) {
  .p-initiatives__box--01 {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-initiatives__box--01 {
    padding: 0 80px 0 0;
  }
}

.p-initiatives__textBox {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__textBox {
    margin-top: 48px;
  }
}

.p-initiatives__textBox .p-contents__label--type02 + .p-contents__text {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__textBox .p-contents__label--type02 + .p-contents__text {
    margin-top: 32px;
  }
}

.p-initiatives__box--02 {
  position: relative;
  margin-top: 40px;
  padding-left: 16px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__box--02 {
    margin: 48px 0 0 calc((100vw - var(--DX_CONTENTS-WIDTH)) / 2 - (83px + 80px));
    padding-left: 0;
    padding-bottom: 26px;
    overflow: hidden;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1550px) {
  .p-initiatives__box--02 {
    margin: 48px 0 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .p-initiatives__box--02 .p-contents__label--type02 {
    width: 1080px;
  }
}

.p-initiatives__carousel {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel {
    margin-top: 32px;
    overflow: visible !important;
  }
}

.p-initiatives__carousel-slide {
  height: auto !important;
  background-color: var(--DX_COLOR-WHITE);
}

.p-initiatives__carousel-slide-link {
  display: block;
  height: 100%;
  box-shadow: 0 6px 20px 0 rgba(0, 0, 0, 0.15);
  transition: opacity 0.3s, box-shadow 0.3s;
}
.p-initiatives__carousel-slide-link:focus-visible {
  border: 1px solid #000;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel-slide-link:hover {
    box-shadow: none;
    opacity: 0.8;
  }
}

.p-initiatives__carousel-image {
  width: 100%;
  aspect-ratio: 160/99;
  object-fit: contain;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel-image {
    aspect-ratio: 400/247;
  }
}

.p-initiatives__carousel-detail {
  padding: 16px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel-detail {
    padding: 24px 16px;
  }
}

.p-initiatives__carousel-label {
  color: var(--DX_COLOR-BLACK);
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 1.8px;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel-label {
    font-size: 1.5rem;
    letter-spacing: 2.4px;
  }
}

.p-initiatives__carousel-text {
  margin-top: 6px;
  color: var(--DX_COLOR-BLACK);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 1.4px;
}

.p-initiatives__carousel-tag-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 6px;
}

.p-initiatives__carousel-tag {
  color: var(--DX_COLOR-GRAY-02);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 1.4px;
}

.p-initiatives__carousel-counter-box {
  display: flex;
  align-items: center;
  gap: 34px;
}

.p-initiatives__carousel-counter {
  display: block;
  min-width: 20px;
  color: var(--DX_COLOR-GRAY-02);
  font-family: var(--DX_FONTFAMILY-OSWALD);
  font-size: 1rem;
  font-weight: 300;
  line-height: normal;
  letter-spacing: 1.6px;
  text-align: center;
}

.p-initiatives__carousel-counter--current {
  font-weight: 500;
}

.p-initiatives__carousel-counter-span {
  display: block;
  width: 37px;
  height: 1px;
  background-color: var(--DX_COLOR-BLACK);
}

.p-initiatives__carousel-control {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 34px;
  margin-top: 24px;
  padding: 0 16px 20px 0;
}
@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel-control {
    justify-content: flex-start;
    position: absolute;
    top: -80px;
    right: calc((100vw - var(--DX_CONTENTS-WIDTH)) / 2);
    margin-top: 0;
    padding: 0;
    z-index: 1;
  }
}
@media print, screen and (min-width: 768px) and (max-width: 1232px) {
  .p-initiatives__carousel-control {
    right: 80px;
  }
}

.p-initiatives__carousel-pagination-button {
  position: relative;
  min-width: 48px;
  min-height: 48px;
  border: 0;
  border-radius: 100px;
  background-color: var(--DX_COLOR-WHITE);
  box-shadow: 1px 3px 10px 0px rgba(0, 0, 0, 0.10);
  transition: background-color 0.3s;
}

.p-initiatives__carousel-pagination-button::before {
  content: '';
  display: block;
  position: absolute;
  inset: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-top: 1px solid var(--DX_COLOR-RED);
  border-left: 1px solid var(--DX_COLOR-RED);
  transition: border-color 0.3s;
  z-index: 1;
}

.p-initiatives__carousel-pagination-button--prev {
  transform: rotate(-45deg);
}

.p-initiatives__carousel-pagination-button--next {
  transform: rotate(135deg);
}

@media print, screen and (min-width: 768px) {
  .p-initiatives__carousel-pagination-button:hover, .p-initiatives__carousel-pagination-button:focus, .p-initiatives__carousel-pagination-button:active {
    background-color: var(--DX_COLOR-RED);
  }

  .p-initiatives__carousel-pagination-button:hover::before, .p-initiatives__carousel-pagination-button:focus::before, .p-initiatives__carousel-pagination-button:active::before {
    border-color: var(--DX_COLOR-WHITE);
  }
}

/* System */
.p-system {
  margin: 72px auto 0;
  padding: 0 16px;
}
@media print, screen and (min-width: 768px) {
  .p-system {
    display: flex;
    justify-content: center;
    gap: 48px;
    max-width: var(--DX_CONTENTS-WIDTH);
    margin: 80px auto 0;
    padding: 0 40px 0 0;
  }
}

@media print, screen and (min-width: 768px) {
  .p-system__box {
    width: 580px;
  }
}

.p-system__textBox {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-system__textBox {
    margin-top: 48px;
  }
}

.p-system__image {
  width: 100%;
  height: fit-content;
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-system__image {
    width: 551px;
    margin-top: 0;
    padding-top: 96px;
  }
}

/* Development */
.p-development {
  margin: 72px auto 0;
  padding: 0 16px;
}
@media print, screen and (min-width: 768px) {
  .p-development {
    max-width: var(--DX_CONTENTS-WIDTH);
    margin: 80px auto 0;
    padding: 0 40px 0 0;
  }
}

.p-development__box--01 {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-development__box--01 {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    margin-top: 48px;
  }
}

.p-development__box--01 .p-development__image {
  width: 100%;
}
@media print, screen and (min-width: 768px) {
  .p-development__box--01 .p-development__image {
    width: 476px;
  }
}

.p-development__textBox {
  margin-top: 32px;
}
@media print, screen and (min-width: 768px) {
  .p-development__textBox {
    width: 636px;
    margin-top: 0;
  }
}

.p-development__box--02 {
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .p-development__box--02 {
    margin-top: 48px;
  }
}

.p-development__box--02 .p-development__image {
  width: 100%;
  margin: 40px auto 0;
}
@media print, screen and (min-width: 768px) {
  .p-development__box--02 .p-development__image {
    margin: 100px auto 0;
  }
}

.p-development__table {
  margin-top: 24px;
}
@media print, screen and (min-width: 768px) {
  .p-development__table {
    margin-top: 40px;
  }
}

.p-development__table-box {
  display: flex;
  align-items: stretch;
  gap: 16px;
}

.p-development__table-box + .p-development__table-box {
  border-top: 1px solid var(--DX_COLOR-BLACK);
}
@media print, screen and (min-width: 768px) {
  .p-development__table-box + .p-development__table-box {
    border-top: 0;
  }
}

.p-development__table-head {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  padding: 16px;
  color: var(--DX_COLOR-BLACK);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 1.4px;
  text-align: center;
  border-top: 1px solid var(--DX_COLOR-BLACK);
}
@media print, screen and (min-width: 768px) {
  .p-development__table-head {
    width: 174px;
    padding: 16px 6px;
    font-size: 1.125rem;
    letter-spacing: 1.8px;
    border-bottom: 1px solid var(--DX_COLOR-BLACK);
  }
}

@media print, screen and (min-width: 768px) {
  .p-development__table-item {
    display: flex;
    align-items: stretch;
    gap: 16px;
  }
}

.p-development__table-label {
  display: flex;
  align-items: center;
  padding: 20px 16px;
  color: var(--DX_COLOR-BLACK);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.75;
}
@media print, screen and (min-width: 768px) {
  .p-development__table-label {
    width: 441px;
    padding: 30px 16px;
    font-size: 1rem;
    border-bottom: 1px solid var(--DX_COLOR-BLACK);
  }
}

.p-development__table-item-wrap .p-development__table-label {
  border-top: 1px solid var(--DX_COLOR-BLACK);
}
@media print, screen and (min-width: 768px) {
  .p-development__table-item-wrap .p-development__table-label {
    width: 251px;
    border-top: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .p-development__table-item-wrap .p-development__table-item:first-of-type .p-development__table-label {
    border-top: 1px solid var(--DX_COLOR-BLACK);
  }
}

.p-development__table-text {
  display: flex;
  align-items: center;
  padding: 20px 16px;
  color: var(--DX_COLOR-GRAY-02);
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.75;
  border-top: 1px solid var(--DX_COLOR-GRAY-04);
  border-bottom: 1px solid var(--DX_COLOR-GRAY-04);
}
@media print, screen and (min-width: 768px) {
  .p-development__table-text {
    width: 703px;
    padding: 24px 16px;
    font-size: 1rem;
    border-top: 0;
  }
}

.p-development__table-item-wrap .p-development__table-text {
  border-bottom: 0;
}
@media print, screen and (min-width: 768px) {
  .p-development__table-item-wrap .p-development__table-text {
    border-bottom: 1px solid var(--DX_COLOR-GRAY-04);
  }
}

@media print, screen and (min-width: 768px) {
  .p-development__table-item-wrap .p-development__table-item:first-of-type .p-development__table-text {
    border-top: 1px solid var(--DX_COLOR-GRAY-04);
  }
}
