body:has(.mirai-wrap) {
  /*
  .acms-container:has(.acms-admin-box) {
      display: none;
  }
  */
}
body:has(.mirai-wrap) .topicpath {
  margin-bottom: 0;
}
body:has(.mirai-wrap) {
  overflow-x: hidden;
}
body:has(.mirai-wrap) .acms-container:has(.mirai-wrap) {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body:has(.mirai-wrap) .acms-grid,
body:has(.mirai-wrap) .acms-grid-r {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body:has(.mirai-wrap) main.main,
body:has(.mirai-wrap) .acms-col-12,
body:has(.mirai-wrap) [class*=acms-col] {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  float: none !important;
}
body:has(.mirai-wrap) main section {
  border-bottom: none !important;
  padding-bottom: 0;
  margin-bottom: 0 !important;
}
body:has(.mirai-wrap) .text-nowrap {
  white-space: nowrap;
}

.mirai-wrap {
  font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color: #333333;
  line-height: 1.8;
  position: relative;
  overflow: hidden;
}
.mirai-wrap *,
.mirai-wrap *::before,
.mirai-wrap *::after {
  box-sizing: border-box;
}
.mirai-wrap a {
  color: inherit;
  text-decoration: none;
}
.mirai-wrap a:visited, .mirai-wrap a:active, .mirai-wrap a:focus {
  color: inherit;
  text-decoration: none;
}
.mirai-wrap a:hover {
  color: inherit;
  text-decoration: none;
}
.mirai-wrap img {
  max-width: 100%;
  height: auto;
  display: block;
}

.mirai-container {
  width: 100%;
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 20px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .mirai-container {
    padding: 0 16px;
  }
}

.mirai-heading {
  color: #00a799;
  font-size: 7.6rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 2px;
  line-height: 1.2;
  margin: 0 0 20px;
}
.mirai-heading .small {
  font-size: 7rem;
}
@media screen and (max-width: 1280px) {
  .mirai-heading {
    margin: 0 0 2.5vw;
  }
}
@media screen and (max-width: 768px) {
  .mirai-heading {
    font-size: 7.5vw;
    letter-spacing: 1px;
    margin: 0 0 5vw;
  }
  .mirai-heading .small {
    font-size: 6vw;
  }
}

.mirai-float {
  position: fixed;
  right: 15px;
  top: 40%;
  transform: translateY(-50%);
  z-index: 999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}
@media screen and (max-width: 768px) {
  .mirai-float {
    right: 10px;
    top: 35%;
  }
}
.mirai-float__bubble {
  background: #00a799;
  color: #fff;
  font-size: 1.1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  padding: 6px 15px;
  border-radius: 14px;
  position: relative;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15);
  white-space: nowrap;
  pointer-events: none;
}
@media screen and (max-width: 1280px) {
  .mirai-float__bubble {
    padding: 6px 10px;
  }
}
.mirai-float__bubble::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 5px 4px 0;
  border-style: solid;
  border-color: #00a799 transparent transparent;
}
.mirai-float__details {
  position: relative;
}
.mirai-float__details summary {
  list-style: none;
  cursor: pointer;
  outline: none;
}
.mirai-float__details summary::-webkit-details-marker {
  display: none;
}
.mirai-float__btn {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, opacity 0.2s ease;
  border: none;
}
.mirai-float__btn:visited, .mirai-float__btn:active, .mirai-float__btn:focus {
  color: #fff !important;
  text-decoration: none !important;
}
.mirai-float__btn:hover {
  transform: scale(1.08);
  opacity: 0.9;
  color: #fff !important;
  text-decoration: none !important;
}
.mirai-float__btn--instagram {
  background: linear-gradient(135deg, #f58220 0%, #d82b7d 50%, #8e24aa 100%);
}
.mirai-float__btn--x {
  background: #111;
}
@media screen and (max-width: 1280px) {
  .mirai-float__btn {
    width: 48px;
    height: 48px;
  }
}
.mirai-float__popover {
  position: absolute;
  right: calc(100% + 14px);
  top: 50%;
  transform: translateY(-50%);
  width: 210px;
  background: #fff;
  border: 2px solid #e83888;
  border-radius: 14px;
  padding: 14px 12px;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.15);
  text-align: center;
  z-index: 10;
  animation: miraiFloatFadeLeft 0.25s ease-out;
}
.mirai-float__popover::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -8px;
  transform: translateY(-50%);
  border-width: 8px 0 8px 8px;
  border-style: solid;
  border-color: transparent transparent transparent #e83888;
}
@media screen and (max-width: 768px) {
  .mirai-float__popover {
    width: 185px;
    padding: 12px 10px;
    right: calc(100% + 10px);
  }
}
.mirai-float__popover-text {
  font-size: 1.25rem;
  line-height: 1.45;
  color: #333;
  margin: 0 0 10px;
}
.mirai-float__popover-text strong {
  color: #e83888;
  font-size: 1.3rem;
  display: inline-block;
  margin: 2px 0;
}
@media screen and (max-width: 768px) {
  .mirai-float__popover-text {
    font-size: 1.15rem;
    margin-bottom: 8px;
  }
  .mirai-float__popover-text strong {
    font-size: 1.2rem;
  }
}
.mirai-float__popover-link {
  display: inline-block;
  background: linear-gradient(135deg, #f58220 0%, #d82b7d 50%, #8e24aa 100%);
  color: #fff !important;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 5px 16px;
  border-radius: 15px;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(232, 56, 136, 0.3);
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.mirai-float__popover-link:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}
@media screen and (max-width: 768px) {
  .mirai-float__popover-link {
    font-size: 1.1rem;
    padding: 4px 12px;
  }
}

@keyframes miraiFloatFadeLeft {
  from {
    opacity: 0;
    transform: translateY(-50%) translateX(8px);
  }
  to {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
  }
}
.mirai-hero {
  position: relative;
  width: 100%;
}
.mirai-hero__slider-wrap {
  position: relative;
  width: 100%;
  max-width: 1920px;
  height: clamp(520px, 52vw, 1000px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .mirai-hero__slider-wrap {
    height: 380px;
    align-items: flex-end;
    padding-bottom: 20px;
  }
}
.mirai-hero__slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
  z-index: 1;
  overflow: hidden;
}
.mirai-hero__slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  animation: miraiCrossfade 25s infinite ease-in-out;
}
.mirai-hero__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
}
.mirai-hero__slide:nth-child(1) {
  animation-delay: 0s;
}
.mirai-hero__slide:nth-child(2) {
  animation-delay: 5s;
}
.mirai-hero__slide:nth-child(3) {
  animation-delay: 10s;
}
.mirai-hero__slide:nth-child(4) {
  animation-delay: 15s;
}
.mirai-hero__slide:nth-child(5) {
  animation-delay: 20s;
}
.mirai-hero__container {
  width: 100%;
  max-width: 1280px;
  padding: 40px 20px;
  display: flex;
  justify-content: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1920px) {
  .mirai-hero__container {
    max-width: 65vw;
    padding: 0;
  }
}
@media screen and (max-width: 768px) {
  .mirai-hero__container {
    max-width: 90vw;
  }
}
.mirai-hero__badge-wrap {
  width: 100%;
  aspect-ratio: 16/9;
  padding-top: 480px;
}
@media screen and (max-width: 1920px) {
  .mirai-hero__badge-wrap {
    padding-top: 25vw;
  }
}
@media screen and (max-width: 1280px) {
  .mirai-hero__badge-wrap {
    padding-top: 30vw;
  }
}
@media screen and (max-width: 768px) {
  .mirai-hero__badge-wrap {
    padding-top: 0;
    position: relative;
    top: 15vw;
  }
}
.mirai-hero__badge {
  position: relative;
  aspect-ratio: 16/9;
  background-image: url(../img/mirai/mirai_main_bg.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  padding: 200px 0 0;
}
@media screen and (max-width: 1920px) {
  .mirai-hero__badge {
    padding: 10vw 0 0;
  }
}
@media screen and (max-width: 768px) {
  .mirai-hero__badge {
    padding: 15vw 0 0;
  }
}
.mirai-hero__tag {
  position: absolute;
  right: 0;
  top: -30px;
}
@media screen and (max-width: 1920px) {
  .mirai-hero__tag {
    max-width: 40vw;
    top: -1.5vw;
  }
}
.mirai-hero__title {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-weight: 900;
  font-size: 4.8rem;
  line-height: 1.25;
  letter-spacing: 2px;
  margin: 0 0 15px;
}
@media screen and (max-width: 1920px) {
  .mirai-hero__title img {
    width: 65%;
  }
}
.mirai-hero__title--teal {
  color: #00a799;
}
.mirai-hero__title--pink {
  color: #e83888;
}
@media screen and (max-width: 768px) {
  .mirai-hero__title {
    font-size: 3.2rem;
    letter-spacing: 1px;
    margin-bottom: 0;
  }
}
.mirai-hero__lead {
  font-size: 2.4rem;
  font-weight: 800;
  line-height: 1.7;
  text-align: center;
  color: #333;
}
@media screen and (max-width: 1920px) {
  .mirai-hero__lead {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 1280px) {
  .mirai-hero__lead {
    font-size: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .mirai-hero__lead {
    font-size: 5vw;
    font-weight: 600;
  }
}
.mirai-hero__lead--pc {
  display: block;
  margin: 0;
}
@media screen and (max-width: 1280px) {
  .mirai-hero__lead--pc {
    display: none;
  }
}
.mirai-hero__lead--sp {
  display: none;
}
@media screen and (max-width: 1280px) {
  .mirai-hero__lead--sp {
    display: block;
    padding: 5vw 2vw 1vw;
  }
}

@keyframes miraiCrossfade {
  0% {
    opacity: 0;
  }
  4% {
    opacity: 1;
  }
  20% {
    opacity: 1;
  }
  24% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.mirai-action {
  background-color: #fff;
  max-width: 1920px;
  margin: 0 auto;
  background-image: url(../img/mirai/bg_banner_blue.png), url(../img/mirai/bg_banner_red.png), url(../img/mirai/bg_banner_green.png), url(../img/mirai/bg_banner_yellow.png);
  background-repeat: no-repeat;
  background-position: -50px 700px, calc(100% + 150px) 200px, 50px calc(100% + 100px), calc(100% + 50px) calc(100% - 500px);
  padding-top: 100px;
}
@media screen and (max-width: 1280px) {
  .mirai-action {
    padding-top: 2.5vw;
    background-size: auto 20vw;
    background-position: -2.5vw 35vw, calc(100% + 12.5vw) 125vw, 70vw calc(100% + 5vw), calc(100% + 2.5vw) calc(100% - 25vw);
  }
}
@media screen and (max-width: 768px) {
  .mirai-action {
    padding-top: 1.25vw;
  }
}
.mirai-action__details-wrap {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .mirai-action__details-wrap {
    margin-bottom: 35px;
  }
}
.mirai-action__lead {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.8;
  text-align: center;
  color: #333;
  margin-bottom: 5rem;
}
@media screen and (max-width: 1920px) {
  .mirai-action__lead {
    font-size: 1.2vw;
    margin-bottom: 2.5vw;
  }
}
@media screen and (max-width: 1280px) {
  .mirai-action__lead {
    font-size: 3vw;
    margin-bottom: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .mirai-action__lead {
    font-size: 4vw;
  }
}

.mirai-accordion {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.mirai-accordion summary {
  list-style: none;
  cursor: pointer;
  outline: none;
}
.mirai-accordion summary::-webkit-details-marker {
  display: none;
}
.mirai-accordion__body {
  width: 100%;
  margin-top: 15px;
  background: #f7faf9;
  border: 2px solid #bce8e3;
  border-radius: 16px;
  padding: 20px 24px;
  font-size: 1.45rem;
  line-height: 1.8;
  color: #444;
  text-align: left;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  animation: miraiFadeIn 0.3s ease-out;
}
@media screen and (max-width: 768px) {
  .mirai-accordion__body {
    padding: 16px;
    font-size: 1.35rem;
  }
}
.mirai-accordion__body p {
  margin: 0 0 10px;
}
.mirai-accordion__body p:last-child {
  margin-bottom: 0;
}
.mirai-accordion__link-wrap {
  text-align: right;
}
.mirai-accordion__link {
  color: #00a799 !important;
  font-weight: 700;
  text-decoration: underline !important;
}
.mirai-accordion__link:hover {
  color: #0b4e49 !important;
}

.mirai-btn-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background-color: #00a799;
  color: #fff !important;
  font-size: 1.6rem;
  font-weight: 600;
  padding: 12px 32px;
  border-radius: 30px;
  text-decoration: none !important;
  box-shadow: 0 4px 10px rgba(0, 167, 153, 0.3);
  transition: all 0.25s ease;
  user-select: none;
}
.mirai-btn-action__icon {
  width: 20px;
  height: 20px;
  background: transparent;
  color: #00a799;
  font-size: 1.3rem;
  font-weight: 900;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.mirai-btn-action:hover {
  background-color: #0b4e49;
  color: #fff !important;
  transform: scale(1.1);
}

.mirai-sns-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 120px;
}
@media screen and (max-width: 1280px) {
  .mirai-sns-grid {
    gap: 15px 50px;
  }
}
@media screen and (max-width: 768px) {
  .mirai-sns-grid {
    gap: 15px;
  }
}

.mirai-sns-desc {
  position: relative;
  background-color: #F6F0E4;
  border-radius: 25px;
  padding: 50px 25px;
  margin-top: 50px;
  margin-bottom: 75px;
}
.mirai-sns-desc p {
  text-align: center;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.6;
  text-wrap: pretty;
  margin: 0;
}
.mirai-sns-desc p strong {
  color: #e83888;
  font-weight: 800;
}
.mirai-sns-desc::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  border: 25px solid transparent;
  border-bottom-color: #F6F0E4;
}
@media screen and (max-width: 768px) {
  .mirai-sns-desc {
    padding: 4vw;
    margin-top: 3vw;
    margin-bottom: 10vw;
  }
  .mirai-sns-desc p {
    font-size: 3.2vw;
  }
}

.mirai-sns-card__inner {
  display: block;
  position: relative;
  border-radius: 50px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.05);
  text-decoration: none !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease, border 0.3s ease;
}
.mirai-sns-card__inner:visited, .mirai-sns-card__inner:active, .mirai-sns-card__inner:focus {
  text-decoration: none !important;
}
@media screen and (max-width: 768px) {
  .mirai-sns-card__inner {
    border-radius: 20px;
  }
}
.mirai-sns-card__inner:hover {
  transform: scale(1.05);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.15);
  text-decoration: none !important;
}
.mirai-sns-card__inner:hover .mirai-sns-card__zoom {
  transform: scale(0.9);
  border: solid 10px rgb(251.5665236052, 212.0815450644, 178.4334763948);
}
.mirai-sns-card--x .mirai-sns-card__inner {
  border: 10px solid #00a799;
}
@media screen and (max-width: 768px) {
  .mirai-sns-card--x .mirai-sns-card__inner {
    border-width: 3px;
  }
}
.mirai-sns-card--instagram .mirai-sns-card__inner {
  border: 10px solid #e83888;
}
@media screen and (max-width: 768px) {
  .mirai-sns-card--instagram .mirai-sns-card__inner {
    border-width: 3px;
  }
}
.mirai-sns-card__img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 40px;
}
@media screen and (max-width: 768px) {
  .mirai-sns-card__img {
    border-radius: 17Ppx;
  }
}
.mirai-sns-card__zoom {
  position: absolute;
  top: 15px;
  right: 15px;
  width: 75px;
  height: 75px;
  background: #f58220 url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMzEiIGhlaWdodD0iMzEiIHZpZXdCb3g9IjAgMCAzMSAzMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjguODk5MiAyMy40Mzg4TDI1Ljk1MDUgMjAuNDgxNUwyNS4xOTQxIDE5LjcyMTNDMjUuMTkzOSAxOS43MjE3IDI1LjE5MzcgMTkuNzIyIDI1LjE5MzQgMTkuNzIyMkwyNS4xODk4IDE5LjcxODlDMjMuOTYxIDIxLjgzMDcgMjIuMjI2OSAyMy42MDk0IDIwLjE2NjggMjQuOTA1OUMyMC4wMDU0IDI1LjAwNjkgMTkuODQ2NiAyNS4xMTE2IDE5LjY4MTMgMjUuMjA2NUwxOS42ODIgMjUuMjA3MkMxOS42ODA2IDI1LjIwOCAxOS42NzkxIDI1LjIwODkgMTkuNjc3NyAyNS4yMDk4TDIzLjM5MTkgMjguOTM1MUMyNC4xNDk0IDI5LjY5NDQgMjUuMTQ1NiAzMC4wNzUyIDI2LjE0MjMgMzAuMDc2OUMyNy4xMzQzIDMwLjA3ODMgMjguMTMxNiAyOS43MDAzIDI4Ljg5MTIgMjguOTQzQzMwLjQxNTQgMjcuNDIzNSAzMC40MTkgMjQuOTYzIDI4Ljg5OTIgMjMuNDM4OFoiIGZpbGw9IndoaXRlIi8+PHBhdGggZD0iTTYuOTM3NTQgMjMuMTM1N0M2Ljk1OTYzIDIzLjE0NjQgNi45ODI0MiAyMy4xNTU5IDcuMDA0NzQgMjMuMTY2NEM3LjE2MTQxIDIzLjIzOTggNy4zMTkyNiAyMy4zMTA4IDcuNDc5NTcgMjMuMzc3N0M3LjQ5NTkgMjMuMzg0NiA3LjUxMjM1IDIzLjM5MDUgNy41Mjg2OCAyMy4zOTcyQzguOTUwMSAyMy45ODI5IDEwLjUwNTcgMjQuMzA5MSAxMi4xMzgxIDI0LjMxMTVDMTguODUxNSAyNC4zMjEyIDI0LjMwMTcgMTguODg2NyAyNC4zMTE0IDEyLjE3MzNDMjQuMzEzNyAxMC41NDEzIDIzLjk5MiA4Ljk4NTI5IDIzLjQxMDggNy41NjI3NUMyMy40MDM5IDcuNTQ1ODkgMjMuMzk4IDcuNTI4OCAyMy4zOTExIDcuNTExOTRDMjMuMzI0NCA3LjM1MDkyIDIzLjI1MzQgNy4xOTIzNyAyMy4xODAzIDcuMDM0OTRDMjMuMTcwMyA3LjAxMzM4IDIzLjE2MTMgNi45OTEyOSAyMy4xNTExIDYuOTY5OTFDMjMuMDc0MyA2LjgwNzc3IDIyLjk5MzYgNi42NDgyMyAyMi45MTAzIDYuNDkwMDlDMjIuOTAyMiA2LjQ3NTE3IDIyLjg5NDkgNi40NTk2NiAyMi44ODcxIDYuNDQ0NUMyMC44NDUxIDIuNjE1ODggMTYuODE1NyAwLjAwNjcwOTkgMTIuMTczMyAxLjMxMDI3ZS0wNUM1LjQ1OTkgLTAuMDA5NzM4MzcgMC4wMDk3MDU1MiA1LjQyNDc3IDEuMjc5MmUtMDUgMTIuMTM4MkMtMC4wMDIzMzY5NiAxMy43NyAwLjMxOTEwOSAxNS4zMjYgMC45MDAzMiAxNi43NDg1QzAuOTA3MjUyIDE2Ljc2NTQgMC45MTMzNjEgMTYuNzgyNSAwLjkyMDI5MyAxNi43OTkzQzAuOTg2NDk3IDE2Ljk1OTQgMS4wNTcwNSAxNy4xMTcgMS4xMjk2NiAxNy4yNzM1QzEuMTQwMzUgMTcuMjk2MiAxLjE0OTg2IDE3LjMxOTUgMS4xNjA1NiAxNy4zNDIxQzEuMjM3MDQgMTcuNTA0IDEuMzE3NzUgMTcuNjYzMyAxLjQwMTA1IDE3LjgyMDlDMS40MDg4NyAxNy44MzYxIDEuNDE2MjEgMTcuODUxOCAxLjQyNDMxIDE3Ljg2N0MyLjU1NTM3IDE5Ljk4NzYgNC4yOTYwNiAyMS43MzM2IDYuNDEzNiAyMi44NzA1QzYuNDI4MDUgMjIuODc4NCA2LjQ0MzA5IDIyLjg4NTUgNi40NTc1NCAyMi44OTMxQzYuNjE1NjIgMjIuOTc3MiA2Ljc3NTM1IDIzLjA1ODYgNi45Mzc1NCAyMy4xMzU3Wk0xOS44MTM4IDEyLjE2NjlDMTkuODA3NiAxNi4zODk2IDE2LjM2NzMgMTkuODIgMTIuMTQ0NiAxOS44MTM4QzcuOTIxOTEgMTkuODA3NiA0LjQ5MTUgMTYuMzY3MyA0LjQ5NzY3IDEyLjE0NDZDNC41MDM5IDcuOTIxOTEgNy45NDQyMyA0LjQ5MTUxIDEyLjE2NjkgNC40OTc2N0MxNi4zODk2IDQuNTAzODQgMTkuODIgNy45NDQxNyAxOS44MTM4IDEyLjE2NjlaIiBmaWxsPSJ3aGl0ZSIvPjwvc3ZnPg==") no-repeat center center/22px;
  border-radius: 50%;
  border: solid 10px rgb(251.5665236052, 212.0815450644, 178.4334763948);
  box-sizing: content-box;
  z-index: 2;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .mirai-sns-card__zoom {
    width: 32px;
    height: 32px;
    top: -8px;
    right: -8px;
    background-size: 16px;
  }
}
.mirai-sns-card__pill {
  position: absolute;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
  padding: 6px 32px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: bold;
  border-radius: 20px;
  z-index: 2;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
}
@media screen and (max-width: 768px) {
  .mirai-sns-card__pill {
    font-size: 1.1rem;
    padding: 4px 16px;
    bottom: 12px;
  }
}
.mirai-sns-card__pill--x {
  background: #00a799;
}
.mirai-sns-card__pill--instagram {
  background: #e83888;
}

.mirai-banner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px 100px;
  padding-bottom: 5rem;
}
@media screen and (max-width: 1280px) {
  .mirai-banner-grid {
    gap: 15px 50px;
  }
}
@media screen and (max-width: 768px) {
  .mirai-banner-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

.mirai-card__link {
  display: block;
  color: inherit !important;
  text-decoration: none !important;
  transition: opacity 0.2s ease;
}
.mirai-card__link:visited, .mirai-card__link:active, .mirai-card__link:focus {
  color: inherit !important;
  text-decoration: none !important;
}
.mirai-card__link:hover {
  opacity: 0.9;
  color: inherit !important;
  text-decoration: none !important;
}
.mirai-card__link:hover .mirai-card__thumb {
  transform: scale(1.025);
}
.mirai-card__link[href=""] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .mirai-card__link {
    display: flex;
    align-items: center;
    gap: 15px;
  }
}
.mirai-card__thumb {
  position: relative;
  border-radius: 50px;
  border: 10px solid #e83888;
  transition: transform 0.3s ease;
}
@media screen and (max-width: 768px) {
  .mirai-card__thumb {
    flex: 0 0 160px;
    width: 160px;
    border-radius: 20px;
    border-width: 3px;
  }
}
.mirai-card:nth-child(9n+1) .mirai-card__thumb {
  border-color: #eb4284;
}
.mirai-card:nth-child(9n+2) .mirai-card__thumb {
  border-color: #00a799;
}
.mirai-card:nth-child(9n+3) .mirai-card__thumb {
  border-color: #f58220;
}
.mirai-card:nth-child(9n+4) .mirai-card__thumb {
  border-color: #00a6e3;
}
.mirai-card:nth-child(9n+5) .mirai-card__thumb {
  border-color: #f58220;
}
.mirai-card:nth-child(9n+6) .mirai-card__thumb {
  border-color: #eb4284;
}
.mirai-card:nth-child(9n+7) .mirai-card__thumb {
  border-color: #00a799;
}
.mirai-card:nth-child(9n+8) .mirai-card__thumb {
  border-color: #00a6e3;
}
.mirai-card:nth-child(9n+9) .mirai-card__thumb {
  border-color: #f58220;
}
.mirai-card__img {
  width: 100%;
  aspect-ratio: 1/1;
  object-fit: cover;
  display: block;
  border-radius: 40px;
}
@media screen and (max-width: 768px) {
  .mirai-card__img {
    border-radius: 17px;
  }
}
.mirai-card__badge {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
  background: rgba(235, 66, 132, 0.95);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  text-wrap: pretty;
  padding: 10px 12px;
  border-radius: 12px;
  line-height: 1.3;
  max-width: 75%;
}
@media screen and (max-width: 1280px) {
  .mirai-card__badge {
    font-size: 1.5vw;
  }
}
@media screen and (max-width: 768px) {
  .mirai-card__badge {
    font-size: 1.2rem;
    text-wrap: initial;
    padding: 2px 4px;
    bottom: 6px;
    left: -12px;
    border-radius: 3px;
    max-width: 100%;
  }
}
.mirai-card:nth-child(9n+2) .mirai-card__badge {
  background: rgba(0, 167, 153, 0.95);
}
.mirai-card:nth-child(9n+3) .mirai-card__badge {
  background: rgba(245, 130, 32, 0.95);
}
.mirai-card:nth-child(9n+4) .mirai-card__badge {
  background: rgba(0, 166, 227, 0.95);
}
.mirai-card:nth-child(9n+5) .mirai-card__badge {
  background: rgba(245, 130, 32, 0.95);
}
.mirai-card:nth-child(9n+6) .mirai-card__badge {
  background: rgba(235, 66, 132, 0.95);
}
.mirai-card:nth-child(9n+7) .mirai-card__badge {
  background: rgba(0, 167, 153, 0.95);
}
.mirai-card:nth-child(9n+8) .mirai-card__badge {
  background: rgba(0, 166, 227, 0.95);
}
.mirai-card:nth-child(9n+9) .mirai-card__badge {
  background: rgba(245, 130, 32, 0.95);
}
@media screen and (max-width: 768px) {
  .mirai-card__body {
    flex: 1;
  }
}
.mirai-card__text {
  color: #444;
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 1.6;
  text-wrap: pretty;
  margin: 0;
  padding: 1.5rem 3rem;
}
@media screen and (max-width: 1280px) {
  .mirai-card__text {
    font-size: 1.3vw;
  }
}
@media screen and (max-width: 768px) {
  .mirai-card__text {
    font-size: 1.3rem;
    padding: 1rem 0;
  }
}

