#page.standby #main, #page.standby .f_aside, #page.standby .f_cta_entry, #page.standby #footer {
  opacity: 0;
}
#page.standby .introarea .con_txt, #page.standby .introarea .con_pagenav {
  opacity: 0;
}

#main, .f_aside, .f_cta_entry, #footer {
  transition: opacity 800ms ease-in-out;
}

.introarea {
  z-index: 2;
}
.introarea .con_txt, .introarea .con_pagenav {
  transition: opacity 800ms ease-in-out 1000ms;
}

@media only screen and (max-width:767px) {
  .aboutarea > .bg_slash .sla01 {
    width: 65.7333333333vw;
    background: rgba(0, 0, 0, 0.6);
    left: min(6.640625vw, 106.25px);
  }
  .aboutarea > .bg_slash .sla02 {
    width: 160vw;
    left: -59.4666666667vw;
    background: rgba(0, 0, 0, 0.3);
  }
  .aboutarea > .bg_slash .sla03 {
    display: none;
  }
  .contentsarea > .bg_slash .sla01 {
    margin-left: 66.6666666667vw;
  }
}
@media only screen and (min-width:768px) {
  .aboutarea > .bg_slash .sla01 {
    width: min(38.4375vw, 615px);
    margin-left: max(-42.96875vw, -687.5px);
    background: rgba(0, 0, 0, 0.6);
  }
  .aboutarea > .bg_slash .sla02 {
    width: min(94.53125vw, 1512.5px);
    left: 0;
    margin: 0;
    background: rgba(0, 0, 0, 0.3);
  }
  .aboutarea > .bg_slash .sla03 {
    width: min(40.9375vw, 655px);
    margin-left: min(3.515625vw, 56.25px);
    background: rgba(0, 0, 0, 0.2);
    top: auto;
    bottom: 0;
    transform-origin: bottom left;
    height: calc(100% - min(21.09375vw, 337.5px));
  }
  .contentsarea > .bg_slash .sla01 {
    width: min(40.9375vw, 655px);
    margin-left: min(3.515625vw, 56.25px);
    background: rgba(0, 0, 0, 0.2);
  }
}
/* -----------------------------------------------------------
	.con_pageintro
----------------------------------------------------------- */
#page.viewing .con_pageintro:before {
  transform: translateY(-100%);
}

