@charset "UTF-8";
.dx-content button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0;
  appearance: none;
}
.dx-content img {
  height: auto;
  vertical-align: bottom;
}

.pconly {
  display: block;
}
@media screen and (max-width: 767px) {
  .pconly {
    display: none;
  }
}

.dx-ib {
  display: inline-block;
}

.dx-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.dx-c-text {
  line-height: 1.8;
}
.dx-heading + .dx-c-text {
  margin-top: 4px;
}
.dx-c-text.-large {
  font-size: 1.125rem;
}
@media screen and (max-width: 767px) {
  .dx-c-text.-large {
    font-size: 1rem;
  }
}
.dx-c-text.-small {
  font-size: 0.875rem;
}
.dx-c-text.-center {
  text-align: center;
}

.dx-c-note {
  display: inline-block;
  padding-left: 1em;
  position: relative;
}
.dx-c-note::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

.dx-width-small {
  max-width: 995px;
  margin: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 767px) {
  .dx-width-small {
    padding-left: 0;
    padding-right: 0;
  }
}

.dx-sec {
  padding-top: 96px;
  max-width: 1274px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .dx-sec {
    padding-top: 64px;
  }
}

@media screen and (max-width: 767px) {
  .dx-sec_inner {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.dx-sec_content {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .dx-sec_content {
    margin-top: 40px;
  }
}

.dx-heading {
  display: flex;
  align-items: center;
  gap: 24px;
  background: none;
}
.dx-heading span {
  font-size: 2.5rem;
  font-weight: bold;
  background: none;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .dx-heading {
    margin: 0 !important;
    gap: 12px;
  }
  .dx-heading span {
    font-size: 1.5rem;
  }
}

.dx-sec_head-icon {
  width: 64px;
  height: 64px;
}
@media screen and (max-width: 767px) {
  .dx-sec_head-icon {
    width: 40px;
    height: 40px;
  }
}

.dx-heading02 {
  margin-top: 64px;
  margin-bottom: 0;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .dx-heading02 {
    margin-top: 40px;
  }
}

.dx-sec_head-icon02 {
  width: 40px;
  height: 30px;
}

.dx-heading02-txt {
  display: block;
  margin-top: 4px;
  text-align: center;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: bold;
  color: #0c0c0c;
}
@media screen and (max-width: 767px) {
  .dx-heading02-txt {
    font-size: 1.125rem;
  }
}

.dx-heading03 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .dx-heading03 {
    flex-wrap: wrap;
  }
}

.dx-heading03_text {
  padding: 4px 0 0 24px;
  border-left: 5px solid #CC0000;
}
@media screen and (max-width: 767px) {
  .dx-heading03_text {
    width: 100%;
    padding: 4px 0 0 12px;
  }
  .dx-heading03_text img {
    width: 100%;
    max-width: 316px !important;
  }
}

.dx-heading03_label {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  min-width: 138px;
  min-height: 40px;
  color: #fff;
  background: #0C0C0C;
  font-size: 1.125rem;
  font-weight: 400;
  border-radius: 4px;
}
@media screen and (max-width: 767px) {
  .dx-heading03_label {
    margin-left: auto;
    min-height: 0;
    margin-top: 6px;
    padding: 4px;
    font-size: 1rem;
  }
}

.dx-heading04 {
  margin: 0;
  color: #0C0C0C;
}

.dx-heading04_label {
  display: flex;
  align-items: center;
  gap: 4px;
}
.dx-heading04_label span {
  font-size: 1.125rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .dx-heading04_label span {
    font-size: 1rem;
    font-weight: bold;
  }
}

.dx-heading04_icon {
  width: 15px;
  height: 20px;
}

.dx-heading04_text {
  display: block;
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .dx-heading04_text {
    margin-top: 20px;
  }
  .dx-heading04_text.-tokyo img {
    max-width: 220px !important;
  }
  .dx-heading04_text.-osaka img {
    max-width: 223px !important;
  }
}

.dx-heading05 {
  margin: 0;
  text-align: center;
  background: none;
  color: #0C0C0C;
}
.dx-heading05 > span {
  display: block;
  margin-top: 8px;
  background: none;
  text-align: center;
  font-size: 2.5rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .dx-heading05 {
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 12px;
    text-align: left;
  }
  .dx-heading05 > span {
    padding: 0;
    margin-top: 0;
    font-size: 1.5rem;
  }
}

#topMovie {
  aspect-ratio: 3/1;
  filter: drop-shadow(0px 0px #000);
}

#movieControl {
  margin: 0 auto;
}