.mirai-share {
  background-color: #f3efe9;
  padding: 15rem 0 5rem !important;
}
@media screen and (max-width: 1280px) {
  .mirai-share {
    padding: 15vw 0 5vw !important;
  }
}

.mirai-share__box {
  border: solid 6px #fff;
  padding: 0 15rem 5rem;
  margin: 0 5rem;
}
@media screen and (max-width: 1280px) {
  .mirai-share__box {
    padding: 0 5vw 5vw;
    margin: 0 1.5rem;
  }
}

.mirai-share__tag img {
  margin: -7.5rem auto 0;
}
@media screen and (max-width: 768px) {
  .mirai-share__tag img {
    margin: -10vw auto 0;
  }
}

.mirai-share__text {
  text-align: center;
  text-wrap: pretty;
  margin-bottom: 5rem;
}
@media screen and (max-width: 1280px) {
  .mirai-share__text {
    text-align: initial;
  }
}

.mirai-share-accordion {
  display: inline-block;
  position: relative;
}
.mirai-share-accordion summary {
  list-style: none;
  cursor: pointer;
  outline: none;
}
.mirai-share-accordion summary::-webkit-details-marker {
  display: none;
}
.mirai-share-accordion__body {
  position: absolute;
  bottom: calc(100% + 15px);
  background: #fff;
  border: 2px solid #e83888;
  border-radius: 14px;
  padding: 16px 20px;
  font-size: 1.4rem;
  color: #333;
  text-align: center;
  box-shadow: 0 6px 16px rgba(232, 56, 136, 0.15);
  animation: miraiFadeIn 0.25s ease-out;
}
@media screen and (max-width: 768px) {
  .mirai-share-accordion__body {
    font-size: 1.3rem;
    padding: 12px 15px;
  }
}
.mirai-share-accordion__body p {
  margin: 0 0 10px;
}
.mirai-share-accordion__link {
  display: inline-block;
  background: linear-gradient(135deg, #f58220 0%, #d82b7d 50%, #8e24aa 100%);
  color: #fff !important;
  font-size: 1.3rem;
  font-weight: 700;
  padding: 6px 20px;
  border-radius: 20px;
  text-decoration: none !important;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.15);
  transition: opacity 0.2s ease;
}
.mirai-share-accordion__link:hover {
  opacity: 0.9;
}

