@charset "UTF-8";
.main .number .num {
  font-family: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
}

@media screen and (hover: hover) and (pointer: fine) {
  .hov, .main .mv .btn--howto, .main .mv .btn--tovote, .main .charDetail .panel .backToToc, .main .charDetail .panel .col--02 .btn, .main .flogo a, .popup.char .close,
.popup.tomorrow .close, .popup.char .btn a,
.popup.tomorrow .btn a, .popup.howto .btn--howto_vote {
    transition: opacity 0.3s;
  }
  @supports (filter: brightness(100%)) {
    .hov, .main .mv .btn--howto, .main .mv .btn--tovote, .main .charDetail .panel .backToToc, .main .charDetail .panel .col--02 .btn, .main .flogo a, .popup.char .close,
.popup.tomorrow .close, .popup.char .btn a,
.popup.tomorrow .btn a, .popup.howto .btn--howto_vote {
      transition-property: filter;
    }
  }
  .hov:hover, .main .mv .btn--howto:hover, .main .mv .btn--tovote:hover, .main .charDetail .panel .backToToc:hover, .main .charDetail .panel .col--02 .btn:hover, .main .flogo a:hover, .popup.char .close:hover,
.popup.tomorrow .close:hover, .popup.char .btn a:hover,
.popup.tomorrow .btn a:hover, .popup.howto .btn--howto_vote:hover {
    opacity: 0.8;
  }
  @supports (filter: brightness(100%)) {
    .hov:hover, .main .mv .btn--howto:hover, .main .mv .btn--tovote:hover, .main .charDetail .panel .backToToc:hover, .main .charDetail .panel .col--02 .btn:hover, .main .flogo a:hover, .popup.char .close:hover,
.popup.tomorrow .close:hover, .popup.char .btn a:hover,
.popup.tomorrow .btn a:hover, .popup.howto .btn--howto_vote:hover {
      filter: brightness(110%);
      opacity: 1;
    }
  }
}

html {
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
}

.sp {
  display: none;
}

@media screen and (max-width: 750px) {
  .pc {
    display: none;
  }
  .sp {
    display: revert;
  }
}
.fadeIn {
  opacity: 0;
  transition: opacity 0.8s;
}
.fadeIn.scrollIn {
  opacity: 1;
}