#movieControlIn {
  padding-bottom: 64px;
  position: relative;
}

#movieControl #movieControlIn ul {
  margin-right: 15px;
  width: auto;
}

.dx-movie_btn-list {
  position: absolute;
  right: 0;
  top: 8px;
}

.dx-movie_btn {
  display: none;
}

.dx-movie_btn.current {
  display: block;
  color: #0C0C0C;
}
@media (min-width: 768px) {
  .dx-movie_btn.current:hover {
    color: #CC0000;
  }
}

.dx-movie_icon {
  width: 44px;
  height: 44px;
}

@media screen and (max-width: 767px) {
  .mv-movie {
    display: none;
  }
}

.dx-lead {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .dx-lead {
    padding: 0 15px;
  }
}

.dx-lead_head {
  padding-bottom: 24px;
  font-size: 2rem;
  font-weight: bold;
  background: none;
}
@media screen and (max-width: 767px) {
  .dx-lead_head {
    margin: 0 !important;
  }
}

.dx-anchor {
  margin-top: 64px;
  background: #F2F2F2;
}
@media screen and (max-width: 767px) {
  .dx-anchor {
    margin-top: 40px;
  }
}

.dx-anchor_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  padding: 40px 15px;
}
@media screen and (max-width: 767px) {
  .dx-anchor_list {
    grid-template-columns: 100%;
    gap: 8px;
  }
}

.dx-anchor_link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 22px 8px 12px;
  background-color: #fff;
  border-radius: 4px;
  line-height: 1.5;
  text-underline-offset: 2px;
  font-weight: 500;
}
@media (min-width: 768px) {
  .dx-anchor_link:hover {
    background-color: #CC0000;
    color: #fff;
  }
  .dx-anchor_link:hover .dx-anchor_label {
    text-decoration: underline;
  }
}

.dx-anchor_icon {
  width: 48px;
  height: 48px;
}
.dx-anchor_icon svg {
  width: inherit;
  height: inherit;
}

.dx-anchor_arrow {
  margin-left: auto;
}

.dx-anchor_arrow {
  width: 16px;
  height: 16px;
}
.dx-anchor_arrow svg {
  width: inherit;
  height: inherit;
}

.dx-sec01_flex-img {
  margin-top: 64px;
}
.dx-sec01_flex-img img {
  width: 50%;
}
@media screen and (max-width: 767px) {
  .dx-sec01_flex-img {
    margin-top: 40px;
  }
  .dx-sec01_flex-img img {
    display: block;
    width: 100%;
  }
}

.dx-sec01_flex-content {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 18px;
}
@media screen and (max-width: 767px) {
  .dx-sec01_flex-content {
    grid-template-columns: 100%;
  }
}

.dx-sec01_flex-item {
  padding: 24px 16px;
  background-color: #FFCBCE;
  border-radius: 4px;
  text-align: center;
}
.dx-sec01_flex-item dt {
  font-weight: bold;
  font-size: 1.125rem;
}
.dx-sec01_flex-item dd {
  margin-top: 16px;
}

.dx-sec01_flex-content_text {
  margin-top: 24px;
  font-size: 1.125rem;
  font-weight: bold;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .dx-sec01_flex-content_text {
    margin-top: 16px;
  }
}

.dx-sec01_desc img {
  margin-top: 40px;
  width: 100%;
}

.dx-sec02 {
  margin-top: 96px;
  max-width: 1304px;
  padding: 0 15px;
}
.dx-sec02 .dx-sec_inner {
  position: relative;
  z-index: 1;
  padding: 96px 0 170px;
  background: #F5F5F5;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .dx-sec02 {
    margin-top: 64px;
    padding: 0;
  }
  .dx-sec02 .dx-sec_inner {
    border-radius: 0;
    padding: 64px 15px 180px;
  }
}

.dx-sec02_bg {
  position: absolute;
  z-index: -1;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .dx-sec02_bg {
    transform: none;
    left: 0;
    width: 100%;
  }
  .dx-sec02_bg img {
    width: 100%;
  }
}

.dx-sec02_flex {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .dx-sec02_flex {
    grid-template-columns: 100%;
    margin-top: 40px;
  }
}

