.cmn-container-l2 {
  position: relative;
  z-index: 1;
}

.cmn-container-l2 .inner {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  width: 92vw;
  gap: 10.6666666667vw;
  padding: 20vw 0 10.6666666667vw 0;
}

.cmn-container-l3 {
  position: relative;
  z-index: 1;
}

.cmn-container-l3 .inner {
  margin: 0 auto;
  width: 92vw;
  padding-bottom: 10.6666666667vw;
}

.cmn-bg {
  position: absolute;
  inset: 0;
  background-color: var(--color-bg);
  background-image: url(../img/common/bg_grass.webp);
  background-repeat: repeat;
  background-position: center -10.6666666667vw;
  background-size: 29.3333333333vw auto;
}

.cmn-bg-ill {
  filter: drop-shadow(8px 8px 10px rgba(var(--color-font-rgb), 0.25));
  pointer-events: none;
  position: absolute;
  z-index: -2;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
  align-items: end;
  top: -7.2vw;
  width: 37.6vw;
  margin-left: -7.3333333333vw;
}

.cmn-bg-ill .ill1,
.cmn-bg-ill .ill3 {
  width: 7.6vw;
}

.cmn-bg-ill .ill2 {
  width: 8.8vw;
}

.cmn-bg-ill div[class^=ill] {
  mask: linear-gradient(0deg, rgb(255, 255, 255) 49%, rgb(0, 0, 0) 50%) no-repeat;
  mask-size: 100% 100%;
}

.cmn-bg-line {
  background: url(../img/common/bg_grass_line.svg) repeat-x;
  background-size: auto 100%;
  position: absolute;
  pointer-events: none;
  left: 0;
  width: 100%;
  top: -5.3333333333vw;
  height: 5.6vw;
}

.cmn-image {
  margin: 0 auto;
  display: flex;
  justify-content: center;
  width: 92vw;
}

.cmn-image.col-1-l {
  width: 92vw;
}

.cmn-image.col-1 {
  width: 92vw;
}

.cmn-image.col-2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4vw;
}

.cmn-image.col-1-l:not(:last-child),
.cmn-image.col-1:not(:last-child),
.cmn-image.col-2:not(:last-child) {
  margin-bottom: 4vw;
}

.cmn-image .image {
  --gap: -9.2vw;
  display: flex;
  flex-direction: column;
  width: 100%;
  filter: drop-shadow(1.6vw 1.6vw 2.6666666667vw rgba(var(--color-font-rgb), 0.25));
}

.cmn-image .image::before,
.cmn-image .image::after {
  content: "";
  position: relative;
  z-index: -1;
  aspect-ratio: 496/61;
  width: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.cmn-image .image::before {
  background-image: url(../img/common/card_top.svg);
  margin-bottom: var(--gap);
}

.cmn-image .image::after {
  background-image: url(../img/common/card_bottom.svg);
  margin-top: var(--gap);
}

.cmn-image .image figure,
.cmn-image .image picture {
  display: block;
  background: url(../img/common/card_repeat.svg) repeat-y;
  background-size: 100% auto;
  padding: 0 2vw;
}

.cmn-image .image figure img,
.cmn-image .image picture img {
  aspect-ratio: 932/524;
}

.cmn-image .caption {
  position: relative;
  display: flex;
  align-items: flex-start;
  margin-top: 0.5em;
  line-height: 1.5em;
  font-weight: 700;
  color: var(--color-purple);
  -webkit-text-stroke: 1.3333333333vw var(--color-white);
  text-stroke: 1.3333333333vw var(--color-white);
  paint-order: stroke;
  font-size: 4.2666666667vw;
  gap: 1.6vw;
}

.cmn-image .caption::before {
  content: "";
  flex-shrink: 0;
  aspect-ratio: 1;
  background: var(--color-white);
  border-radius: 50%;
  width: 5.0666666667vw;
  margin-top: 0.5333333333vw;
}

.cmn-image .caption::after {
  content: "";
  position: absolute;
  aspect-ratio: 1;
  mask: url(../img/common/ic_pagination.svg) no-repeat;
  background-size: contain;
  background: var(--color-light-purple);
  top: 0.5333333333vw;
  left: 0.5333333333vw;
  width: 4vw;
  margin-top: 0.5333333333vw;
}

.cmn-text-link {
  border-bottom: 2px solid var(--color-white);
  font-weight: 700;
  color: var(--color-font);
}

.cmn-text-link[target=_blank]::after {
  content: "";
  display: inline-block;
  aspect-ratio: 1;
  background: url(../img/common/ic_link.webp) no-repeat;
  background-size: contain;
  transform: translateY(0.1em);
  width: 1em;
  margin-left: 0.2em;
}

.cmn-heading-l2,
.cmn-heading-l3 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
}

.cmn-heading-l2 .heading-bg,
.cmn-heading-l3 .heading-bg {
  position: absolute;
  inset: 0;
}