.con_pageintro {
  padding: calc(10.6666666667vw + var(--height-hlogo)) 10.6666666667vw 0;
}
.con_pageintro:before {
  content: "";
  display: block;
  background: var(--color-bg);
  position: fixed;
  left: 0;
  width: 100%;
  transition: transform 400ms ease-in-out;
  height: var(--height-hlogo);
  top: 0;
  transform-origin: top center;
}
.con_pageintro .con_txt {
  position: relative;
  color: var(--color);
}
.con_pageintro .con_txt:before, .con_pageintro .con_txt:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}
.con_pageintro .con_txt:before {
  height: 21.3333333333vw;
  border-left: 1px solid #fff;
  border-top: 1px solid #fff;
  left: 0;
  top: 0;
}
.con_pageintro .con_txt:after {
  width: calc(100% + 20vw);
  height: calc(100% + 21.3333333333vw);
  transform: skew(calc(var(--skew-deg) * -1), 0deg);
  transform-origin: center center;
  background: var(--color-yellow);
  top: -10.6666666667vw;
  left: -16vw;
  z-index: -1;
  opacity: 0.9;
}
.con_pageintro .con_txt h1 {
  font-size: 5.8666666667vw;
  font-weight: 600;
  letter-spacing: 0.2ex;
  padding: 4.2666666667vw 0 0 4.2666666667vw;
}
.con_pageintro .con_txt .en {
  font-size: 4vw;
  font-weight: 600;
  margin-top: 2.4vw;
  padding-left: 4.2666666667vw;
}
.con_pageintro .con_txt .txt {
  font-size: 3.7333333333vw;
  letter-spacing: 0.3ex;
  margin-top: 8vw;
  line-height: 1.8;
  text-align: justify;
}
.con_pageintro .con_pagenav {
  position: relative;
  width: 100vw;
  margin-top: 10.6666666667vw;
  margin-left: -10.6666666667vw;
  z-index: 1;
  padding: 8vw 10.6666666667vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: var(--color-bg);
}
.con_pageintro .con_pagenav > p {
  font-size: 4vw;
  font-weight: 600;
  letter-spacing: 0.2ex;
  transition: color 300ms ease-in-out;
}
.con_pageintro .con_pagenav .pagenavigation {
  margin-top: 3.7333333333vw;
}
.con_pageintro .con_pagenav .pagenavigation ul {
  grid-template-columns: repeat(2, 1fr);
}
.con_pageintro .con_pagenav .pagenavigation ul li:not(:first-child) {
  margin-top: 3.7333333333vw;
}
.con_pageintro .con_pagenav .pagenavigation ul li.wide {
  grid-column: 1/3;
}
.con_pageintro .con_pagenav .pagenavigation ul li a {
  display: block;
  border-top: 1px solid currentColor;
  border-left: 1px solid currentColor;
  padding: 2.6666666667vw 4.8vw 2.9333333333vw 2.6666666667vw;
  font-size: 3.7333333333vw;
  line-height: 1.3;
  letter-spacing: 0.15ex;
  position: relative;
  transition: color 300ms ease-in-out;
}
.con_pageintro .con_pagenav .pagenavigation ul li a:after {
  content: "";
  display: block;
  position: absolute;
  width: 1.6vw;
  height: 1.6vw;
  border-right: 0.2666666667vw solid currentColor;
  border-bottom: 0.2666666667vw solid currentColor;
  right: min(1.171875vw, 18.75px);
  top: 50%;
  margin-top: -1.3333333333vw;
  transform: rotate(45deg);
}

#nextstage .page_bg {
  background: var(--color-bg);
}
@media only screen and (max-width:767px) {
  #nextstage .page_bg picture {
    padding-top: var(--height-hlogo);
  }
  #nextstage .page_bg img {
    height: auto;
    object-fit: fill;
  }
}

@media only screen and (min-width:768px) {
  .con_pageintro {
    min-height: 100vh;
    padding: 10vh 0;
    display: flex;
    align-items: center;
  }
  .con_pageintro:before, .con_pageintro:after {
    display: none;
  }
  .con_pageintro .con_txt:before {
    width: min(43.75vw, 700px);
    height: min(10vw, 160px);
    left: max(-2.5vw, -40px);
    top: max(-2.8125vw, -45px);
  }
  .con_pageintro .con_txt:after {
    width: min(44.140625vw, 706.25px);
    height: calc(100% + min(12.890625vw, 206.25px));
    transform-origin: left top;
    top: max(-7.1875vw, -115px);
    left: max(-5.46875vw, -87.5px);
    opacity: 1;
  }
  .con_pageintro .con_txt h1 {
    font-size: min(2.65625vw, 42.5px);
    padding: 0;
  }
  .con_pageintro .con_txt .en {
    font-size: min(1.5625vw, 25px);
    margin-top: min(0.46875vw, 7.5px);
    padding: 0;
  }
  .con_pageintro .con_txt .txt {
    width: min(25vw, 400px);
    font-size: min(1.09375vw, 17.5px);
    margin-top: min(4.6875vw, 75px);
  }
  .con_pageintro .con_pagenav {
    display: none;
  }
  #nextstage .page_bg img {
    object-fit: contain;
    object-position: right top;
  }
}
/* -----------------------------------------------------------
	.con_about
----------------------------------------------------------- */
.con_about {
  padding: 13.3333333333vw 6.6666666667vw;
  color: #fff;
}
.con_about .box_about h3 {
  font-size: 5.0666666667vw;
  font-weight: 600;
  letter-spacing: 0.1ex;
  margin-top: 4vw;
}
.con_about .box_about p {
  margin-top: 2.6666666667vw;
  letter-spacing: 0.15ex;
  text-align: justify;
  font-size: 3.7333333333vw;
  line-height: 1.8;
}
.con_about .box_about figure {
  position: relative;
  margin-top: 8.5333333333vw;
}
.con_about .box_about figure picture, .con_about .box_about figure img {
  width: 100%;
}