.dx-sec02_flex-item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 24px;
  background: #fff;
  border-radius: 4px;
}
.dx-sec02_flex-item p {
  text-align: center;
  font-weight: 600;
}
.dx-sec02_flex-item figure {
  margin-top: 20px;
}
.dx-sec02_flex-item figure img {
  text-align: center;
  max-width: 100%;
  width: 100%;
}

.dx-sec02_arrow {
  margin-top: 24px;
  color: #CC0000;
  text-align: center;
}

.dx-sec02_arrow-icon {
  width: 80px;
  height: 42px;
}

.dx-sec02_program {
  display: flex;
  justify-content: center;
  gap: 14px 0;
  flex-wrap: wrap;
  margin-top: 20px;
  margin-left: -14px;
}
@media screen and (max-width: 767px) {
  .dx-sec02_program {
    margin-top: 12px;
    margin-left: 0;
    flex-direction: column;
  }
}

.dx-sec02_program-item {
  display: flex;
  padding: 16px 24px;
  gap: 4px;
  width: calc(33.3333333333% - 14px);
  background-color: #fff;
  border-radius: 4px;
  margin-left: 14px;
  min-height: 74px;
}
.dx-sec02_program-item.-center {
  align-items: center;
}
@media screen and (max-width: 767px) {
  .dx-sec02_program-item {
    width: 100%;
    margin-left: 0;
  }
}

.dx-sec02_program-check {
  margin-top: 2px;
  width: 20px;
  height: 20px;
  color: #CC0000;
}
.dx-sec02_program-check svg {
  width: inherit;
  height: inherit;
}

.dx-sec02_program-text {
  font-size: 1.125rem;
  font-weight: bold;
  line-height: 1.3;
}

.dx-sec02_program-sub {
  display: block;
  font-size: 0.875rem;
  font-weight: 400;
  margin-top: 2px;
}

.dx-sec03 {
  background: radial-gradient(#C3C3C3, #fff 60%);
  background-position-y: 90px;
  background-repeat: no-repeat;
}
@media screen and (max-width: 767px) {
  .dx-sec03 {
    background: radial-gradient(#C3C3C3, #fff 80%);
    background-repeat: no-repeat;
  }
}

.dx-sex03_box {
  margin-top: 40px;
  padding: 16px;
  background-color: #fff;
  box-shadow: 0 0 15px rgba(195, 195, 195, 0.2);
  border-radius: 8px;
  text-align: center;
}

.dx-sec04 {
  margin-top: 96px;
  max-width: 1304px;
  padding: 0 15px;
}
.dx-sec04 .dx-sec_inner {
  position: relative;
  z-index: 1;
  padding: 96px 0 134px;
  background: url("/-/media/dx/image/dsl/dsl_sec04_bg-top.png") center top/100% auto no-repeat, url("/-/media/dx/image/dsl/dsl_sec04_bg-bottom.png") center bottom/100% auto no-repeat, #f5f5f5;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .dx-sec04 {
    margin-top: 64px;
    padding: 0;
  }
  .dx-sec04 .dx-sec_inner {
    border-radius: 0;
    padding: 64px 15px 64px;
  }
}

.dx-sec04_access {
  display: grid;
  grid-template-columns: 48% 52%;
  margin-top: 24px;
  padding: 40px;
  background: #fff;
  border-radius: 8px;
}
@media screen and (max-width: 767px) {
  .dx-sec04_access {
    grid-template-columns: 100%;
    gap: 24px;
    padding: 24px 15px;
  }
}

.dx-sec04_access-map {
  padding-left: 24px;
}
.dx-sec04_access-map img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .dx-sec04_access-map {
    padding: 0;
  }
}

.dx-sec04_access-text {
  margin-top: 12px;
  font-size: 0.875rem;
}
@media screen and (max-width: 767px) {
  .dx-sec04_access-text {
    font-size: 1rem;
  }
}

.dx-sec04_access-list {
  margin-top: 12px;
  padding-top: 12px;
  border-top: #0C0C0C 1px solid;
  font-size: 0.875rem;
}
.dx-sec04_access-list li {
  padding-left: 2em;
  position: relative;
}
.dx-sec04_access-list li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1em;
}
@media screen and (max-width: 767px) {
  .dx-sec04_access-list {
    font-size: 1rem;
  }
}

.dx-sec05 {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .dx-sec05 {
    text-align: left;
  }
}