.cmn-heading-l2 .heading-bg video,
.cmn-heading-l3 .heading-bg video {
  opacity: 0.7;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.cmn-heading-l2 .heading-shadow,
.cmn-heading-l3 .heading-shadow {
  position: relative;
  z-index: 1;
  filter: drop-shadow(0 2.6666666667vw 0 var(--color-font-shadow));
  transform: translateZ(0);
}

.cmn-heading-l2 .heading-frame,
.cmn-heading-l3 .heading-frame {
  position: relative;
  background: url(../img/common/bg_title.webp) repeat-y;
  background-size: 100% auto;
  width: 92vw;
  clip-path: polygon(2.8985507246% 0, 97.1014492754% 0, 100% 9.0909090909%, 100% 90.9090909091%, 97.1014492754% 100%, 2.8985507246% 100%, 0 90.9090909091%, 0 9.0909090909%);
}

.cmn-heading-l2 .heading-body,
.cmn-heading-l3 .heading-body {
  padding: 6.6666666667vw 2.6666666667vw;
}

.cmn-heading-l2 h1,
.cmn-heading-l3 h1 {
  text-align: center;
  color: var(--color-white);
  text-shadow: 2px 2px 0px var(--color-font-shadow);
  font-weight: 900;
  line-height: 1.25;
  margin-block: calc((1em - 1lh) / 2);
  letter-spacing: 0.05em;
  font-size: 8.2666666667vw;
}

.cmn-heading-l2 .dot-top,
.cmn-heading-l2 .dot-bottom,
.cmn-heading-l3 .dot-top,
.cmn-heading-l3 .dot-bottom {
  position: absolute;
  width: 100%;
}

.cmn-heading-l2 .dot-top::before,
.cmn-heading-l2 .dot-top::after,
.cmn-heading-l2 .dot-bottom::before,
.cmn-heading-l2 .dot-bottom::after,
.cmn-heading-l3 .dot-top::before,
.cmn-heading-l3 .dot-top::after,
.cmn-heading-l3 .dot-bottom::before,
.cmn-heading-l3 .dot-bottom::after {
  content: "";
  position: absolute;
  background: var(--color-dot);
  border-radius: 50%;
  aspect-ratio: 1;
  width: 2.1333333333vw;
}

.cmn-heading-l2 .dot-top,
.cmn-heading-l3 .dot-top {
  top: 0;
}

.cmn-heading-l2 .dot-top::before,
.cmn-heading-l3 .dot-top::before {
  top: 2.1333333333vw;
  left: 2.6666666667vw;
}

.cmn-heading-l2 .dot-top::after,
.cmn-heading-l3 .dot-top::after {
  top: 2.1333333333vw;
  right: 2.6666666667vw;
}

.cmn-heading-l2 .dot-bottom,
.cmn-heading-l3 .dot-bottom {
  bottom: 0;
}

.cmn-heading-l2 .dot-bottom::before,
.cmn-heading-l3 .dot-bottom::before {
  bottom: 2.1333333333vw;
  left: 2.6666666667vw;
}

.cmn-heading-l2 .dot-bottom::after,
.cmn-heading-l3 .dot-bottom::after {
  bottom: 2.1333333333vw;
  right: 2.6666666667vw;
}

.cmn-heading-l2 {
  height: 74.9333333333vw;
}

.cmn-heading-l3 {
  height: 62.6666666667vw;
}

.cmn-grouping-heading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 5.3333333333vw;
}

.cmn-grouping-heading .heading-shadow {
  filter: drop-shadow(1.6vw 1.6vw 2.6666666667vw rgba(var(--color-font-rgb), 0.25));
  transform: translateZ(0);
}

.cmn-grouping-heading .heading-ill-body,
.cmn-grouping-heading .heading-ill-hands {
  aspect-ratio: 202/140;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  right: 4vw;
  top: -5.7333333333vw;
  width: 24.2666666667vw;
}

.cmn-grouping-heading .heading-ill-body {
  background-image: url(../img/common/ill_cloud_body.webp);
}

.cmn-grouping-heading .heading-ill-hands {
  background-image: url(../img/common/ill_cloud_hands.webp);
}

.cmn-grouping-heading .heading-frame {
  display: flex;
  justify-content: center;
  align-items: center;
}

.cmn-grouping-heading .heading-frame.width-s {
  width: 92vw;
}

.cmn-grouping-heading .heading-frame.width-l {
  width: 92vw;
}

.cmn-grouping-heading .heading-frame.row-1 {
  height: 24vw;
}

.cmn-grouping-heading .heading-frame.row-2 {
  height: 38.6666666667vw;
}

.cmn-grouping-heading .heading-frame.row-2-pc {
  height: 38.6666666667vw;
}

.cmn-grouping-heading .heading-frame.width-s.row-1 {
  background-image: url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp);
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: auto 100%;
}

.cmn-grouping-heading .heading-frame.width-l.row-1 {
  background-image: url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp);
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: auto 100%;
}

.cmn-grouping-heading .heading-frame.width-l.row-2 {
  background-image: url(../img/common/bg_cloud_row2.webp), url(../img/common/bg_cloud_row2.webp);
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: auto 100%;
}

.cmn-grouping-heading .heading-frame.width-l.row-2-pc {
  background-image: url(../img/common/bg_cloud_row2.webp), url(../img/common/bg_cloud_row2.webp);
  background-repeat: no-repeat;
  background-position: left top, right top;
  background-size: auto 100%;
}

.cmn-grouping-heading h2 {
  text-align: center;
  font-weight: 700;
  line-height: 1.25;
  margin-block: calc((1em - 1lh) / 2);
  letter-spacing: 0.05em;
  font-size: 6.4vw;
}

.cmn-card-container {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4vw;
  width: 92vw;
}

.cmn-card-container .card {
  --gap: -4.4vw;
  display: flex;
  flex-direction: column;
  filter: drop-shadow(1.6vw 1.6vw 2.6666666667vw rgba(var(--color-font-rgb), 0.25));
  transform: translateZ(0);
}

.cmn-card-container .card::before,
.cmn-card-container .card::after {
  content: "";
  position: relative;
  z-index: -1;
  aspect-ratio: 496/61;
  width: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.cmn-card-container .card::before {
  background-image: url(../img/common/card_top.svg);
  margin-bottom: var(--gap);
}

.cmn-card-container .card::after {
  background-image: url(../img/common/card_bottom.svg);
  margin-top: var(--gap);
}

.cmn-card-container .card .card-inner {
  background: url(../img/common/card_repeat.svg?v2) repeat-y;
  background-size: 100% auto;
  padding: 0 1.0666666667vw 2vw 1.0666666667vw;
}

.cmn-card-container .content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1.3333333333vw;
  gap: 1.3333333333vw;
}

.cmn-card-container .title {
  flex: 1;
  display: flex;
  align-items: center;
  height: 3.75em;
  font-weight: 700;
  line-height: 1.25;
  margin-left: 0.9333333333vw;
  font-size: 3.4666666667vw;
}

.cmn-card-container .image {
  aspect-ratio: 520/292;
}

.cmn-card-container.card-pokemon .image {
  aspect-ratio: 1;
}

.cmn-card-container .icon {
  transition: filter 0.2s, transform 0.2s;
  filter: drop-shadow(0px 0.5333333333vw 0px rgba(var(--color-font-rgb), 0.6));
  background: url(../img/common/ic_card.webp) no-repeat;
  background-size: 100% auto;
  aspect-ratio: 1;
  margin-right: 0.6666666667vw;
  width: 5.0666666667vw;
}