@keyframes miraiFadeIn {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.mirai-share__buttons {
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 768px) {
  .mirai-share__buttons {
    flex-direction: column;
    gap: 2.5vw;
  }
}

.mirai-share-btn {
  flex: 1 1 50%;
  aspect-ratio: 3/1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 100%;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 1.9rem;
  font-weight: 700;
  letter-spacing: 1px;
  transition: transform 0.25s ease, filter 0.25s ease;
}
.mirai-share-btn:visited, .mirai-share-btn:active, .mirai-share-btn:focus {
  color: #fff !important;
  text-decoration: none !important;
}
.mirai-share-btn:hover {
  color: #fff !important;
  text-decoration: none !important;
  transform: translateY(-3px) scale(1.02);
  filter: brightness(1.1);
}
@media screen and (max-width: 768px) {
  .mirai-share-btn {
    width: 100%;
    height: auto;
    font-size: 1.7rem;
  }
}
.mirai-share-btn--x {
  background: linear-gradient(90deg, #606062 0%, #000000 100%);
  clip-path: polygon(7.2% 88.6%, 7.3% 88.9%, 7.3% 89.1%, 7.3% 89.4%, 7.4% 89.6%, 7.4% 89.8%, 7.5% 90.1%, 7.6% 90.3%, 7.6% 90.5%, 7.7% 90.7%, 7.7% 90.9%, 7.8% 91.1%, 7.9% 91.3%, 7.9% 91.4%, 8% 91.6%, 8.1% 91.8%, 8.1% 91.9%, 8.2% 92.1%, 8.3% 92.2%, 8.4% 92.3%, 8.4% 92.4%, 8.5% 92.5%, 8.6% 92.6%, 8.7% 92.7%, 8.8% 92.8%, 8.9% 92.9%, 9% 92.9%, 9% 93%, 9.1% 93%, 9.2% 93%, 9.3% 93%, 86.1% 99.7%, 86.1% 99.7%, 86.2% 99.7%, 86.3% 99.7%, 86.3% 99.7%, 86.4% 99.6%, 86.4% 99.6%, 86.5% 99.6%, 86.6% 99.5%, 86.6% 99.5%, 86.7% 99.5%, 86.8% 99.4%, 86.8% 99.3%, 86.9% 99.3%, 86.9% 99.2%, 87% 99.1%, 87.1% 99.1%, 87.1% 99%, 87.2% 98.9%, 87.2% 98.8%, 87.3% 98.7%, 87.3% 98.6%, 87.4% 98.5%, 87.5% 98.4%, 87.5% 98.2%, 87.6% 98.1%, 87.6% 98%, 87.7% 97.9%, 87.7% 97.7%, 87.7% 97.6%, 87.8% 97.4%, 99.3% 59.4%, 99.4% 59.1%, 99.4% 58.9%, 99.5% 58.6%, 99.6% 58.3%, 99.6% 58%, 99.7% 57.7%, 99.7% 57.4%, 99.8% 57.1%, 99.8% 56.8%, 99.8% 56.5%, 99.9% 56.2%, 99.9% 55.9%, 99.9% 55.6%, 99.9% 55.3%, 99.9% 54.9%, 99.9% 54.6%, 99.9% 54.3%, 99.9% 54%, 99.9% 53.6%, 99.9% 53.3%, 99.9% 53%, 99.9% 52.7%, 99.9% 52.3%, 99.8% 52%, 99.8% 51.7%, 99.7% 51.4%, 99.7% 51.1%, 99.7% 50.8%, 99.6% 50.5%, 99.5% 50.2%, 89.8% 3.3%, 89.7% 3.1%, 89.7% 2.9%, 89.6% 2.7%, 89.6% 2.6%, 89.5% 2.4%, 89.5% 2.2%, 89.4% 2%, 89.3% 1.9%, 89.3% 1.7%, 89.2% 1.5%, 89.2% 1.4%, 89.1% 1.3%, 89% 1.1%, 89% 1%, 88.9% 0.9%, 88.8% 0.8%, 88.8% 0.7%, 88.7% 0.6%, 88.6% 0.5%, 88.5% 0.4%, 88.5% 0.3%, 88.4% 0.3%, 88.3% 0.2%, 88.2% 0.1%, 88.2% 0.1%, 88.1% 0.1%, 88% 0%, 87.9% 0%, 87.9% 0%, 87.8% 0%, 9.3% 1.5%, 9.2% 1.5%, 9.2% 1.5%, 9.1% 1.5%, 9% 1.5%, 9% 1.6%, 8.9% 1.6%, 8.8% 1.7%, 8.8% 1.7%, 8.7% 1.8%, 8.6% 1.8%, 8.6% 1.9%, 8.5% 1.9%, 8.4% 2%, 8.4% 2.1%, 8.3% 2.2%, 8.3% 2.3%, 8.2% 2.4%, 8.1% 2.5%, 8.1% 2.6%, 8% 2.7%, 8% 2.8%, 7.9% 3%, 7.9% 3.1%, 7.8% 3.2%, 7.8% 3.4%, 7.7% 3.5%, 7.7% 3.7%, 7.6% 3.8%, 7.6% 4%, 7.5% 4.1%, 0.5% 31%, 0.5% 31.2%, 0.4% 31.5%, 0.4% 31.7%, 0.3% 31.9%, 0.3% 32.2%, 0.2% 32.4%, 0.2% 32.6%, 0.2% 32.9%, 0.1% 33.1%, 0.1% 33.4%, 0.1% 33.7%, 0.1% 33.9%, 0% 34.2%, 0% 34.4%, 0% 34.7%, 0% 35%, 0% 35.2%, 0% 35.5%, 0% 35.8%, 0% 36.1%, 0% 36.3%, 0% 36.6%, 0% 36.9%, 0% 37.1%, 0.1% 37.4%, 0.1% 37.7%, 0.1% 37.9%, 0.1% 38.2%, 0.2% 38.5%, 0.2% 38.7%);
}
.mirai-share-btn--instagram {
  background: linear-gradient(135deg, #f58220 0%, #d82b7d 50%, #8e24aa 100%);
  clip-path: polygon(92.2% 6.4%, 92.2% 6.1%, 92.1% 5.9%, 92.1% 5.7%, 92% 5.4%, 92% 5.2%, 91.9% 5%, 91.9% 4.7%, 91.8% 4.5%, 91.7% 4.3%, 91.7% 4.1%, 91.6% 3.9%, 91.5% 3.8%, 91.5% 3.6%, 91.4% 3.4%, 91.3% 3.3%, 91.3% 3.1%, 91.2% 3%, 91.1% 2.9%, 91% 2.8%, 90.9% 2.6%, 90.9% 2.5%, 90.8% 2.5%, 90.7% 2.4%, 90.6% 2.3%, 90.5% 2.2%, 90.4% 2.2%, 90.3% 2.2%, 90.3% 2.1%, 90.2% 2.1%, 90.1% 2.1%, 13.4% 0%, 13.3% 0%, 13.3% 0%, 13.2% 0%, 13.1% 0%, 13.1% 0.1%, 13% 0.1%, 13% 0.1%, 12.9% 0.2%, 12.8% 0.2%, 12.8% 0.3%, 12.7% 0.3%, 12.6% 0.4%, 12.6% 0.5%, 12.5% 0.5%, 12.5% 0.6%, 12.4% 0.7%, 12.4% 0.8%, 12.3% 0.9%, 12.2% 1%, 12.2% 1.1%, 12.1% 1.2%, 12.1% 1.3%, 12% 1.4%, 12% 1.5%, 11.9% 1.6%, 11.9% 1.8%, 11.8% 1.9%, 11.8% 2.1%, 11.7% 2.2%, 11.7% 2.4%, 0.6% 41.1%, 0.5% 41.3%, 0.5% 41.6%, 0.4% 41.9%, 0.3% 42.2%, 0.3% 42.4%, 0.2% 42.7%, 0.2% 43%, 0.2% 43.3%, 0.1% 43.6%, 0.1% 44%, 0.1% 44.3%, 0% 44.6%, 0% 44.9%, 0% 45.2%, 0% 45.6%, 0% 45.9%, 0% 46.2%, 0% 46.5%, 0% 46.9%, 0% 47.2%, 0.1% 47.5%, 0.1% 47.8%, 0.1% 48.1%, 0.1% 48.5%, 0.2% 48.8%, 0.2% 49.1%, 0.3% 49.4%, 0.3% 49.7%, 0.4% 50%, 0.4% 50.3%, 10.7% 96.5%, 10.7% 96.7%, 10.8% 96.9%, 10.8% 97.1%, 10.9% 97.3%, 10.9% 97.5%, 11% 97.7%, 11% 97.8%, 11.1% 98%, 11.2% 98.1%, 11.2% 98.3%, 11.3% 98.4%, 11.3% 98.6%, 11.4% 98.7%, 11.5% 98.8%, 11.5% 98.9%, 11.6% 99%, 11.7% 99.1%, 11.8% 99.2%, 11.8% 99.3%, 11.9% 99.4%, 12% 99.5%, 12.1% 99.5%, 12.1% 99.6%, 12.2% 99.6%, 12.3% 99.7%, 12.4% 99.7%, 12.4% 99.7%, 12.5% 99.8%, 12.6% 99.8%, 12.7% 99.8%, 91% 93.6%, 91.1% 93.6%, 91.1% 93.6%, 91.2% 93.6%, 91.3% 93.5%, 91.3% 93.5%, 91.4% 93.5%, 91.5% 93.4%, 91.5% 93.4%, 91.6% 93.3%, 91.7% 93.3%, 91.7% 93.2%, 91.8% 93.1%, 91.8% 93%, 91.9% 92.9%, 92% 92.9%, 92% 92.8%, 92.1% 92.7%, 92.1% 92.5%, 92.2% 92.4%, 92.2% 92.3%, 92.3% 92.2%, 92.4% 92.1%, 92.4% 91.9%, 92.5% 91.8%, 92.5% 91.6%, 92.6% 91.5%, 92.6% 91.3%, 92.6% 91.2%, 92.7% 91%, 92.7% 90.9%, 99.5% 63.6%, 99.5% 63.3%, 99.6% 63.1%, 99.6% 62.9%, 99.6% 62.7%, 99.7% 62.4%, 99.7% 62.2%, 99.8% 61.9%, 99.8% 61.7%, 99.8% 61.4%, 99.8% 61.2%, 99.9% 60.9%, 99.9% 60.6%, 99.9% 60.4%, 99.9% 60.1%, 99.9% 59.9%, 99.9% 59.6%, 99.9% 59.3%, 99.9% 59%, 99.9% 58.8%, 99.9% 58.5%, 99.9% 58.2%, 99.9% 58%, 99.9% 57.7%, 99.9% 57.4%, 99.9% 57.2%, 99.8% 56.9%, 99.8% 56.6%, 99.8% 56.4%, 99.7% 56.1%, 99.7% 55.9%);
}
.mirai-share-btn__icon {
  flex-shrink: 0;
}
.mirai-share-btn__label {
  text-align: center;
}
.mirai-share-btn__label img {
  width: 75%;
  height: auto;
  margin: auto;
}

.mirai-share-accordion {
  flex: 1 1 50%;
}/*# sourceMappingURL=mirai.css.map */