.dx-sec05_list {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .dx-sec05_list {
    margin-top: 24px;
  }
}
.dx-sec05_list li {
  text-align: center;
}
.dx-sec05_list li a {
  margin: auto;
  display: block;
  max-width: 750px;
}
@media (min-width: 768px) {
  .dx-sec05_list li a:hover img {
    opacity: 0.6;
  }
}
.dx-sec05_list li img {
  width: 100%;
}
.dx-sec05_list li + li {
  margin-top: 16px;
}

.dx-carousel-wrap {
  display: flex;
  margin-top: 100px;
}
@media screen and (max-width: 767px) {
  .dx-carousel-wrap {
    margin: 60px -15px 0;
  }
}

.dx-carousel {
  --dx-card-width: 320px;
  --dx-card-height: 600px;
  --dx-spacing: 230px;
  --dx-depth: -100px;
  --dx-rotation: 0deg;
  --dx-active-scale: 1.00;
  --dx-inactive-scale: 0.95;
  --dx-transition-speed: 0.6s;
  --dx-color-card: #ffffff;
  --dx-color-accent: #CC0000;
  --dx-color-dot: #ccc;
  --dx-focus-ring: 3px solid #1a56db;
  position: relative;
  width: 100%;
  padding: 48px 0;
  perspective: 1500px;
  display: flex;
  flex-direction: column;
  align-items: center;
  overflow-x: clip;
  color: var(--dx-color-text);
}

.dx-carousel, .dx-carousel * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.dx-card-stack {
  position: relative;
  width: var(--dx-card-width);
  height: var(--dx-card-height);
  transform-style: preserve-3d;
  cursor: grab;
  touch-action: pan-y;
}

.dx-card-stack:active {
  cursor: grabbing;
}

.dx-card {
  position: absolute;
  inset: 0;
  background: var(--dx-color-card);
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 0 15px rgba(12, 12, 12, 0.15);
  transition: transform var(--dx-transition-speed) cubic-bezier(0.25, 1, 0.5, 1);
  pointer-events: none;
  min-height: 528px;
}

.dx-card.is-active {
  pointer-events: auto;
}

/* 中央以外のカードにかける黒マスク（透過度はJSが--dx-maskにセット） */
.dx-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, var(--dx-mask, 0));
  transition: background var(--dx-transition-speed);
  pointer-events: none;
}

.dx-card-body {
  padding: 32px 20px 16px;
  flex: 1;
}

.dx-card-title {
  display: flex;
  position: relative;
  min-height: 48px;
  padding: 0 8px;
  text-align: center;
  color: #0C0C0C;
  font-size: 1.25rem;
  font-weight: 500;
  border: 1px solid #CC0000;
}
.dx-card-title span {
  display: flex;
  align-items: center;
  width: 100%;
  justify-content: center;
  min-height: calc(100% + 4px);
  background-color: #fff;
  margin-top: -2px;
  margin-bottom: -2px;
}

.dx-card-text {
  margin-top: 16px;
  line-height: 1.7;
  font-weight: 400;
}

.dx-card-text_small {
  display: block;
  margin-top: 4px;
  font-size: 0.85rem;
  line-height: 1.5;
}

.dx-card-photo {
  flex-shrink: 0;
  pointer-events: none;
}

.dx-card-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dx-controls {
  margin-top: 32px;
  display: flex;
  align-items: center;
  gap: 16px;
  z-index: 10;
}

.dx-controls > button {
  background: transparent;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dx-controls button:focus-visible {
  outline: var(--dx-focus-ring);
  outline-offset: 2px;
}

.dx-arrow {
  padding: 4px;
  color: #CC0000;
}

.dx-arrow svg {
  width: 16px;
  height: 16px;
}

.dx-arrow_prev {
  transform: rotate(90deg);
}

.dx-arrow_next {
  transform: rotate(-90deg);
}

.dx-dots {
  display: flex;
}

.dx-dot span {
  position: relative;
  display: block;
  min-width: 24px;
  min-height: 24px;
}
.dx-dot span::after {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--dx-color-dot);
  transition: background 0.3s;
}

.dx-dot[aria-current=true] span::after {
  background: var(--dx-color-accent);
}