.cmn-grouping-section-box {
  background: rgba(var(--color-white-rgb), 0.25);
  margin-left: -2vw;
  margin-right: -2vw;
  margin-top: -16vw;
  border-radius: 4vw;
  padding: 16vw 0 10.6666666667vw 0;
}

.cmn-grouping-intro {
  display: flex;
  flex-direction: column;
  gap: 8vw;
  padding-inline: 3.3333333333vw;
}

.cmn-grouping-l2:not(:has(.cmn-grouping-heading)) {
  margin-top: 16vw;
}

.cmn-button {
  display: flex;
  justify-content: center;
  margin: 0 auto;
  width: 92vw;
}

.cmn-button .button {
  width: 100%;
  filter: drop-shadow(0px 1.6vw 0px rgba(var(--color-font-rgb), 0.6));
  transform: translateZ(0);
}

.cmn-button .button-frame {
  display: flex;
}

.cmn-button .button-frame::before,
.cmn-button .button-frame::after {
  content: "";
  background: url(../img/common/btn_frame.webp) no-repeat;
  background-size: auto 100%;
  aspect-ratio: 74/190;
  width: 9.3333333333vw;
}

.cmn-button .button-frame::before {
  transform: translateX(1px);
}

.cmn-button .button-frame::after {
  transform: translateX(-1px) scale(-1, 1);
}

.cmn-button .button-body {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--color-white);
  background: url(../img/common/btn_body.webp) no-repeat;
  background-size: 100% 100%;
  gap: 4vw;
}

.cmn-button .button-icon {
  filter: drop-shadow(2px 2px 0px var(--color-purple));
}

.cmn-button .button-icon::before {
  content: "";
  display: block;
  background: var(--color-white);
  clip-path: polygon(0 50%, 100% 100%, 100% 0);
  aspect-ratio: 8/12;
  width: 2.6666666667vw;
}

.cmn-button .button-text {
  text-shadow: 2px 2px 0px var(--color-purple);
  font-weight: 900;
  letter-spacing: 0.05em;
  font-size: 6.4vw;
}

.cmn-button .button[target=_blank] .button-body {
  flex-flow: row-reverse;
}

.cmn-button .button[target=_blank] .button-body .button-icon::before {
  display: none;
}

.cmn-button .button[target=_blank] .button-body .button-icon::after {
  content: "";
  display: block;
  background: url(../img/common/ic_link.svg) no-repeat center/contain;
  background-size: 1em;
  width: 1em;
  height: 1em;
}

.cmn-button .button.button-slim .button-frame::before,
.cmn-button .button.button-slim .button-frame::after {
  width: 6.6666666667vw;
}

.cmn-button .button.button-slim .button-text {
  font-size: 4.8vw;
}

.cmn-button-block {
  display: flex;
  justify-content: center;
  gap: 6vw;
}

.cmn-button-icon {
  width: 12.8vw;
}

.cmn-button-icon .button {
  display: block;
  aspect-ratio: 1;
  background-repeat: no-repeat;
  background-size: contain;
  width: 100%;
  filter: drop-shadow(0px 1.6vw 0px rgba(var(--color-font-rgb), 0.6));
}

.cmn-button-icon .button.prev {
  background-image: url(../img/common/ic_next.webp);
  transform: scale(-1, 1);
}

.cmn-button-icon .button.list {
  background-image: url(../img/common/ic_list.webp);
}

.cmn-button-icon .button.next {
  background-image: url(../img/common/ic_next.webp);
}

html:has(body.menu-open) {
  overflow: hidden;
}

.global_header {
  position: relative;
  z-index: 9999;
}

.global_header .toplogo {
  position: fixed;
  z-index: 10;
  top: min(7.5px, 1.3333333333vw);
  left: min(15px, 2.6666666667vw);
}

[lang=ja] .global_header .toplogo {
  width: min(90px, 16vw);
}

[lang=zh-cmn-Hans] .global_header .toplogo {
  width: min(105px, 18.6666666667vw);
}

[lang=zh-cmn-Hant] .global_header .toplogo {
  width: min(105px, 18.6666666667vw);
}

.global_header .toplogo img {
  transition: transform 400ms cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

.global_header .toplogo[data-visible=false] img {
  transform: translate3d(0, -120px, 0);
}

.global_header #menu-check {
  display: none;
}

.global_header .menu-button {
  position: fixed;
  top: min(12px, 2.1333333333vw);
  right: min(12px, 2.1333333333vw);
  transform: translateZ(0);
}

.global_header .menu-button label {
  display: block;
  width: min(66px, 11.7333333333vw);
  min-width: 40px;
  aspect-ratio: 1;
  filter: drop-shadow(0px min(9px, 1.6vw) 0px rgba(var(--color-font-rgb), 0.8));
  transition: transform 0.3s, filter 0.3s;
}

.global_header .menu-button.close {
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}

.global_header .menu {
  opacity: 0;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100dvh;
  overflow: auto;
  overscroll-behavior: none;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.global_header .menu::-webkit-scrollbar {
  display: none;
}

.global_header .menu .menu-back {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  cursor: default;
}

.global_header .menu .menu-panel {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
}

.global_header .menu .menu-panel .menu-scroller {
  position: relative;
  min-height: 100vh;
  display: grid;
  grid-template-rows: 1fr auto;
}

.global_header .menu .menu-panel .nav {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4vw;
}

.global_header .menu .menu-panel .nav a .nav-title {
  display: flex;
  align-items: center;
  filter: drop-shadow(2px 2px 0px var(--color-purple));
  font-weight: 900;
  letter-spacing: 0.05em;
  font-size: 4.8vw;
  gap: 0.4em;
}

.global_header .menu .menu-panel .nav a .nav-title::after {
  content: "";
  background: var(--color-white);
  aspect-ratio: 15/22;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
  width: 2.4vw;
}

.global_header .menu .menu-panel .nav a .underline {
  display: none;
}

.global_header .menu .menu-panel .nav a .line {
  flex: 1;
  background: url(../img/common/bg_nav_line_02.webp) repeat-x;
  background-size: auto 100%;
  filter: drop-shadow(2px 2px 0px var(--color-purple));
}

.global_header .menu .menu-panel .nav a .curve {
  flex: none;
  aspect-ratio: 90/24;
  background: url(../img/common/bg_nav_line_01.webp) no-repeat;
  background-size: auto 100%;
  filter: drop-shadow(2px 2px 0px var(--color-purple));
}

.global_header .menu .menu-panel .menu-content {
  position: relative;
  color: var(--color-white);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 26px;
  background-size: 160px;
  padding-top: 25px;
  padding-bottom: 45px;
  transform: scale(0);
  transition: transform 500ms cubic-bezier(0.77, 0, 0.175, 1);
}

.global_header .menu .menu-panel .menu-morphing {
  aspect-ratio: 1030/747;
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 146.6666666667vw;
}

.global_header .menu .menu-panel .menu-morphing svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.global_header .menu .menu-panel #menu-morphing {
  fill: #c49aff;
  fill-rule: evenodd;
}