@media only screen and (min-width:768px) {
  .aboutarea {
    overflow: hidden;
  }
  .con_about {
    padding: min(7.8125vw, 125px) 0 min(6.25vw, 100px);
  }
  .con_about .box_about {
    margin-top: min(2.5vw, 40px);
  }
  .con_about .box_about h3 {
    font-size: min(1.875vw, 30px);
    letter-spacing: 0.2ex;
    margin: 0;
  }
  .con_about .box_about p {
    font-size: min(1.09375vw, 17.5px);
    letter-spacing: 0.25ex;
    margin-top: 1.8em;
  }
  .con_about .box_about figure {
    margin-top: min(3.59375vw, 57.5px);
  }
}
/* -----------------------------------------------------------
	.con_vision
----------------------------------------------------------- */
.con_vision {
  padding: 13.3333333333vw 6.6666666667vw;
}
.con_vision .box_vision {
  margin-top: 4.2666666667vw;
  background: #fff;
  display: flex;
  flex-direction: column;
}
.con_vision .box_vision.v01 {
  margin-top: 4.5333333333vw;
}
.con_vision .box_vision.v01 .con_img {
  margin-top: 4.2666666667vw;
}
.con_vision .box_vision.v01 .con_img img {
  width: 100%;
}
.con_vision .box_vision.v02 {
  margin-top: 4.5333333333vw;
}
.con_vision .box_vision.v02 .con_img {
  margin-top: 6.4vw;
}
.con_vision .box_vision.v02 .con_img img {
  width: 90%;
  margin: 0 auto;
}
.con_vision .box_vision .con_txt {
  order: 1;
  padding: 4.2666666667vw 4.2666666667vw 6.4vw;
}
.con_vision .box_vision .con_txt h3 {
  font-size: 5.0666666667vw;
  font-weight: 600;
  letter-spacing: 0.2ex;
}
.con_vision .box_vision .con_txt p {
  margin-top: 2.6666666667vw;
  letter-spacing: 0.2ex;
  text-align: justify;
  font-size: 3.7333333333vw;
  line-height: 1.8;
}