@media screen and (max-width: 767px) {
  .dx-carousel {
    --dx-card-width: min(78vw, 300px);
    --dx-card-height: 600px;
    --dx-depth: -50px;
    --dx-rotation: 0deg;
    --dx-active-scale: 1;
    --dx-inactive-scale: 0.92;
  }
  .dx-controls {
    gap: 4px;
    margin-top: 0;
  }
  .dx-controls button {
    min-width: 24px;
    min-height: 24px;
  }
}
:root {
  --dx-focus: 3px solid #1a56db;
  --dx-overlay: rgb(12 12 12 / 0.4);
}

.dx-image {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin-top: 24px;
}
@media screen and (max-width: 767px) {
  .dx-image {
    grid-template-columns: 100%;
    gap: 14px;
    margin-top: 12px;
  }
}

.dx-image_figure {
  position: relative;
}
.dx-image_figure > img {
  width: 100%;
  max-width: 100%;
}

.dx-image_caption {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  background-color: rgba(12, 12, 12, 0.5);
  padding: 4px;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #fff;
  text-align: right;
}

.dx-image_sub {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
}
@media screen and (max-width: 767px) {
  .dx-image_sub {
    gap: 14px;
  }
}

.dx-image_thumb {
  position: relative;
  color: #CC0000;
}
.dx-image_thumb img {
  object-fit: cover;
  aspect-ratio: 16/9;
  width: 100%;
  object-position: top;
}
@media (min-width: 768px) {
  .dx-image_thumb:hover img {
    opacity: 0.6;
  }
  .dx-image_thumb:hover .dx-image_icon {
    color: #fff;
    background: #CC0000;
  }
}

.dx-image_icon {
  position: absolute;
  right: 8px;
  top: 8px;
  width: 24px;
  height: 24px;
  background: #fff;
  border: 1px solid #CC0000;
  border-radius: 50%;
}
.dx-image_icon::before, .dx-image_icon::after {
  content: "";
  width: 2px;
  height: 12px;
  position: absolute;
  top: 5px;
  left: 10px;
  background: currentColor;
}
.dx-image_icon::after {
  transform: rotate(90deg);
}

dialog.dx-lightbox {
  padding: 20px;
  overflow: hidden;
  background-color: transparent;
  border: none;
  width: 100%;
  max-width: 640px;
  max-height: 90vh;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  dialog.dx-lightbox {
    width: 96vw;
  }
}

/* 背景オーバーレイ（クリックで閉じる対象） */
dialog.dx-lightbox::backdrop {
  background: var(--dx-overlay);
}

/* figureの既定マージンをリセット */
.dx-lightbox__body {
  position: relative;
  display: flex;
  flex-direction: column;
  margin: 0;
}

.dx-lightbox__img {
  display: block;
  width: 100%;
  max-height: 70vh;
  object-fit: contain;
  background: #000;
}

.dx-lightbox__caption {
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0;
  margin: 0;
  background-color: rgba(12, 12, 12, 0.5);
  padding: 4px;
  font-size: 0.875rem;
  line-height: 1.6;
  color: #fff;
  text-align: right;
}

/* 閉じるボタン */
dialog .dx-lightbox__close {
  position: absolute;
  z-index: 1;
  top: 8px;
  right: 8px;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 50%;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  border: 1px solid #CC0000;
  color: #CC0000;
  cursor: pointer;
}
dialog .dx-lightbox__close:before, dialog .dx-lightbox__close::after {
  content: "";
  width: 2px;
  height: 18px;
  position: absolute;
  top: 6px;
  left: 14px;
  background: currentColor;
}
dialog .dx-lightbox__close::before {
  transform: rotate(45deg);
}
dialog .dx-lightbox__close::after {
  transform: rotate(-45deg);
}
@media (min-width: 768px) {
  dialog .dx-lightbox__close:hover {
    color: #fff;
    background-color: #CC0000;
  }
}

html:has(dialog.dx-lightbox[open]) {
  overflow: hidden;
}

.dx-fixed {
  width: 100%;
  position: sticky;
  bottom: 0;
  z-index: 60;
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .dx-fixed {
    margin-top: 40px;
  }
}

.dx-fixed_inner {
  padding: 12px;
  background: rgba(187, 187, 187, 0.6);
  position: relative;
}
@media screen and (max-width: 767px) {
  .dx-fixed_inner {
    padding: 0;
    background: none;
  }
}