.global_header #menu-check:checked ~ .menu-button.open {
  opacity: 0;
  pointer-events: none;
}

.global_header #menu-check:checked ~ .menu-button.close {
  opacity: 1;
  pointer-events: auto;
}

.global_header #menu-check:checked ~ .menu {
  opacity: 1;
  pointer-events: auto;
}

.global_header #menu-check:checked ~ .menu .menu-content {
  transform: translate3d(0, 0, 0) scale(1);
}

footer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 9.3333333333vw;
}

footer .shares {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 8vw;
}

footer .shares a {
  width: 15.4666666667vw;
}

footer .language {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 4vw;
}

footer .language a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-light-purple);
  border-radius: 100px;
  border: 2px solid var(--color-light-purple);
  width: 28vw;
  padding: 2.4vw 0;
  overflow: hidden;
}

footer .language a::after {
  font-family: "icon" !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: relative;
  color: var(--color-white);
  font-size: 3.7333333333vw;
  transition: all 200ms;
}

footer .language a[hreflang=ja]::after {
  content: "\e900";
}

footer .language a[hreflang=zh-cmn-Hans]::after {
  content: "\e901";
}

footer .language a[hreflang=zh-cmn-Hant]::after {
  content: "\e902";
}

[lang=ja] footer .language a[hreflang=ja] {
  pointer-events: none;
  background: #fff;
}

[lang=ja] footer .language a[hreflang=ja]::after {
  color: var(--color-font);
}

[lang=zh-cmn-Hans] footer .language a[hreflang=zh-cmn-Hans] {
  pointer-events: none;
  background: #fff;
}

[lang=zh-cmn-Hans] footer .language a[hreflang=zh-cmn-Hans]::after {
  color: var(--color-font);
}

[lang=zh-cmn-Hant] footer .language a[hreflang=zh-cmn-Hant] {
  pointer-events: none;
  background: #fff;
}

[lang=zh-cmn-Hant] footer .language a[hreflang=zh-cmn-Hant]::after {
  color: var(--color-font);
}

footer .official {
  display: flex;
  justify-content: center;
  flex-direction: column;
  gap: 5.3333333333vw;
  width: 73.3333333333vw;
  margin: 0 auto;
}

footer .official a {
  position: relative;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.1em;
  color: var(--color-font);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 3.7333333333vw;
}

@keyframes width100 {
  0% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

footer .official a::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -5px;
  height: 2px;
  width: 100%;
  background: var(--color-white);
}

footer .official a::after {
  content: "";
  display: block;
  aspect-ratio: 1;
  background: url(../img/common/ic_link.webp) no-repeat;
  background-size: contain;
  width: 5.3333333333vw;
}

footer .copyright,
footer .caution {
  font-weight: 700;
  font-size: 3.7333333333vw;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

footer .caution {
  margin-top: -1em;
  padding-bottom: 21.3333333333vw;
}

.pagetop {
  position: fixed;
  z-index: 800;
  aspect-ratio: 1;
  background: url("../img/common/ic_pagetop.webp") center/contain no-repeat;
  opacity: 0;
  pointer-events: none;
  filter: drop-shadow(0px 1.6vw 0px rgba(var(--color-font-rgb), 0.8));
  right: 2.1333333333vw;
  bottom: 2.1333333333vw;
  width: 11.4666666667vw;
}

.pagetop[data-visible=true] {
  opacity: 1;
  pointer-events: auto;
}

.modal {
  position: fixed;
  top: 0;
  width: 100vw;
  height: 100dvh;
  z-index: 100000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 90px 0;
  overflow: auto;
  overscroll-behavior: contain;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.modal::-webkit-scrollbar {
  display: none;
}

.modal .modal-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  cursor: default;
}

.modal .modal-content {
  width: 92vw;
  max-width: 1020px;
  margin: auto;
}

.modal .modal-content .ytplayer {
  position: relative;
  aspect-ratio: 16/9;
  background: #000;
}

.modal .modal-content .ytplayer::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 1;
}

.modal .modal-content .ytplayer iframe {
  width: 100%;
  height: 100%;
}

.modal .modal-content .swiper-slide {
  position: relative;
}

.modal .modal-content .play {
  position: absolute;
  inset: 0;
}

.modal .modal-content .play::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  aspect-ratio: 1;
  background: url(../img/common/ic_slide.webp) no-repeat;
  background-size: contain;
  filter: drop-shadow(0px 1.6vw 0px rgba(var(--color-font-rgb), 0.8));
  width: 16vw;
}

.modal .modal-close {
  background: url(../img/common/ic_close.webp) no-repeat;
  background-size: contain;
  position: fixed;
  aspect-ratio: 1;
  filter: drop-shadow(0px 1.6vw 0px rgba(var(--color-font-rgb), 0.8));
  width: 11.7333333333vw;
  top: min(12px, 2.1333333333vw);
  right: min(12px, 2.1333333333vw);
  transform: translateZ(0);
}

html:has(body > .modal) {
  overflow: hidden;
}

body > .modal {
  display: flex !important;
}

:where(body) {
  overflow-x: clip;
  color: var(--color-font);
  background-color: var(--color-bg);
  background-image: url(../img/common/bg_grass.webp);
  background-repeat: repeat;
  background-position: center -10.6666666667vw;
  background-size: 29.3333333333vw auto;
}