@media only screen and (min-width:768px) {
  .con_vision {
    padding: min(7.8125vw, 125px) 0;
  }
  .con_vision .box_vision {
    margin: 0;
  }
  .con_vision .box_vision.v01 {
    margin-top: min(2.65625vw, 42.5px);
  }
  .con_vision .box_vision.v01 .con_img {
    margin-top: 0;
  }
  .con_vision .box_vision.v02 {
    margin-top: min(3.59375vw, 57.5px);
  }
  .con_vision .box_vision.v02 .con_img {
    margin-top: min(2.5vw, 40px);
  }
  .con_vision .box_vision.v02 .con_img img {
    width: min(60.3125vw, 965px);
  }
  .con_vision .box_vision .con_txt {
    padding: min(1.5625vw, 25px) min(2.8125vw, 45px) min(3.125vw, 50px);
  }
  .con_vision .box_vision .con_txt h3 {
    font-size: min(1.875vw, 30px);
  }
  .con_vision .box_vision .con_txt p {
    font-size: min(1.09375vw, 17.5px);
    margin-top: min(1.5625vw, 25px);
  }
}
/* -----------------------------------------------------------
	.con_result
----------------------------------------------------------- */
.con_result {
  padding: 0 6.6666666667vw 13.3333333333vw;
}
.con_result h2 + p {
  margin-top: 4.2666666667vw;
  letter-spacing: 0.2ex;
  text-align: justify;
  font-size: 3.7333333333vw;
  line-height: 1.8;
}
.con_result > ul {
  margin-top: 7.4666666667vw;
}
.con_result > ul li {
  position: relative;
  perspective: 160vw;
  width: 100%;
  margin: 4.2666666667vw auto 0;
}
@media only screen and (max-width:767px) {
  .con_result > ul li.active .flip {
    transform: rotateY(180deg);
  }
  .con_result > ul li.active .front {
    opacity: 0;
  }
  .con_result > ul li.result07 .back p {
    letter-spacing: 0.1ex;
  }
}
.con_result > ul li.result01 img {
  width: 27.44vw;
}
.con_result > ul li.result02 img {
  width: 24.4533333333vw;
  transform: translateX(-15%);
}
.con_result > ul li.result03 img {
  width: 30.8vw;
}
.con_result > ul li.result04 img {
  width: 26.32vw;
}
.con_result > ul li.result05 img {
  width: 33.6vw;
}
.con_result > ul li.result06 img {
  width: 34.72vw;
}
.con_result > ul li.result07 img {
  width: 27.2533333333vw;
  transform: translateX(-8%);
}
.con_result > ul li.result08 img {
  width: 19.4133333333vw;
  transform: translateX(5%);
}
.con_result > ul li.result09 img {
  width: 23.7066666667vw;
}
.con_result > ul li .flip {
  transform-style: preserve-3d;
  transform: rotateY(0deg);
  transition: transform 600ms ease-in-out;
  height: 39.2vw;
  will-change: transform;
}
@media only screen and (max-width:767px) {
  .con_result > ul li .front,
  .con_result > ul li .back {
    overflow: hidden;
  }
  .con_result > ul li .front:before,
  .con_result > ul li .back:before {
    content: "";
    position: absolute;
    width: 9.4266666667vw;
    height: 9.4266666667vw;
    right: 0;
    bottom: 0;
    border-radius: 5.3333333333vw 0 0 0;
    backface-visibility: hidden;
  }
  .con_result > ul li .front:after,
  .con_result > ul li .back:after {
    font-family: var(--font-en);
    font-size: 2.6666666667vw;
    font-weight: 600;
    line-height: 1.2;
    display: inline-block;
    position: absolute;
    right: 0;
    bottom: 9.4266666667vw;
    width: 13.3293066667vw;
    transform-origin: right bottom;
    transform: rotate(-45deg);
    z-index: 1;
    text-align: center;
    backface-visibility: hidden;
  }
}
.con_result > ul li .front {
  background: linear-gradient(315deg, transparent 0 6.6666666667vw, #fff 6.6666666667vw 100%);
  border-radius: 5.6vw;
  padding: 6.4vw;
  display: flex;
  justify-content: space-around;
  align-items: center;
  gap: 2.6666666667vw 0;
  backface-visibility: hidden;
  height: 100%;
  position: relative;
}
@media only screen and (max-width:767px) {
  .con_result > ul li .front {
    transition: opacity 0ms linear 300ms;
    will-change: opacity;
  }
  .con_result > ul li .front:before {
    background: linear-gradient(315deg, transparent 0 6.6666666667vw, var(--color-yellow) 6.6666666667vw 100%);
  }
  .con_result > ul li .front:after {
    content: "TAP";
    letter-spacing: 0.2ex;
    text-indent: 0.2ex;
  }
}
.con_result > ul li .front h3 {
  font-size: 4vw;
  font-weight: 600;
  text-align: center;
  letter-spacing: 0.2ex;
  padding-left: 0.2ex;
  display: block;
}
.con_result > ul li .front img {
  margin: 0;
}
.con_result > ul li .back {
  position: absolute;
  background: linear-gradient(315deg, transparent 0 6.6666666667vw, var(--color-yellow) 6.6666666667vw 100%);
  display: flex;
  align-items: center;
  padding: 6.4vw;
  border-radius: 5.6vw;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  transform: rotateY(180deg);
  backface-visibility: hidden;
}
@media only screen and (max-width:767px) {
  .con_result > ul li .back:before {
    background: linear-gradient(315deg, transparent 0 6.6666666667vw, #fff 6.6666666667vw 100%);
  }
  .con_result > ul li .back:after {
    content: "BACK";
    letter-spacing: 0.1ex;
    text-indent: 0.1ex;
  }
}
.con_result > ul li .back p {
  font-size: 3.7333333333vw;
  line-height: 1.8;
  text-align: justify;
  letter-spacing: 0.2ex;
}

@media only screen and (min-width:768px) {
  .con_result {
    padding: 0 0 min(7.8125vw, 125px);
  }
  .con_result h2 + p {
    margin-top: min(2.5vw, 40px);
    font-size: min(1.09375vw, 17.5px);
  }
  .con_result > ul {
    margin-top: min(2.5vw, 40px);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(1.71875vw, 27.5px) min(1.5625vw, 25px);
  }
  .con_result > ul li {
    cursor: pointer;
    perspective: min(93.75vw, 1500px);
    width: auto;
    margin: 0;
  }
  .con_result > ul li:hover .flip {
    transform: rotateY(180deg);
  }
  .con_result > ul li.result01 img {
    width: min(11.484375vw, 183.75px);
  }
  .con_result > ul li.result02 img {
    width: min(10.234375vw, 163.75px);
  }
  .con_result > ul li.result03 img {
    width: min(12.890625vw, 206.25px);
  }
  .con_result > ul li.result04 img {
    width: min(11.015625vw, 176.25px);
  }
  .con_result > ul li.result05 img {
    width: min(14.0625vw, 225px);
  }
  .con_result > ul li.result06 img {
    width: min(14.53125vw, 232.5px);
  }
  .con_result > ul li.result06 h3 {
    padding-bottom: min(1.5625vw, 25px);
  }
  .con_result > ul li.result07 img {
    width: min(11.40625vw, 182.5px);
  }
  .con_result > ul li.result08 img {
    width: min(8.125vw, 130px);
  }
  .con_result > ul li.result09 img {
    width: min(9.921875vw, 158.75px);
  }
  .con_result > ul li .flip {
    height: 100%;
  }
  .con_result > ul li .front {
    background: #fff;
    border-radius: min(3.28125vw, 52.5px);
    padding: min(2.03125vw, 32.5px) min(1.875vw, 30px) min(1.875vw, 30px);
    gap: min(1.5625vw, 25px) 0;
    justify-content: flex-end;
    flex-direction: column;
  }
  .con_result > ul li .front h3 {
    order: 1;
    font-size: min(1.875vw, 30px);
    margin: 0;
  }
  .con_result > ul li .back {
    background: var(--color-yellow);
    padding: min(1.875vw, 30px);
    border-radius: min(3.28125vw, 52.5px);
  }
  .con_result > ul li .back p {
    font-size: min(1.09375vw, 17.5px);
  }
}
/* -----------------------------------------------------------
	.con_vision2030
----------------------------------------------------------- */
.con_vision2030 {
  padding: 0 6.6666666667vw 20vw;
}
.con_vision2030 h2 + img,
.con_vision2030 h2 + .con_yt {
  margin-top: 4.2666666667vw;
  width: 100%;
}
.con_vision2030 .con_yt {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
}
.con_vision2030 .con_yt iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.con_vision2030 .box_vision2030 {
  margin-top: 4.2666666667vw;
}
.con_vision2030 .box_vision2030 h3 {
  font-size: 5.0666666667vw;
  font-weight: 600;
  letter-spacing: 0.2ex;
}
.con_vision2030 .box_vision2030 p {
  margin-top: 2.6666666667vw;
  letter-spacing: 0.2ex;
  text-align: justify;
  font-size: 3.7333333333vw;
  line-height: 1.8;
}

@media only screen and (min-width:768px) {
  .con_vision2030 {
    padding: 0 0 min(7.8125vw, 125px);
  }
  .con_vision2030 h2 + img,
  .con_vision2030 h2 + .con_yt {
    margin-top: min(2.5vw, 40px);
  }
  .con_vision2030 .box_vision2030 {
    margin-top: min(2.03125vw, 32.5px);
  }
  .con_vision2030 .box_vision2030 h3 {
    font-size: min(1.875vw, 30px);
  }
  .con_vision2030 .box_vision2030 p {
    margin-top: min(1.09375vw, 17.5px);
    font-size: min(1.09375vw, 17.5px);
    letter-spacing: 0.25ex;
  }
}