.dx-fixed_link {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  min-height: 56px;
  max-width: 480px;
  margin: auto;
  padding: 8px 24px;
  background-color: #CC0000;
  border: 1px solid #CC0000;
  border-radius: 16px;
  color: #fff !important;
  font-size: 1.25rem;
  font-weight: bold;
  text-decoration: none !important;
  text-align: center;
}
@media (min-width: 768px) {
  .dx-fixed_link:hover {
    background-color: #fff;
    color: #CC0000 !important;
  }
}
@media screen and (max-width: 767px) {
  .dx-fixed_link {
    border-radius: 0;
    padding: 8px 30px;
    min-height: 0;
    font-size: 1rem;
    max-width: none;
  }
}

.dx-fixed_icon {
  position: absolute;
  right: 16px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  transform: rotate(-90deg);
}

.dx-ill {
  margin-top: 120px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .dx-ill {
    margin-top: 40px;
  }
}

@media (min-width: 768px) {
  .dx-ill_item {
    position: absolute;
  }
}
@media screen and (max-width: 767px) {
  .dx-ill_item {
    max-width: 345px;
    margin: auto;
  }
}

@media screen and (max-width: 767px) {
  .dx-ill_img img {
    width: 100%;
    display: block;
    max-width: 100% !important;
  }
}

.dx-ill_bg img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .dx-ill_bg {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
    max-width: 345px;
    margin: auto;
    padding-top: 40px;
  }
}

.dx-ill_cap {
  font-size: clamp(0.75rem, 0.79vw + 5.93px, 1rem);
  text-align: center;
  font-weight: bold;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .dx-ill_cap {
    font-size: clamp(14.78px, 4.638vw, 1rem);
  }
}

@media (min-width: 768px) {
  .dx-ill_01 {
    left: 0.5%;
    top: -12%;
  }
  .dx-ill_01 img {
    width: clamp(232.7px, 30.298vw, 386px);
  }
  .dx-ill_01 .dx-ill_cap {
    margin-top: 18%;
    margin-left: -15%;
  }
}
@media screen and (max-width: 767px) {
  .dx-ill_01 .dx-ill_cap {
    margin-top: clamp(57.42px, 17.971vw, 62px);
  }
}

@media (min-width: 768px) {
  .dx-ill_02 {
    left: 22.5%;
    top: 32%;
  }
  .dx-ill_02 img {
    width: clamp(127.87px, 16.64vw, 212px);
  }
  .dx-ill_02 .dx-ill_cap {
    margin-top: 20%;
    margin-left: -5%;
  }
}
@media screen and (max-width: 767px) {
  .dx-ill_02 {
    margin-top: clamp(14.86px, 5.125vw, 17.68px);
  }
  .dx-ill_02 .dx-ill_cap {
    margin-top: clamp(52.12px, 17.971vw, 62px);
  }
}

@media (min-width: 768px) {
  .dx-ill_03 {
    left: 38.5%;
    top: -4%;
  }
  .dx-ill_03 img {
    width: clamp(148.65px, 19.309vw, 246px);
  }
  .dx-ill_03 .dx-ill_cap {
    margin-top: 28%;
    position: relative;
    left: 9%;
  }
}
@media screen and (max-width: 767px) {
  .dx-ill_03 {
    margin-top: clamp(25.22px, 8.696vw, 30px);
  }
  .dx-ill_03 .dx-ill_cap {
    margin-top: clamp(50px, 17vw, 69px);
  }
}

@media (min-width: 768px) {
  .dx-ill_04 {
    left: 60.5%;
    top: 33%;
  }
  .dx-ill_04 img {
    width: clamp(130.22px, 16.954vw, 216px);
  }
  .dx-ill_04 .dx-ill_cap {
    margin-top: 23%;
    margin-left: -28%;
  }
}
@media screen and (max-width: 767px) {
  .dx-ill_04 {
    margin-top: clamp(15.94px, 5.507vw, 19px);
  }
  .dx-ill_04 .dx-ill_cap {
    margin-top: clamp(50px, 18vw, 72px);
  }
}

@media (min-width: 768px) {
  .dx-ill_05 {
    left: 69.5%;
    top: -11%;
  }
  .dx-ill_05 img {
    width: clamp(231.52px, 30.141vw, 384px);
  }
  .dx-ill_05 .dx-ill_cap {
    margin-top: 14%;
    margin-left: 14%;
  }
}
@media screen and (max-width: 767px) {
  .dx-ill_05 {
    margin-top: clamp(25.22px, 8.696vw, 30px);
  }
  .dx-ill_05 .dx-ill_cap {
    margin-top: clamp(29.42px, 10.145vw, 35px);
  }
}