.anywhere {
  overflow-wrap: anywhere;
}

main:has(.cmn-heading-l2),
main:has(.cmn-heading-l3) {
  padding-bottom: 21.3333333333vw;
}

@media screen and (min-width: 768px) {
  .cmn-container-l2 .inner {
    width: min(1024px, min( calc(1024 / 1280 * 100vw)));
    gap: min(80px, min( calc(80 / 1280 * 100vw)));
    padding: min(80px, min( calc(80 / 1280 * 100vw))) 0;
  }

  .cmn-container-l3 .inner {
    width: min(1280px, min( calc(1280 / 1280 * 100vw)));
    padding-bottom: min(80px, min( calc(80 / 1280 * 100vw)));
  }

  .cmn-bg {
    background-position: center top;
    background-size: 158px auto;
  }

  .cmn-bg-ill {
    top: -55px;
    width: min(1200px, min( calc(1200 / 1280 * 100vw)));
    margin-left: 0;
  }

  .cmn-bg-ill .ill1,
  .cmn-bg-ill .ill3 {
    width: 57px;
  }

  .cmn-bg-ill .ill2 {
    width: 66px;
    transform: translateX(-70px);
  }

  .cmn-bg-line {
    top: -39px;
    height: 40px;
  }

  .cmn-bg-tiles {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    max-width: min(1360px, min( calc(1360 / 1280 * 100vw)));
    padding-right: min(20px, min( calc(20 / 1280 * 100vw)));
    padding-left: min(20px, min( calc(20 / 1280 * 100vw)));
    width: 100%;
    height: 100%;
    top: min(120px, min( calc(120 / 1280 * 100vw)));
    left: 50%;
    transform: translateX(-50%);
  }

  .cmn-bg-tiles .tile {
    width: 100%;
    height: min(234px, min( calc(234 / 1280 * 100vw)));
    background-image: url(../img/common/bg_tile_l.webp), url(../img/common/bg_tile_r.webp);
    background-position: left top, right top;
    background-repeat: no-repeat, no-repeat;
    background-size: auto 100%, auto 100%;
    margin-bottom: -1.3333333333vw;
  }

  .cmn-bg-plants {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    pointer-events: none;
    max-width: min(1360px, min( calc(1360 / 1280 * 100vw)));
    padding-right: min(20px, min( calc(20 / 1280 * 100vw)));
    padding-left: min(20px, min( calc(20 / 1280 * 100vw)));
    width: 100%;
    height: calc(100% - min(160px, min( calc(160 / 1280 * 100vw))));
    top: min(160px, min( calc(160 / 1280 * 100vw)));
    left: 50%;
    transform: translateX(-50%);
  }

  .cmn-bg-plants .plant1,
  .cmn-bg-plants .plant2,
  .cmn-bg-plants .plant3 {
    height: min(234px, min( calc(234 / 1280 * 100vw)));
    background-repeat: no-repeat;
    background-size: 100% auto;
    background-position: left center;
  }

  .cmn-bg-plants span:nth-of-type(odd) {
    align-self: flex-end;
    margin-right: min(30px, min( calc(30 / 1280 * 100vw)));
  }

  .cmn-bg-plants span:nth-of-type(even) {
    margin-left: min(30px, min( calc(30 / 1280 * 100vw)));
  }

  .cmn-bg-plants .plant1 {
    width: min(117px, min( calc(117 / 1280 * 100vw)));
    background-image: url(../img/common/bg_plant_1.webp);
  }

  .cmn-bg-plants .plant2 {
    width: min(117px, min( calc(117 / 1280 * 100vw)));
    background-image: url(../img/common/bg_plant_2.webp);
  }

  .cmn-bg-plants .plant3 {
    width: min(119px, min( calc(119 / 1280 * 100vw)));
    background-image: url(../img/common/bg_plant_3.webp);
  }

  .cmn-image {
    width: min(1028px, min( calc(1028 / 1280 * 100vw)));
  }

  .cmn-image.col-1-l {
    width: min(1028px, min( calc(1028 / 1280 * 100vw)));
  }

  .cmn-image.col-1 {
    width: min(499px, min( calc(499 / 1280 * 100vw)));
  }

  .cmn-image.col-2 {
    grid-template-columns: 1fr 1fr;
    gap: min(30px, min( calc(30 / 1280 * 100vw)));
  }

  .cmn-image.col-1-l:not(:last-child),
  .cmn-image.col-1:not(:last-child),
  .cmn-image.col-2:not(:last-child) {
    margin-bottom: min(30px, min( calc(30 / 1280 * 100vw)));
  }

  .cmn-image .image {
    --gap: max(-45px, max(calc(-45 / 1280 * 100vw)));
    filter: drop-shadow(min(6px, min( calc(6 / 1280 * 100vw))) min(6px, min( calc(6 / 1280 * 100vw))) min(10px, min( calc(10 / 1280 * 100vw))) rgba(var(--color-font-rgb), 0.25));
  }

  .cmn-image .image figure,
  .cmn-image .image picture {
    padding: 0 min(15px, min( calc(15 / 1280 * 100vw)));
  }

  .cmn-image .caption {
    -webkit-text-stroke: min(6px, min( calc(6 / 1280 * 100vw))) var(--color-white);
    text-stroke: min(6px, min( calc(6 / 1280 * 100vw))) var(--color-white);
    font-size: min(16px, min( calc(16 / 1280 * 100vw)));
    gap: min(2px, min( calc(2 / 1280 * 100vw)));
  }

  .cmn-image .caption::before {
    width: min(24px, min( calc(24 / 1280 * 100vw)));
    margin-top: 0;
  }

  .cmn-image .caption::after {
    top: min(4px, min( calc(4 / 1280 * 100vw)));
    left: min(4px, min( calc(4 / 1280 * 100vw)));
    width: min(16px, min( calc(16 / 1280 * 100vw)));
    margin-top: 0;
  }

  .cmn-heading-l2 .heading-shadow,
  .cmn-heading-l3 .heading-shadow {
    filter: drop-shadow(0 min(10px, min( calc(10 / 1280 * 100vw))) 0 var(--color-font-shadow));
  }

  .cmn-heading-l2 .heading-frame,
  .cmn-heading-l3 .heading-frame {
    width: auto;
    clip-path: polygon(1.1111111111% 0, 98.8888888889% 0, 100% 10%, 100% 90%, 98.8888888889% 100%, 1.1111111111% 100%, 0 90%, 0 10%);
  }

  .cmn-heading-l2 .heading-body,
  .cmn-heading-l3 .heading-body {
    padding: min(30px, min( calc(30 / 1280 * 100vw))) min(40px, min( calc(40 / 1280 * 100vw)));
    min-width: min(610px, min( calc(610 / 1280 * 100vw)));
  }

  .cmn-heading-l2 h1,
  .cmn-heading-l3 h1 {
    font-size: min(45px, min( calc(45 / 1280 * 100vw)));
  }

  .cmn-heading-l2 .dot-top::before,
  .cmn-heading-l2 .dot-top::after,
  .cmn-heading-l2 .dot-bottom::before,
  .cmn-heading-l2 .dot-bottom::after,
  .cmn-heading-l3 .dot-top::before,
  .cmn-heading-l3 .dot-top::after,
  .cmn-heading-l3 .dot-bottom::before,
  .cmn-heading-l3 .dot-bottom::after {
    width: min(8px, min( calc(8 / 1280 * 100vw)));
  }

  .cmn-heading-l2 .dot-top::before,
  .cmn-heading-l3 .dot-top::before {
    top: min(8px, min( calc(8 / 1280 * 100vw)));
    left: min(10px, min( calc(10 / 1280 * 100vw)));
  }

  .cmn-heading-l2 .dot-top::after,
  .cmn-heading-l3 .dot-top::after {
    top: min(8px, min( calc(8 / 1280 * 100vw)));
    right: min(10px, min( calc(10 / 1280 * 100vw)));
  }

  .cmn-heading-l2 .dot-bottom::before,
  .cmn-heading-l3 .dot-bottom::before {
    bottom: min(8px, min( calc(8 / 1280 * 100vw)));
    left: min(10px, min( calc(10 / 1280 * 100vw)));
  }

  .cmn-heading-l2 .dot-bottom::after,
  .cmn-heading-l3 .dot-bottom::after {
    bottom: min(8px, min( calc(8 / 1280 * 100vw)));
    right: min(10px, min( calc(10 / 1280 * 100vw)));
  }

  .cmn-heading-l2 {
    height: min(394px, min( calc(394 / 1280 * 100vw)));
  }

  .cmn-heading-l3 {
    height: min(310px, min( calc(310 / 1280 * 100vw)));
  }

  .cmn-grouping-heading {
    margin-bottom: min(40px, min( calc(40 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-shadow {
    filter: drop-shadow(min(6px, min( calc(6 / 1280 * 100vw))) min(6px, min( calc(6 / 1280 * 100vw))) min(10px, min( calc(10 / 1280 * 100vw))) rgba(var(--color-font-rgb), 0.25));
  }

  .cmn-grouping-heading .heading-ill-body,
  .cmn-grouping-heading .heading-ill-hands {
    left: 50%;
    transform: translateX(-50%);
    right: auto;
    top: max(-25px, max( calc(-25 / 1280 * 100vw)));
    width: min(101px, min( calc(101 / 1280 * 100vw)));
    margin-left: min(135px, min( calc(135 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-frame.width-s {
    width: min(383px, min( calc(383 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-frame.width-l {
    width: min(855px, min( calc(855 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-frame.row-1 {
    height: min(100px, min( calc(100 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-frame.row-2 {
    height: min(100px, min( calc(100 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-frame.row-2-pc {
    height: min(136px, min( calc(136 / 1280 * 100vw)));
  }

  .cmn-grouping-heading .heading-frame.width-s.row-1 {
    background-size: min(223px, min( calc(223 / 1280 * 100vw))) auto;
  }

  .cmn-grouping-heading .heading-frame.width-l.row-1 {
    background-image: url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp);
    background-position: left top, min(158px, min( calc(158 / 1280 * 100vw))) top, min(316px, min( calc(316 / 1280 * 100vw))) top, min(474px, min( calc(474 / 1280 * 100vw))) top, right top;
    background-size: min(223px, min( calc(223 / 1280 * 100vw))) auto;
  }

  .cmn-grouping-heading .heading-frame.width-l.row-2 {
    background-image: url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp), url(../img/common/bg_cloud_row1.webp);
    background-position: left top, min(158px, min( calc(158 / 1280 * 100vw))) top, min(316px, min( calc(316 / 1280 * 100vw))) top, min(474px, min( calc(474 / 1280 * 100vw))) top, right top;
    background-size: min(223px, min( calc(223 / 1280 * 100vw))) auto;
  }

  .cmn-grouping-heading .heading-frame.width-l.row-2-pc {
    background-image: url(../img/common/bg_cloud_row2.webp), url(../img/common/bg_cloud_row2.webp), url(../img/common/bg_cloud_row2.webp), url(../img/common/bg_cloud_row2.webp), url(../img/common/bg_cloud_row2.webp);
    background-position: left top, min(158px, min( calc(158 / 1280 * 100vw))) top, min(316px, min( calc(316 / 1280 * 100vw))) top, min(474px, min( calc(474 / 1280 * 100vw))) top, right top;
    background-size: min(223px, min( calc(223 / 1280 * 100vw))) auto;
  }

  .cmn-grouping-heading h2 {
    font-size: min(32px, min( calc(32 / 1280 * 100vw)));
  }

  .cmn-card-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: min(30px, min( calc(30 / 1280 * 100vw)));
    width: min(900px, min( calc(900 / 1280 * 100vw)));
  }

  .cmn-card-container.col-2 {
    width: min(600px, min( calc(600 / 1280 * 100vw)));
  }

  .cmn-card-container.col-2 .card {
    width: min(285px, min( calc(285 / 1280 * 100vw)));
  }

  .cmn-card-container .card {
    --gap: max(-24px, max(calc(-24 / 1280 * 100vw)));
    filter: drop-shadow(min(6px, min( calc(6 / 1280 * 100vw))) min(6px, min( calc(6 / 1280 * 100vw))) min(10px, min( calc(10 / 1280 * 100vw))) rgba(var(--color-font-rgb), 0.25));
    width: min(276px, min( calc(276 / 1280 * 100vw)));
  }

  .cmn-card-container .card .card-inner {
    padding: 0 min(10px, min( calc(10 / 1280 * 100vw))) min(10px, min( calc(10 / 1280 * 100vw))) min(10px, min( calc(10 / 1280 * 100vw)));
  }

  .cmn-card-container .content {
    margin-top: min(12px, min( calc(12 / 1280 * 100vw)));
    gap: min(20px, min( calc(20 / 1280 * 100vw)));
  }

  .cmn-card-container .title {
    height: 2.5em;
    margin-left: min(5px, min( calc(5 / 1280 * 100vw)));
    font-size: min(18px, min( calc(18 / 1280 * 100vw)));
  }

  .cmn-card-container .icon {
    filter: drop-shadow(0px min(4px, min( calc(4 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.6));
    margin-right: min(5px, min( calc(5 / 1280 * 100vw)));
    width: min(23px, min( calc(23 / 1280 * 100vw)));
  }

  .cmn-grouping-section-box {
    margin-left: 0;
    margin-right: 0;
    margin-top: max(-90px, max( calc(-90 / 1280 * 100vw)));
    border-radius: min(30px, min( calc(30 / 1280 * 100vw)));
    padding: min(90px, min( calc(90 / 1280 * 100vw))) 0 min(80px, min( calc(80 / 1280 * 100vw))) 0;
  }

  .cmn-grouping-intro {
    gap: min(40px, min( calc(40 / 1280 * 100vw)));
  }

  .cmn-grouping-l2:not(:has(.cmn-grouping-heading)) {
    margin-top: min(120px, min( calc(120 / 1280 * 100vw)));
  }

  .cmn-button {
    width: auto;
  }

  .cmn-button .button {
    width: auto;
    filter: drop-shadow(0px min(8px, min( calc(8 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.6));
    transition: filter 0.2s, transform 0.2s;
  }

  .cmn-button .button-frame::before,
  .cmn-button .button-frame::after {
    width: min(37px, min( calc(37 / 1280 * 100vw)));
  }

  .cmn-button .button-body {
    gap: min(15px, min( calc(15 / 1280 * 100vw)));
    padding: 0 min(55px, min( calc(55 / 1280 * 100vw)));
  }

  .cmn-button .button-icon::before {
    width: min(8px, min( calc(8 / 1280 * 100vw)));
  }

  .cmn-button .button-text {
    font-size: min(24px, min( calc(24 / 1280 * 100vw)));
  }

  .cmn-button .button.button-slim .button-frame::before,
  .cmn-button .button.button-slim .button-frame::after {
    width: min(28px, min( calc(28 / 1280 * 100vw)));
  }

  .cmn-button .button.button-slim .button-body {
    min-width: min(180px, min( calc(180 / 1280 * 100vw)));
    padding: 0 min(20px, min( calc(20 / 1280 * 100vw)));
  }

  .cmn-button .button.button-slim .button-text {
    font-size: min(18px, min( calc(18 / 1280 * 100vw)));
  }

  .cmn-button-block {
    gap: min(50px, min( calc(50 / 1280 * 100vw)));
  }

  .cmn-button-icon {
    width: min(76px, min( calc(76 / 1280 * 100vw)));
  }

  .cmn-button-icon .button {
    filter: drop-shadow(0px min(8px, min( calc(8 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.6));
    transition: filter 0.2s, transform 0.2s;
  }

  .global_header .toplogo {
    top: 10px;
    left: 20px;
  }

  [lang=ja] .global_header .toplogo {
    width: 118px;
  }

  [lang=zh-cmn-Hans] .global_header .toplogo {
    width: 140px;
  }

  [lang=zh-cmn-Hant] .global_header .toplogo {
    width: 140px;
  }

  .global_header .menu-button {
    top: 16px;
    right: 16px;
  }

  .global_header .menu-button label {
    filter: drop-shadow(0px min(8px, min( calc(8 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.8));
    width: 66px;
  }

  .global_header .menu .menu-panel .nav {
    gap: min(12px, min( calc(12 / 1280 * 100vw)));
  }

  .global_header .menu .menu-panel .nav a .nav-title {
    font-size: min(32px, min( calc(32 / 1280 * 100vw)));
    padding: 0 min(20px, min( calc(20 / 1280 * 100vw)));
    opacity: 1;
    transition: opacity 0.5s;
  }

  .global_header .menu .menu-panel .nav a .nav-title::after {
    width: min(15px, min( calc(15 / 1280 * 100vw)));
  }

  .global_header .menu .menu-panel .nav a .underline {
    position: relative;
    display: flex;
    height: min(12px, min( calc(12 / 1280 * 100vw)));
    margin-top: min(6px, min( calc(6 / 1280 * 100vw)));
  }

  .global_header .menu .menu-panel .nav a .underline::after {
    content: "";
    position: absolute;
    top: 0;
    right: -3px;
    width: calc(100% + 3px);
    height: calc(100% + 3px);
    background: #c49aff;
    transition: width 0.5s;
  }

  .global_header .menu .menu-panel .menu-content {
    background-size: 240px;
  }

  .global_header .menu .menu-panel .menu-morphing {
    width: min(1030px, min( calc(1030 / 1280 * 100vw)));
  }

  footer {
    gap: 40px;
  }

  footer .shares {
    gap: 30px;
  }

  footer .shares a {
    width: 58px;
    transition: transform 0.2s;
  }

  footer .language {
    gap: 30px;
  }

  footer .language a {
    width: 180px;
    padding: 12px 0;
  }

  footer .language a::after {
    font-size: 14px;
  }

  footer .official {
    flex-direction: row;
    gap: 30px;
    width: auto;
  }

  footer .official a {
    font-size: 14px;
    gap: 6px;
  }

  footer .official a::after {
    width: 20px;
  }

  footer .copyright,
  footer .caution {
    font-size: 14px;
    text-align: center;
  }

  footer .caution {
    padding-bottom: 80px;
  }

  .pagetop {
    filter: drop-shadow(0px min(8px, min( calc(8 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.8));
    right: 20px;
    bottom: 20px;
    width: 64px;
    transition: opacity 0.3s, filter 0.2s, transform 0.2s;
  }

  .modal .modal-content {
    width: calc(100vw - 196px);
  }

  .modal .modal-content .play::after {
    transition: filter 0.2s, transform 0.2s, opacity 0.3s;
    width: min(90px, min( calc(90 / 1280 * 100vw)));
    filter: drop-shadow(0px min(8px, min( calc(8 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.8));
  }

  .modal .modal-close {
    transition: filter 0.2s, transform 0.2s;
    filter: drop-shadow(0px min(8px, min( calc(8 / 1280 * 100vw))) 0px rgba(var(--color-font-rgb), 0.8));
    top: 16px;
    right: 16px;
    width: 66px;
  }

  :where(body) {
    background-position: center bottom;
    background-size: 158px auto;
  }

  ._only_sp {
    display: none;
  }

  main:has(.cmn-heading-l2),
  main:has(.cmn-heading-l3) {
    padding-bottom: 80px;
  }
}

@media screen and (min-width: 768px) and (hover: hover) {
  .cmn-text-link:hover {
    border: none;
  }

  .cmn-card-container .card:hover .icon {
    transform: translateY(min(4px, min( calc(4 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  .cmn-button .button:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.6));
  }

  .cmn-button-icon .button:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.6));
  }

  .cmn-button-icon .button:hover.prev {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw)))) scale(-1, 1);
  }

  footer .shares a:hover {
    transform: scale(1.1);
  }

  footer .official a:hover::before {
    animation: width100 0.4s linear;
  }

  .pagetop:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  .modal .modal-content .play:hover::after {
    transform: translate(-50%, calc(-50% + min(8px, min( calc(8 / 1280 * 100vw)))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  .modal .modal-close:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }
}

@media screen and (min-width: 768px) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: none) {
  .cmn-text-link:hover {
    border: none;
  }

  .cmn-card-container .card:hover .icon {
    transform: translateY(min(4px, min( calc(4 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  .cmn-button .button:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.6));
  }

  .cmn-button-icon .button:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.6));
  }

  .cmn-button-icon .button:hover.prev {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw)))) scale(-1, 1);
  }

  footer .shares a:hover {
    transform: scale(1.1);
  }

  footer .official a:hover::before {
    animation: width100 0.4s linear;
  }

  .pagetop:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  .modal .modal-content .play:hover::after {
    transform: translate(-50%, calc(-50% + min(8px, min( calc(8 / 1280 * 100vw)))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  .modal .modal-close:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }
}

@media screen and (min-width: 768px) and (min-width: 1024px) {
  .cmn-grouping-section-box {
    margin-left: 0;
    margin-right: 0;
  }
}

@media screen and (hover: hover) and (min-width: 768px) {
  .global_header .menu-button label:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
  }
}

@media screen and (-ms-high-contrast: active) and (min-width: 768px), screen and (-ms-high-contrast: none) and (min-width: 768px) {
  .global_header .menu-button label:hover {
    transform: translateY(min(8px, min( calc(8 / 1280 * 100vw))));
  }
}

@media screen and (min-width: 768px) and (hover: hover) and (hover: hover) {
  .global_header .menu .menu-panel .nav a:hover:hover .nav-title {
    opacity: 0.5;
  }

  .global_header .menu .menu-panel .nav a:hover:hover .underline::after {
    width: 0;
  }
}

@media screen and (min-width: 768px) and (hover: hover) and (-ms-high-contrast: active), screen and (min-width: 768px) and (hover: hover) and (-ms-high-contrast: none) {
  .global_header .menu .menu-panel .nav a:hover:hover .nav-title {
    opacity: 0.5;
  }

  .global_header .menu .menu-panel .nav a:hover:hover .underline::after {
    width: 0;
  }
}

@media screen and (min-width: 768px) and (-ms-high-contrast: active) and (hover: hover), screen and (min-width: 768px) and (-ms-high-contrast: none) and (hover: hover) {
  .global_header .menu .menu-panel .nav a:hover:hover .nav-title {
    opacity: 0.5;
  }

  .global_header .menu .menu-panel .nav a:hover:hover .underline::after {
    width: 0;
  }
}

@media screen and (min-width: 768px) and (-ms-high-contrast: active) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: active) and (-ms-high-contrast: none), screen and (min-width: 768px) and (-ms-high-contrast: none) and (-ms-high-contrast: active), screen and (min-width: 768px) and (-ms-high-contrast: none) and (-ms-high-contrast: none) {
  .global_header .menu .menu-panel .nav a:hover:hover .nav-title {
    opacity: 0.5;
  }

  .global_header .menu .menu-panel .nav a:hover:hover .underline::after {
    width: 0;
  }
}

@media screen and (min-width: 1024px) {
  .global_header .menu .menu-panel .menu-content {
    padding-top: 30px;
    gap: 30px;
    background-size: 320px;
  }

  .modal .modal-content {
    width: calc(100vw - 220px);
  }
}

@media screen and (max-width: 767.8px) {
  .global_header .menu .menu-panel {
    overflow: hidden;
  }

  footer .copyright,
  footer .caution {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  ._only_pc {
    display: none;
  }
}

@media (hover: hover) {
  .global_header .toplogo:hover img {
    transform: none;
  }

  .global_header .menu-button label:hover {
    transform: translateY(min(9px, 1.6vw));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  footer .language a:hover {
    background: #fff;
  }

  footer .language a:hover::after {
    color: var(--color-font);
  }

  footer .language:has(a:hover) a:not(:hover) {
    background: var(--color-light-purple);
  }

  footer .language:has(a:hover) a:not(:hover)::before {
    opacity: 0.2;
  }

  footer .language:has(a:hover) a:not(:hover)::after {
    color: var(--color-white);
  }
}

@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
  .global_header .toplogo:hover img {
    transform: none;
  }

  .global_header .menu-button label:hover {
    transform: translateY(min(9px, 1.6vw));
    filter: drop-shadow(0px 0px 0px rgba(var(--color-font-rgb), 0.8));
  }

  footer .language a:hover {
    background: #fff;
  }

  footer .language a:hover::after {
    color: var(--color-font);
  }
}