.fadeUp {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: 0.8s;
  transition-property: opacity, transform;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .fadeUp {
    transform: translate3d(0, 2.5773195876vw, 0);
  }
}
@media screen and (max-width: 750px) {
  .fadeUp {
    transform: translate3d(0, 6.6666666667vw, 0);
  }
}
.fadeUp.scrollIn {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@-webkit-keyframes ticker {
  from {
    translate: 0 0 0;
  }
  to {
    translate: -50% 0 0;
  }
}

@keyframes ticker {
  from {
    translate: 0 0 0;
  }
  to {
    translate: -50% 0 0;
  }
}
a.hidden {
  display: none;
}

.main {
  margin: 0;
  padding: 0 0 100px;
  position: relative;
  background: #ff0 url(../imgs/bg.jpg) 50% 0/1920px auto repeat;
  color: #404040;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main {
    padding: 0 0 5.1546391753vw;
    background-size: 98.9690721649vw;
  }
}
@media screen and (max-width: 750px) {
  .main {
    padding: 0 0 13.3333333333vw;
    background-size: 256vw;
  }
}
.main img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
.main *:target {
  outline: none;
}
.main .number {
  box-sizing: border-box;
  width: 100%;
  position: absolute;
  left: 0;
}
.main .number .inner {
  display: flex;
  align-items: baseline;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 5px 27px 5px 35px;
  background-image: url(../imgs/blt01.png), url(../imgs/blt01.png);
  background-position: 0 100%, 100% 0;
  background-size: 26px auto;
  background-repeat: no-repeat;
  line-height: 1;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .number .inner {
    padding: 0.2577319588vw 1.3917525773vw 0.2577319588vw 1.8041237113vw;
    background-size: 1.3402061856vw auto;
  }
}
@media screen and (max-width: 750px) {
  .main .number .inner {
    padding: 0.6666666667vw 3.6vw 0.6666666667vw 4.6666666667vw;
    background-size: 3.4666666667vw auto;
  }
}
.main .number .num {
  display: block;
  font-size: 56px;
  -webkit-text-stroke: 4px #404040;
  text-stroke: 4px #404040;
  -webkit-text-fill-color: #95dbff;
  text-fill-color: #95dbff;
  paint-order: stroke fill;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .number .num {
    font-size: 2.8865979381vw;
    -webkit-text-stroke: 0.206185567vw #404040;
    text-stroke: 0.206185567vw #404040;
  }
}
@media screen and (max-width: 750px) {
  .main .number .num {
    font-size: 7.4666666667vw;
    -webkit-text-stroke: 0.5333333333vw #404040;
    text-stroke: 0.5333333333vw #404040;
  }
}
.main .number .small {
  font-size: 26px;
  font-weight: 700;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .number .small {
    font-size: 1.3402061856vw;
  }
}
@media screen and (max-width: 750px) {
  .main .number .small {
    font-size: 3.4666666667vw;
  }
}
.main .mv {
  position: relative;
}
.main .mv img {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .main .mv .sp {
    display: grid;
    position: relative;
    overflow: hidden;
  }
  .main .mv .sp .back,
.main .mv .sp .front {
    grid-area: 1/1;
  }
  .main .mv .sp .slide {
    display: flex;
    width: 387.4666666667vw;
    position: absolute;
    bottom: 10.2666666667vw;
    left: 0;
    -webkit-animation: ticker 30s infinite linear;
            animation: ticker 30s infinite linear;
  }
  .main .mv .sp .slide img {
    width: 50%;
    height: auto;
  }
}
@media screen and (max-width: 750px) {
  .main .mv .btns {
    width: 100%;
    position: -webkit-sticky;
    position: sticky;
    bottom: 0;
    left: 0;
    box-shadow: 0 2.8vw 3.8666666667vw 0.1333333333vw rgba(33, 40, 3, 0.3);
  }
}
.main .mv .btn--howto {
  display: block;
  width: 220px;
  position: absolute;
  left: 40px;
  bottom: 34px;
  border-radius: 50%;
  box-shadow: 11px 16px 37px 6px rgba(33, 40, 3, 0.3);
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .mv .btn--howto {
    width: 11.3402061856vw;
    left: 2.0618556701vw;
    bottom: 1.7525773196vw;
    box-shadow: 0.5670103093vw 0.824742268vw 1.9072164948vw 0.3092783505vw rgba(33, 40, 3, 0.3);
  }
}
@media screen and (max-width: 750px) {
  .main .mv .btn--howto {
    width: auto;
    position: static;
    border-radius: 0;
  }
}
.main .mv .btn--tovote {
  display: block;
  width: 202px;
  position: absolute;
  right: 66px;
  bottom: 20px;
  filter: drop-shadow(14px 20px 30px 5px rgba(33, 40, 3, 0.3));
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .mv .btn--tovote {
    width: 11.3402061856vw;
    right: 3.4020618557vw;
    bottom: 1.0309278351vw;
    filter: drop-shadow(0.7216494845vw 1.0309278351vw 1.5463917526vw 0.2577319588vw rgba(33, 40, 3, 0.3));
  }
}
@media screen and (max-width: 750px) {
  .main .mv .btn--tovote {
    width: auto;
    position: static;
  }
}
.main .contents {
  margin: 14px 0 0;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .contents {
    margin: 0.7216494845vw 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main .contents {
    margin: 5.3333333333vw 0 0;
  }
}
.main .contents .notice {
  display: flex;
  justify-content: center;
  color: #404040;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .contents .notice {
    font-size: 0.7216494845vw;
  }
}
@media screen and (max-width: 750px) {
  .main .contents .notice {
    display: block;
    padding: 0 5.3333333333vw;
    font-size: 3.2vw;
  }
}
.main .contents .notice .name::after {
  content: "：";
}
.main .contents .toc,
.main .contents .charDetail {
  width: 100%;
  top: 0;
  left: 0;
  transition: opacity 1s;
}
.main .contents .toc {
  margin: 90px 0 0;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .contents .toc {
    margin: 4.6391752577vw 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main .contents .toc {
    margin: 8vw 0 0;
  }
}
.main .contents .charDetail {
  display: none;
  position: absolute;
  opacity: 0;
}
.main .contents .charDetail .panelArea {
  transition: opacity 1s;
}
.main .contents .charDetail .panelArea1 {
  opacity: 1;
}
.main .contents .charDetail .panelArea2 {
  opacity: 0;
}
.main .contents.showCharDetail .toc {
  position: absolute;
  opacity: 0;
  z-index: 1;
}
.main .contents.showCharDetail .charDetail {
  position: relative;
  opacity: 1;
  z-index: 1;
}
.main .contents.changeCharDetail .panelArea1 {
  -webkit-animation: toShow 1s;
          animation: toShow 1s;
}
@-webkit-keyframes toShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes toShow {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.main .contents.changeCharDetail .panelArea2 {
  -webkit-animation: toHide 1s;
          animation: toHide 1s;
}
@-webkit-keyframes toHide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes toHide {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.main .toc {
  position: relative;
}
.main .toc .ticker {
  width: 100%;
  overflow: hidden;
}
.main .toc .ticker .inner {
  display: flex;
  width: 6384px;
  height: 67px;
  background: url(../imgs/ticker.png) 0 0/auto 100% repeat-x;
  -webkit-animation: ticker 20s infinite linear;
          animation: ticker 20s infinite linear;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .ticker .inner {
    width: 329.0721649485vw;
    height: 3.4536082474vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .ticker .inner {
    width: 851.2vw;
    height: 8.9333333333vw;
  }
}
.main .toc .ticker--02 {
  margin: 60px 0 0;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .ticker--02 {
    margin: 3.0927835052vw 0 0;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .ticker--02 {
    margin: 8vw 0 0;
  }
}
.main .toc .list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  box-sizing: border-box;
  width: 1690px;
  margin: 60px auto 0;
  padding: 10px;
  background-image: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(68, 68, 68, 0.25) 2px, rgba(68, 68, 68, 0.25) 4px), linear-gradient(#fff, #fff);
  background-position: 0 0, 10px 10px;
  background-size: cover, calc(100% - 20px) calc(100% - 20px);
  background-repeat: no-repeat;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list {
    gap: 0.5154639175vw;
    width: 87.1134020619vw;
    margin: 3.0927835052vw auto 0;
    padding: 0.5154639175vw;
    background-image: repeating-linear-gradient(135deg, transparent, transparent 0.1030927835vw, rgba(68, 68, 68, 0.25) 0.1030927835vw, rgba(68, 68, 68, 0.25) 0.206185567vw), linear-gradient(#fff, #fff);
    background-position: 0 0, 0.5154639175vw 0.5154639175vw;
    background-size: cover, calc(100% - 1.0309278351vw) calc(100% - 1.0309278351vw);
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list {
    gap: 1.3333333333vw;
    width: auto;
    margin: 8vw 0 0;
    padding: 1.3333333333vw 0;
    background-position: 0 0, 0 1.3333333333vw;
    background-size: cover, 100% calc(100% - 1.3333333333vw);
  }
}
.main .toc .list .item {
  box-sizing: content-box;
  width: 410px;
  aspect-ratio: 410/690;
  overflow: hidden;
  color: #404040;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item {
    width: 21.1340206186vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item {
    width: calc(50% - 0.6666666667vw);
    aspect-ratio: unset;
  }
}
.main .toc .list .item .panel {
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .panel {
    box-sizing: border-box;
    height: 100%;
    padding: 2.6666666667vw 0 2.6666666667vw;
    z-index: 1;
    background: #fff;
  }
}
.main .toc .list .item .level {
  width: 214px;
  aspect-ratio: 214/65;
  position: absolute;
  top: 15px;
  left: 0;
  background: 0 0/contain no-repeat;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .level {
    width: 11.0309278351vw;
    top: 0.7731958763vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .level {
    position: relative;
    width: 31.2vw;
    top: 0;
  }
}
.main .toc .list .item.level01 .level {
  background-image: url(../imgs/level01.png);
}
.main .toc .list .item.level02 .level {
  background-image: url(../imgs/level02.png);
}
.main .toc .list .item.level03 .level {
  background-image: url(../imgs/level03.png);
}
.main .toc .list .item .name {
  display: grid;
  place-items: center;
  width: 100%;
  height: 60px;
  position: absolute;
  top: 84px;
  left: 0;
  font-size: 23px;
  font-weight: 800;
  line-height: 30px;
  text-align: center;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .name {
    height: 3.0927835052vw;
    top: 4.3298969072vw;
    font-size: 1.1855670103vw;
    line-height: 1.5463917526vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .name {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 9.0666666667vw;
    margin: 0.6666666667vw 0 0;
    position: relative;
    top: 0;
    font-size: 3.2vw;
    line-height: 4.5333333333vw;
  }
}
.main .toc .list .item .data {
  display: flex;
  flex-wrap: wrap;
  align-content: space-between;
  gap: 8px 10px;
  width: 390px;
  height: 94px;
  margin: 0;
  position: absolute;
  top: 160px;
  left: 20px;
  line-height: 26px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .data {
    gap: 0.412371134vw 0.5154639175vw;
    width: 20.1030927835vw;
    height: 4.8453608247vw;
    top: 8.2474226804vw;
    left: 1.0309278351vw;
    line-height: 1.3402061856vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .data {
    gap: 1.8666666667vw 1.6vw;
    width: auto;
    height: auto;
    margin: 3.2vw 0 0;
    padding: 0 2.6666666667vw 66.6666666667vw;
    position: relative;
    top: 0;
    left: 0;
    line-height: 4vw;
  }
}
.main .toc .list .item .data dt {
  align-self: flex-start;
  width: 80px;
  background: #e8eaeb;
  border-radius: 5px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .data dt {
    width: 4.1237113402vw;
    border-radius: 0.2577319588vw;
    font-size: 0.7731958763vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .data dt {
    width: 13.3333333333vw;
    border-radius: 0.6666666667vw;
    font-size: 2.4vw;
  }
}
.main .toc .list .item .data dd {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .data dd {
    font-size: 0.8762886598vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .data dd {
    font-size: 2.6666666667vw;
  }
}
.main .toc .list .item .data dd:first-of-type {
  width: calc(100% - 90px);
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .data dd:first-of-type {
    width: calc(100% - 4.6391752577vw);
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .data dd:first-of-type {
    width: calc(100% - 14.9333333333vw);
    height: 12vw;
  }
}
.main .toc .list .item .data dd:nth-of-type(2) {
  width: 62px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .data dd:nth-of-type(2) {
    width: 3.1958762887vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .data dd:nth-of-type(2) {
    width: calc(100% - 14.9333333333vw);
  }
}
.main .toc .list .item .data dd:last-of-type {
  width: calc(100% - 262px);
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .data dd:last-of-type {
    width: calc(100% - 13.5051546392vw);
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .data dd:last-of-type {
    width: calc(100% - 14.9333333333vw);
  }
}
.main .toc .list .item .image {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .image {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
  }
}
.main .toc .list .item .number {
  bottom: 115px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .number {
    bottom: 5.9278350515vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .number {
    bottom: 6.6666666667vw;
  }
}
.main .toc .list .item .btn {
  width: 380px;
  position: absolute;
  left: 15px;
  bottom: 20px;
  cursor: not-allowed;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .toc .list .item .btn {
    width: 19.587628866vw;
    left: 0.7731958763vw;
    bottom: 1.0309278351vw;
  }
}
@media screen and (max-width: 750px) {
  .main .toc .list .item .btn {
    width: 45.3333333333vw;
    left: 2vw;
    bottom: 3.3333333333vw;
  }
}
.main .charDetail {
  display: grid;
  grid-row: auto auto;
  grid-column: auto;
}
@media screen and (max-width: 750px) {
  .main .charDetail {
    box-sizing: border-box;
    padding: 0 4vw;
  }
}
.main .charDetail .panelArea {
  grid-row: 1/2;
  grid-column: 1/2;
}
.main .charDetail .panel {
  display: flex;
  width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel {
    width: 74.2268041237vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel {
    display: block;
    width: auto;
  }
}
.main .charDetail .panel::before, .main .charDetail .panel::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel::before, .main .charDetail .panel::after {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 100%, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 0 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 100%, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 0 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel::before, .main .charDetail .panel::after {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 4vw, transparent 4vw), radial-gradient(circle at 100% 0, #fff 4vw, transparent 4vw), radial-gradient(circle at 100% 100%, #fff 4vw, transparent 4vw), radial-gradient(circle at 0 100%, #fff 4vw, transparent 4vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 4vw, transparent 4vw), radial-gradient(circle at 100% 0, #fff 4vw, transparent 4vw), radial-gradient(circle at 100% 100%, #fff 4vw, transparent 4vw), radial-gradient(circle at 0 100%, #fff 4vw, transparent 4vw);
  }
}
.main .charDetail .panel::before {
  right: -10px;
  bottom: -10px;
  background: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(68, 68, 68, 0.25) 2px, rgba(68, 68, 68, 0.25) 4px);
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel::before {
    right: -0.5154639175vw;
    bottom: -0.5154639175vw;
    background: repeating-linear-gradient(135deg, transparent, transparent 0.1030927835vw, rgba(68, 68, 68, 0.25) 0.1030927835vw, rgba(68, 68, 68, 0.25) 0.206185567vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel::before {
    content: none;
  }
}
.main .charDetail .panel::after {
  right: 0;
  bottom: 0;
  background: linear-gradient(90deg, #fff 800px, #f7f9fa 800px);
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel::after {
    background: linear-gradient(90deg, #fff 41.2371134021vw, #f7f9fa 41.2371134021vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel::after {
    background: #fff;
  }
}
.main .charDetail .panel .backToToc {
  display: block;
  width: 120px;
  position: absolute;
  top: -30px;
  left: -15px;
  z-index: 1;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .backToToc {
    width: 6.1855670103vw;
    top: -1.5463917526vw;
    left: -0.7731958763vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .backToToc {
    width: 24vw;
    top: -4vw;
    left: -2vw;
  }
}
.main .charDetail .panel .col--01 {
  width: 800px;
  position: relative;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--01 {
    width: 41.2371134021vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--01 {
    width: auto;
  }
}
.main .charDetail .panel .col--01 .number {
  top: 81px;
  padding: 0 0 0 6px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--01 .number {
    top: 4.175257732vw;
    padding: 0 0 0 0.3092783505vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--01 .number {
    top: 5.3333333333vw;
    padding: 0;
  }
}
.main .charDetail .panel .col--01 .level {
  width: 366px;
  height: 93px;
  position: absolute;
  bottom: 109px;
  left: 216px;
  background: 0 0/contain no-repeat;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--01 .level {
    width: 18.8659793814vw;
    height: 4.793814433vw;
    bottom: 5.618556701vw;
    left: 11.1340206186vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--01 .level {
    width: 68.32vw;
    height: 17.36vw;
    bottom: 5.3333333333vw;
    left: 50%;
    translate: -50%;
  }
}
.main .charDetail .panel .col--02 {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  width: 640px;
  padding: 60px 100px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 {
    width: 32.9896907216vw;
    padding: 3.0927835052vw 5.1546391753vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 {
    display: block;
    width: auto;
    padding: 8vw 4vw;
  }
}
.main .charDetail .panel .col--02 .background {
  display: grid;
  place-items: center;
  width: 315px;
  height: 60px;
  background: url(../imgs/bg-background.png) 0 0/contain no-repeat;
  font-size: 22px;
  font-weight: 700;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .background {
    width: 16.2371134021vw;
    height: 3.0927835052vw;
    font-size: 1.1340206186vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .background {
    width: 84vw;
    height: 16vw;
    font-size: 4.2666666667vw;
    margin: 0 auto;
  }
}
.main .charDetail .panel .col--02 .name {
  margin: 30px 0 0;
  font-size: 50px;
  font-weight: 800;
  line-height: 1;
  -webkit-text-stroke: 4px #404040;
  text-stroke: 4px #404040;
  -webkit-text-fill-color: #ffed28;
  text-fill-color: #ffed28;
  paint-order: stroke fill;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .name {
    margin: 1.5463917526vw 0 0;
    font-size: 2.5773195876vw;
    -webkit-text-stroke: 0.206185567vw #404040;
    text-stroke: 0.206185567vw #404040;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .name {
    margin: 5.3333333333vw 0 0;
    font-size: 7.4666666667vw;
    -webkit-text-stroke: 0.5333333333vw #404040;
    text-stroke: 1.0666666667vw #404040;
    text-align: center;
  }
}
.main .charDetail .panel .col--02 .data {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 0;
  width: 340px;
  margin: 40px 0 0;
  font-weight: 700;
  line-height: 26px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .data {
    gap: 0.3092783505vw 0;
    width: 17.5257731959vw;
    margin: 2.0618556701vw 0 0;
    line-height: 1.3402061856vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .data {
    gap: 2.6666666667vw 0;
    width: 100%;
    margin: 5.3333333333vw 0 0;
    line-height: 6.4vw;
  }
}
.main .charDetail .panel .col--02 .data dt,
.main .charDetail .panel .col--02 .data dd {
  box-sizing: border-box;
}
.main .charDetail .panel .col--02 .data dt {
  width: 80px;
  background: #e8eaeb;
  border-radius: 5px;
  font-size: 15px;
  text-align: center;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .data dt {
    width: 4.1237113402vw;
    border-radius: 0.2577319588vw;
    font-size: 0.7731958763vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .data dt {
    width: 20%;
    font-size: 3.2vw;
  }
}
.main .charDetail .panel .col--02 .data dd {
  width: 260px;
  margin: 0;
  padding: 0 10px;
  font-size: 17px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .data dd {
    width: 13.4020618557vw;
    padding: 0 0.5154639175vw;
    font-size: 0.8762886598vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .data dd {
    width: 80%;
    padding: 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
.main .charDetail .panel .col--02 .data dd.small {
  width: 90px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .data dd.small {
    width: 4.6391752577vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .data dd.small {
    width: 30%;
  }
}
.main .charDetail .panel .col--02 .data dd .note {
  font-size: 15px;
  font-weight: 500;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 .data dd .note {
    font-size: 0.7731958763vw;
  }
}
.main .charDetail .panel .col--02 p {
  margin: 30px 0 0;
  padding: 26px 15px 0;
  background: url(../imgs/line01.png) 0 0/100% auto no-repeat;
  font-size: 17px;
  font-weight: 600;
  line-height: 35px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .panel .col--02 p {
    margin: 1.5463917526vw 0 0;
    padding: 1.3402061856vw 0.7731958763vw 0;
    font-size: 0.8762886598vw;
    line-height: 1.8041237113vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 p {
    margin: 5.3333333333vw 0 0;
    padding: 5.3333333333vw 0 0;
    font-size: 3.7333333333vw;
    line-height: 2;
  }
}
.main .charDetail .panel .col--02 .btn {
  display: block;
  margin: auto 0 0;
}
@media screen and (max-width: 750px) {
  .main .charDetail .panel .col--02 .btn {
    margin: 5.3333333333vw 0 0;
  }
}
.main .charDetail .panel.level01 .level {
  background-image: url(../imgs/level-detail01.png);
}
.main .charDetail .panel.level02 .level {
  background-image: url(../imgs/level-detail02.png);
}
.main .charDetail .panel.level03 .level {
  background-image: url(../imgs/level-detail03.png);
}
.main .charDetail .pager {
  grid-row: 2/3;
  grid-column: 1/2;
  display: flex;
  flex-wrap: wrap;
  gap: 2px;
  width: 1440px;
  margin: 60px auto 0;
  padding: 0 0 10px;
  position: relative;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager {
    gap: 0.1030927835vw;
    width: 74.2268041237vw;
    margin: 3.0927835052vw auto 0;
    padding: 0 0 0.5154639175vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager {
    gap: 0;
    width: auto;
    margin: 8vw auto 0;
    padding: 0;
  }
}
.main .charDetail .pager::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  right: -10px;
  bottom: -10px;
  z-index: -1;
  background: repeating-linear-gradient(135deg, transparent, transparent 2px, rgba(68, 68, 68, 0.25) 2px, rgba(68, 68, 68, 0.25) 4px);
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager::before {
    right: -0.5154639175vw;
    bottom: -0.5154639175vw;
    background: repeating-linear-gradient(135deg, transparent, transparent 0.1030927835vw, rgba(68, 68, 68, 0.25) 0.1030927835vw, rgba(68, 68, 68, 0.25) 0.206185567vw);
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 100%, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 0 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 0, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 100% 100%, #fff 1.5463917526vw, transparent 1.5463917526vw), radial-gradient(circle at 0 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager::before {
    content: none;
  }
}
.main .charDetail .pager li {
  width: calc((100% - 6px) / 4);
  list-style: none;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager li {
    width: calc((100% - 0.3092783505vw) / 4);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager li {
    box-sizing: border-box;
    width: 50%;
    border-top: 1px solid rgba(64, 64, 64, 0.1);
    border-left: 1px solid rgba(64, 64, 64, 0.1);
  }
  .main .charDetail .pager li:nth-child(-n+2) {
    border-top: none;
  }
  .main .charDetail .pager li:nth-child(odd) {
    border-left: none;
  }
}
.main .charDetail .pager a {
  display: grid;
  height: 100px;
  background: #fffac9 calc(100% - 25px) 50%/31px auto no-repeat;
  color: inherit;
  font-size: 18px;
  font-weight: 700;
  line-height: 28px;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager a {
    height: 5.1546391753vw;
    background-position: calc(100% - 1.2886597938vw) 50%;
    background-size: 1.5979381443vw auto;
    font-size: 0.9278350515vw;
    line-height: 1.4432989691vw;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a {
    height: 20vw;
    font-size: 3.2vw;
    line-height: 1.5;
  }
}
.main .charDetail .pager a::before {
  grid-area: 1/1;
  content: "";
  display: block;
  background: url(../imgs/bg-pager-active.jpg) 50% 50%/373px auto no-repeat;
  opacity: 0;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager a::before {
    background-size: 19.2268041237vw auto;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a::before {
    background-size: 99.4666666667vw auto;
  }
}
.main .charDetail .pager a span {
  grid-area: 1/1;
  align-self: center;
  justify-self: center;
  display: block;
  position: relative;
}
.main .charDetail .pager a.active {
  color: #fff;
}
.main .charDetail .pager a.active::before {
  opacity: 1;
}
@media screen and (hover: hover) and (pointer: fine) {
  .main .charDetail .pager a {
    transition: color 0.4s;
  }
  .main .charDetail .pager a::before {
    transition: opacity 0.4s;
  }
  .main .charDetail .pager a:hover {
    color: #fff;
  }
  .main .charDetail .pager a:hover::before {
    opacity: 1;
  }
}
.main .charDetail .pager a.char02 {
  background-image: url(../imgs/char-pager02.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char02 {
    background-image: none;
  }
}
.main .charDetail .pager a.char03 {
  background-image: url(../imgs/char-pager03.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char03 {
    background-image: none;
  }
}
.main .charDetail .pager a.char04 {
  background-image: url(../imgs/char-pager04.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char04 {
    background-image: none;
  }
}
.main .charDetail .pager a.char05 {
  background-image: url(../imgs/char-pager05.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char05 {
    background-image: none;
  }
}
.main .charDetail .pager a.char06 {
  background-image: url(../imgs/char-pager06.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char06 {
    background-image: none;
  }
}
.main .charDetail .pager a.char07 {
  background-image: url(../imgs/char-pager07.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char07 {
    background-image: none;
  }
}
.main .charDetail .pager a.char08 {
  background-image: url(../imgs/char-pager08.png);
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char08 {
    background-image: none;
  }
}
.main .charDetail .pager a.char01, .main .charDetail .pager a.char01::before {
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager a.char01, .main .charDetail .pager a.char01::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 1.5463917526vw, transparent 1.5463917526vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 1.5463917526vw, transparent 1.5463917526vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char01, .main .charDetail .pager a.char01::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 4vw, transparent 4vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 4vw, transparent 4vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char02, .main .charDetail .pager a.char02::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 0, #fff 4vw, transparent 4vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 0, #fff 4vw, transparent 4vw);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
  }
}
.main .charDetail .pager a.char04, .main .charDetail .pager a.char04::before {
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager a.char04, .main .charDetail .pager a.char04::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 0, #fff 1.5463917526vw, transparent 1.5463917526vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 0, #fff 1.5463917526vw, transparent 1.5463917526vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char04, .main .charDetail .pager a.char04::before {
    -webkit-mask-image: none;
            mask-image: none;
  }
}
.main .charDetail .pager a.char05, .main .charDetail .pager a.char05::before {
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager a.char05, .main .charDetail .pager a.char05::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char05, .main .charDetail .pager a.char05::before {
    -webkit-mask-image: none;
            mask-image: none;
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char07, .main .charDetail .pager a.char07::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 100%, #fff 4vw, transparent 4vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 100%, #fff 4vw, transparent 4vw);
    -webkit-mask-composite: xor;
            mask-composite: exclude;
  }
}
.main .charDetail .pager a.char08, .main .charDetail .pager a.char08::before {
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .charDetail .pager a.char08, .main .charDetail .pager a.char08::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 100%, #fff 1.5463917526vw, transparent 1.5463917526vw);
  }
}
@media screen and (max-width: 750px) {
  .main .charDetail .pager a.char08, .main .charDetail .pager a.char08::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 100%, #fff 4vw, transparent 4vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 100% 100%, #fff 4vw, transparent 4vw);
  }
}
.main .flogo {
  width: 192px;
  margin: 100px auto 0;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .main .flogo {
    width: 9.8969072165vw;
    margin: 5.1546391753vw auto 0;
  }
}
@media screen and (max-width: 750px) {
  .main .flogo {
    width: 37.3333333333vw;
    margin: 13.3333333333vw auto 0;
  }
}
.main .flogo a {
  display: block;
}

.modaal-overlay {
  z-index: 9001;
}

.modaal-inner-wrapper {
  padding: 30px 0;
}
@media screen and (max-width: 750px) {
  .modaal-inner-wrapper {
    box-sizing: border-box;
    padding: 4vw 0;
  }
}

.modaal-container {
  background: transparent;
  box-shadow: none;
  max-width: none;
  width: 988px;
  margin: 0 auto;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .modaal-container {
    width: 50.9278350515vw;
  }
}
@media screen and (max-width: 750px) {
  .modaal-container {
    width: 96.8vw;
  }
}

.modaal-content-container {
  padding: 0;
}

.popupHolder {
  display: none;
}

.popup.char,
.popup.tomorrow {
  margin: 0 auto;
  position: relative;
  z-index: 1;
  color: #404040;
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", sans-serif;
  font-weight: 700;
}
.popup.char::before,
.popup.tomorrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background: #fff;
  -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
          mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 0, #fff 30px, transparent 30px), radial-gradient(circle at 100% 100%, #fff 30px, transparent 30px), radial-gradient(circle at 0 100%, #fff 30px, transparent 30px);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
}
@media screen and (max-width: 750px) {
  .popup.char::before,
.popup.tomorrow::before {
    -webkit-mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 2.6666666667vw, transparent 2.6666666667vw), radial-gradient(circle at 100% 0, #fff 2.6666666667vw, transparent 2.6666666667vw), radial-gradient(circle at 100% 100%, #fff 2.6666666667vw, transparent 2.6666666667vw), radial-gradient(circle at 0 100%, #fff 2.6666666667vw, transparent 2.6666666667vw);
            mask-image: linear-gradient(#fff, #fff), radial-gradient(circle at 0 0, #fff 2.6666666667vw, transparent 2.6666666667vw), radial-gradient(circle at 100% 0, #fff 2.6666666667vw, transparent 2.6666666667vw), radial-gradient(circle at 100% 100%, #fff 2.6666666667vw, transparent 2.6666666667vw), radial-gradient(circle at 0 100%, #fff 2.6666666667vw, transparent 2.6666666667vw);
  }
}
@media screen and (max-width: 750px) {
  .popup.char,
.popup.tomorrow {
    margin: 0 2.6666666667vw;
  }
}
.popup.char img,
.popup.tomorrow img {
  max-width: 100%;
  height: auto;
}
.popup.char .close,
.popup.tomorrow .close {
  display: block;
  width: 90px;
  position: absolute;
  top: -30px;
  right: -30px;
}
@media screen and (max-width: 750px) {
  .popup.char .close,
.popup.tomorrow .close {
    width: 13.3333333333vw;
    top: -1.3333333333vw;
    right: -1.3333333333vw;
  }
}
.popup.char .btn,
.popup.tomorrow .btn {
  width: 390px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .popup.char .btn,
.popup.tomorrow .btn {
    width: auto;
  }
}
.popup.char .btn a,
.popup.tomorrow .btn a {
  display: block;
}
.popup.char .btn .close,
.popup.tomorrow .btn .close {
  width: 100%;
  position: static;
}

.popup.char {
  width: 880px;
  padding: 80px 0 60px;
}
@media screen and (max-width: 750px) {
  .popup.char {
    width: auto;
    padding: 5.3333333333vw 0;
  }
}
.popup.char .image {
  box-sizing: border-box;
  width: 670px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .popup.char .image {
    width: auto;
    height: auto;
    margin: 2.6666666667vw 0 0;
  }
}
.popup.char .sns {
  display: block;
  width: 260px;
  margin: 0 auto;
  font-size: 1px;
}
@media screen and (max-width: 750px) {
  .popup.char .sns {
    width: 34.6666666667vw;
  }
}
.popup.char .benefit {
  margin: 44px 0 0;
  background: url(../imgs/bg-benefit.jpg) 0 30px/100% auto no-repeat;
}
@media screen and (max-width: 750px) {
  .popup.char .benefit {
    margin: 5.3333333333vw 0 0;
    padding: 0 4vw;
    background-position: 0 4vw;
  }
}
.popup.char .benefit .text {
  width: 450px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .popup.char .benefit .text {
    width: 60vw;
  }
}
.popup.char .benefit .image {
  width: 414px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .popup.char .benefit .image {
    width: 55.2vw;
  }
}
.popup.char .btn {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (max-width: 750px) {
  .popup.char .btn {
    gap: 2.6666666667vw;
    padding: 0 5.3333333333vw;
  }
}

.popup.tomorrow {
  width: 740px;
  padding: 110px 0 60px;
}
@media screen and (max-width: 750px) {
  .popup.tomorrow {
    width: auto;
    padding: 13.3333333333vw 4vw 5.3333333333vw;
  }
}
.popup.tomorrow .image {
  box-sizing: content-box;
  width: 174px;
  padding: 0 50px 0 0;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .popup.tomorrow .image {
    width: 50%;
    max-width: 174px;
    padding: 0;
  }
}
.popup.tomorrow .text {
  margin: 55px 0 0;
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .popup.tomorrow .text {
    margin: 5.3333333333vw 0 0;
  }
}
.popup.tomorrow .text .line--01 {
  font-size: 30px;
}
@media screen and (max-width: 750px) {
  .popup.tomorrow .text .line--01 {
    font-size: 3.7333333333vw;
  }
}
.popup.tomorrow .text .line--02 {
  margin: 30px 0 0;
  font-size: 22px;
}
@media screen and (max-width: 750px) {
  .popup.tomorrow .text .line--02 {
    margin: 3.7333333333vw 0 0;
    font-size: 3.2vw;
  }
}
.popup.tomorrow .btn {
  margin-top: 50px;
}
@media screen and (max-width: 750px) {
  .popup.tomorrow .btn {
    margin-top: 5.3333333333vw;
  }
}

.popup.howto {
  width: 1460px;
  margin: 0 auto;
  position: relative;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .popup.howto {
    width: 75.2577319588vw;
  }
}
@media screen and (max-width: 750px) {
  .popup.howto {
    width: 96.8vw;
  }
}
.popup.howto img {
  width: 100%;
  height: auto;
}
.popup.howto .btn--howto_vote {
  width: 380px;
  position: absolute;
  bottom: 62px;
  left: calc(50% - 190px);
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .popup.howto .btn--howto_vote {
    width: 19.587628866vw;
    bottom: 3.1958762887vw;
    left: calc(50% - 9.793814433vw);
  }
}
@media screen and (max-width: 750px) {
  .popup.howto .btn--howto_vote {
    width: 70.6666666667vw;
    bottom: 20.5333333333vw;
    left: calc(50% - 35.3333333333vw);
  }
}
.popup.howto .close {
  display: block;
  width: 92px;
  height: 92px;
  position: absolute;
  top: -17px;
  right: -70px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .popup.howto .close {
    width: 4.7422680412vw;
    height: 4.7422680412vw;
    top: -0.8762886598vw;
    right: -3.6082474227vw;
  }
}
@media screen and (max-width: 750px) {
  .popup.howto .close {
    width: 13.3333333333vw;
    position: fixed;
    top: 2.6666666667vw;
    right: 2.6666666667vw;
  }
}

.popup.result {
  position: relative;
}
.popup.result img {
  width: 100%;
  height: auto;
}
.popup.result .close {
  display: block;
  width: 92px;
  height: 92px;
  position: absolute;
  top: -48px;
  right: -83px;
}
@media screen and (max-width: 1940px) and (min-width: 751px) {
  .popup.result .close {
    width: 4.7422680412vw;
    height: 4.7422680412vw;
    top: -2.4742268041vw;
    right: -4.2783505155vw;
  }
}
@media screen and (max-width: 750px) {
  .popup.result .close {
    width: 13.3333333333vw;
    position: fixed;
    top: 2.6666666667vw;
    right: 2.6666666667vw;
  }
}
/*# sourceMappingURL=main.css.map */