<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/*!
* ress.css • v2.0.2
* MIT License
* github.com/filipelinhares/ress
*/
/* # =================================================================
  # Global selectors
  # ================================================================= */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: break-word;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
  # General elements
  # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
  # Forms
  # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
  color: inherit;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  background-color: transparent;
  border-style: none;
}

/* Style select like a standard input */
select {
  -moz-appearance: none;
  /* Firefox 36+ */
  -webkit-appearance: none;
  /* Chrome 41+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* # =================================================================
  # Specify media element style
  # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

svg:not([fill]) {
  fill: currentColor;
}

/* # =================================================================
  # Accessibility
  # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }

  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

/* ==================================================
  基本要素
================================================== */
html {
  font-size: 62.5%;
  height: -webkit-fill-available;
}

body {
  background-color: #000;
  color: #fff;
  font-family: source-han-serif-japanese, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 1.4em;
  font-weight: bold;
  line-height: 2;
  min-height: 100vh;
  position: relative;
  text-align: center;
  min-height: -webkit-fill-available;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media screen and (min-width: 768px) {
  body {
    font-size: 1.9em;
  }
}
@media screen and (min-width: 1366px) {
  body {
    font-size: 2.4em;
  }
}
body.is_fixed {
  position: fixed;
  left: 0;
  width: 100%;
  height: 100%;
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
[data-aos^=fade][data-aos^=fade],
[data-aos^=flip][data-aos^=flip],
[data-aos^=zoom][data-aos^=zoom] {
    opacity: 1;
  }
}
*, *::before, *::after {
  box-sizing: border-box;
}
*:focus {
  outline: 0;
}

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  font-weight: bold;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}
@media screen and (min-width: 768px) {
  img {
    image-rendering: -webkit-optimize-contrast;
  }
}

a {
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
a:link, a:visited, a:active {
  color: #fff;
}
a:hover {
  opacity: 0.8;
}

li {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  font-weight: normal;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

p + p {
  margin-top: 1em;
}

button {
  display: inline-block;
  line-height: 1;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
button:focus {
  outline: 0;
}
button:not(:disabled) {
  cursor: pointer;
}

[data-ruby] {
  position: relative;
  background-color: #fff;
  color: #000;
  display: inline-block;
  line-height: 1.1;
  text-shadow: none;
}

[data-ruby]::before {
  content: attr(data-ruby);
  position: absolute;
  left: -2em;
  top: -1.4em;
  right: -2em;
  text-align: center;
  font-size: 0.55em;
  letter-spacing: 0.3em;
  background: transparent;
  color: #fff;
}

[data-ruby] rt {
  display: none;
}

.visible_xs {
  display: none;
}
@media screen and (max-width: 767px) {
  .visible_xs {
    display: block;
  }
}
.visible_sm {
  display: none;
}
@media screen and (min-width: 768px) {
  .visible_sm {
    display: block;
  }
}
.visible_md {
  display: none;
}
@media screen and (min-width: 1024px) {
  .visible_md {
    display: block;
  }
}
.visible_lg {
  display: none;
}
@media screen and (min-width: 1366px) {
  .visible_lg {
    display: block;
  }
}

.hidden_xs {
  display: block;
}
@media screen and (max-width: 767px) {
  .hidden_xs {
    display: none;
  }
}
.hidden_xs_block {
  display: block;
}
@media screen and (max-width: 767px) {
  .hidden_xs_block {
    display: none;
  }
}
.hidden_sm {
  display: block;
}
@media screen and (min-width: 768px) {
  .hidden_sm {
    display: none;
  }
}
.hidden_md {
  display: block;
}
@media screen and (min-width: 1024px) {
  .hidden_md {
    display: none;
  }
}
.hidden_lg {
  display: block;
}
@media screen and (min-width: 1366px) {
  .hidden_lg {
    display: none;
  }
}

.lp_loading {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000;
  z-index: 9999;
  -webkit-animation: byeShutter 2s forwards;
          animation: byeShutter 2s forwards;
}
@-webkit-keyframes byeShutter {
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    pointer-events: none;
  }
}
@keyframes byeShutter {
  70% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    z-index: -1;
    pointer-events: none;
  }
}
.lp_loading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  background-color: rgba(94, 142, 148, 0.5);
  width: 0;
  height: 0.1rem;
  -webkit-animation: shutterOpen 2s forwards;
          animation: shutterOpen 2s forwards;
}
@-webkit-keyframes shutterOpen {
  0% {
    width: 0;
    height: 0.1rem;
  }
  50% {
    width: 100%;
    height: 0.1rem;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}
@keyframes shutterOpen {
  0% {
    width: 0;
    height: 0.1rem;
  }
  50% {
    width: 100%;
    height: 0.1rem;
  }
  90% {
    width: 100%;
    height: 100%;
  }
  100% {
    width: 100%;
    height: 100%;
  }
}

.lp_wrap {
  position: relative;
  overflow: hidden;
  font-size: 1.4rem;
}
@media screen and (min-width: 768px) {
  .lp_wrap {
    font-size: 1.9rem;
  }
}
@media screen and (min-width: 1366px) {
  .lp_wrap {
    font-size: 2.4rem;
  }
}

.lp_btn:hover {
  opacity: 1;
}
@media screen and (min-width: 1366px) {
  .lp_btn:hover {
    -webkit-filter: brightness(150%) drop-shadow(0 0 1rem #9afbff);
            filter: brightness(150%) drop-shadow(0 0 1rem #9afbff);
  }
}
.lp_btn.disabled {
  pointer-events: none;
}

_:-ms-input-placeholder, :root .lp_btn:hover {
  opacity: 0.9;
}

/* ==================================================
  モーダル用共通スタイル
================================================== */
.modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  padding: 3rem 0;
  overflow-x: hidden;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.2s ease-in-out;
  z-index: 1000;
}
@media screen and (min-width: 1024px) {
  .modal_overlay {
    padding: 8rem 0;
  }
}
.modal_overlay::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  height: 100%;
}
.modal_overlay.is_active {
  opacity: 1;
  visibility: visible;
}
.modal_bg {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  width: calc(100% - 3rem);
  max-width: 48rem;
}
@media screen and (min-width: 1024px) {
  .modal_bg {
    max-width: 1000px;
  }
}
.modal_bg::before, .modal_bg::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.modal_bg::before {
  background: url(/modpub/lp/home/april2022/img/modal/bg_overlay_01.jpg) repeat center top/120rem auto;
  opacity: 0.85;
}
@media screen and (min-width: 1024px) {
  .modal_bg::before {
    background-size: 120rem auto;
  }
}
.modal_bg::after {
  background: url(/modpub/lp/home/april2022/img/modal/bg_grunge_01.png) no-repeat right calc(50% + 20rem) center/auto 100vh, url(/modpub/lp/home/april2022/img/modal/bg_grunge_02.png) no-repeat left calc(50% + 20rem) center/auto 100vh;
}
@media screen and (min-width: 1024px) {
  .modal_bg::after {
    background: url(/modpub/lp/home/april2022/img/modal/bg_title_01.png) no-repeat right calc(50% + 27rem) top 2%, url(/modpub/lp/home/april2022/img/modal/bg_grunge_01.png) no-repeat right calc(50% + 50rem) center/37.1rem auto, url(/modpub/lp/home/april2022/img/modal/bg_grunge_02.png) no-repeat left calc(50% + 50rem) center/41.3rem auto;
  }
}
.modal_close {
  width: 5.9rem;
  height: 5.8rem;
  position: absolute;
  top: -2.8rem;
  right: -1.8rem;
  z-index: 3000;
  cursor: pointer;
  transition: 0.2s ease-in-out;
}
@media screen and (min-width: 1024px) {
  .modal_close {
    width: 11.8rem;
    height: 11.6rem;
    top: -5.5rem;
    right: -6.5rem;
  }
}
.modal_close:hover {
  opacity: 0.8;
}
.modal_box {
  background: url(/modpub/lp/home/april2022/img/modal/bg_circle_01.png) no-repeat right -28% top -5%/23rem auto, url(/modpub/lp/home/april2022/img/modal/bg_circle_02.png) no-repeat right 22% top 36%/10.5rem auto, url(/modpub/lp/home/april2022/img/modal/bg_circle_03.png) no-repeat left -22% bottom 10%/17.4rem auto, url(/modpub/lp/home/april2022/img/modal/bg_inner_01.jpg) repeat center top/45rem auto;
  color: #fff;
  position: relative;
  width: 100%;
  border: 0.1rem #555 solid;
  box-shadow: 0 0 2rem 0 #000;
  z-index: 2000;
}
@media screen and (max-width: 374px) {
  .modal_box {
    background-position: right -10vw top -3vw, right 15vw top 45vw, left -10vw bottom 12vw, center top;
  }
}
@media screen and (min-width: 1024px) {
  .modal_box {
    background-position: right -28% top -5%, right 22% top 36%, left -22% bottom 10%, center top;
    background-size: 45.9rem auto, 21rem auto, 34.7rem auto, 90rem auto;
  }
}
.modal_inner {
  width: 100%;
  overflow-x: hidden;
  padding-bottom: 1.5rem;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .modal_inner {
    padding-bottom: 3rem;
  }
}
.modal_inner .result_header {
  font-family: isemin, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
}
.modal_inner .result_header .name_head {
  padding: 1rem 1.5rem;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_header .name_head {
    font-size: 4.27vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_header .name_head {
    padding: 1rem 5rem;
    font-size: 2.2rem;
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
}
.modal_inner .result_header .name_head small {
  font-size: 1.2rem;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_header .name_head small {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_header .name_head small {
    font-size: 1.8rem;
  }
}
.modal_inner .result_header .name_main {
  width: calc(100% + 10rem);
  margin: -1.1rem -5rem 0;
  background-color: rgba(0, 0, 0, 0.7);
  font-size: 2.1rem;
  -webkit-transform: rotate(-3deg);
          transform: rotate(-3deg);
  line-height: 1.2;
  padding: 1.5rem 1rem;
  text-align: center;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_header .name_main {
    font-size: 5.6vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_header .name_main {
    margin-top: 0;
    font-size: 3rem;
  }
}
.modal_inner .result_header .name_genre {
  display: inline-block;
  color: #e47171;
  margin: 0 0.5rem;
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body {
    position: relative;
    margin-top: 3rem;
    padding-right: 8rem;
    height: 42.6rem;
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
}
.modal_inner .result_body .status_lead {
  display: flex;
  padding: 1.2rem 0.8rem 0;
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_lead {
    display: block;
    padding: 0;
  }
}
.modal_inner .result_body .status_img {
  width: 50%;
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_img {
    width: auto;
    position: absolute;
    top: 0;
    left: 7rem;
  }
}
.modal_inner .result_body .status_power {
  width: 50%;
  -ms-grid-row-align: center;
      align-self: center;
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_power {
    width: auto;
    padding-left: 42.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_list {
    background: url(/modpub/lp/home/april2022/img/modal/bg_status_01_pc.png) no-repeat left top;
    display: flex;
    height: 6.5rem;
  }
}
.modal_inner .result_body .status_list dt {
  padding: 0 2rem;
  font-size: 1.2rem;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_body .status_list dt {
    font-size: 3.2vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_list dt {
    font-size: 1.6rem;
    width: 38%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.modal_inner .result_body .status_list dd {
  padding: 1.1rem 0 0 1.5rem;
  margin-top: -0.8rem;
  min-height: 5.7rem;
  text-align: center;
  font-size: 1.7rem;
  font-style: italic;
  background: url(/modpub/lp/home/april2022/img/modal/bg_status_01_sp.png) no-repeat center bottom/contain;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_body .status_list dd {
    padding: 2.93vw 0 0 4vw;
    min-height: 15.2vw;
    font-size: 4.53vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_list dd {
    padding: 0;
    margin-left: 4rem;
    font-size: 2.8rem;
    background: none;
    flex: 1;
  }
}
.modal_inner .result_body .status_genre {
  width: 100%;
  max-width: 36rem;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_genre {
    width: auto;
    max-width: none;
    margin: 0;
    padding-left: 42.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_genre .status_list {
    display: block;
    background: url(/modpub/lp/home/april2022/img/modal/bg_status_02_pc.png) no-repeat left top;
    height: auto;
  }
}
.modal_inner .result_body .status_genre .status_list dt {
  padding: 1.5rem 3.5rem 0;
  background: url(/modpub/lp/home/april2022/img/modal/bg_status_02_sp.png) no-repeat left top/contain;
  min-height: 4.8rem;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_body .status_genre .status_list dt {
    padding: 4vw 9.3vw 0;
    min-height: 12.8vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_genre .status_list dt {
    padding: 0 2rem;
    background: none;
    height: 6.5rem;
  }
}
.modal_inner .result_body .status_genre .status_list dd {
  width: calc(100% - 4rem);
  max-width: 32rem;
  margin: -1rem auto 0;
  padding: 2.5rem 1rem;
  background: url(/modpub/lp/home/april2022/img/modal/bg_status_03_sp.png) no-repeat center top/contain, url(/modpub/lp/home/april2022/img/modal/bg_status_04_sp.png) no-repeat center bottom/contain;
  font-size: 1.5rem;
  font-style: normal;
  line-height: 1.4;
  min-height: 11rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 374px) {
  .modal_inner .result_body .status_genre .status_list dd {
    width: calc(100% - 10.67vw);
    font-size: 4vw;
    min-height: 29.33vw;
  }
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_body .status_genre .status_list dd {
    width: 32.3rem;
    max-width: none;
    margin: -1.5rem 0 0 auto;
    padding: 3.5rem 2rem;
    background: url(/modpub/lp/home/april2022/img/modal/bg_status_03_pc.png) no-repeat right top, url(/modpub/lp/home/april2022/img/modal/bg_status_04_pc.png) no-repeat right bottom;
    font-size: 1.8rem;
  }
}
.modal_inner .result_body .status_genre_list {
  line-height: 1.6;
}
.modal_inner .result_footer {
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .modal_inner .result_footer {
    margin-top: 1.5rem;
  }
}
.modal_inner .btn_twitter {
  display: block;
  max-width: 32.7rem;
  margin: 0 auto;
}
@media screen and (min-width: 1024px) {
  .modal_inner .btn_twitter {
    max-width: 50.6rem;
  }
}

/* ==================================================
  グリッチエフェクト用共通スタイル
================================================== */
.glitch_content {
  position: relative;
  width: 100%;
  height: 100%;
}
.glitch_content::before {
  content: "";
  width: 100%;
  height: 100vh;
  position: absolute;
  top: 0;
  left: 0;
  background: url(/modpub/lp/home/april2022/img/glitch_01_sp.png) no-repeat center center/100% auto;
  -webkit-animation: skew 1s infinite, glitch 0.1s both infinite, glitch_out 0.6s forwards;
          animation: skew 1s infinite, glitch 0.1s both infinite, glitch_out 0.6s forwards;
}
@media screen and (min-width: 1024px) {
  .glitch_content::before {
    background-image: url(/modpub/lp/home/april2022/img/glitch_01_pc.png);
  }
}
@-webkit-keyframes skew {
  0% {
    -webkit-transform: none;
            transform: none;
  }
  33% {
    -webkit-transform: none;
            transform: none;
  }
  33.3% {
    -webkit-transform: skewX(50deg);
            transform: skewX(50deg);
  }
  33.6% {
    -webkit-transform: skewX(-50deg);
            transform: skewX(-50deg);
  }
  33.9% {
    -webkit-transform: none;
            transform: none;
  }
  66% {
    -webkit-transform: none;
            transform: none;
  }
  66.3% {
    -webkit-transform: skewX(10deg);
            transform: skewX(10deg);
  }
  66.6% {
    -webkit-transform: skewX(-10deg);
            transform: skewX(-10deg);
  }
  66.9% {
    -webkit-transform: none;
            transform: none;
  }
  77% {
    -webkit-transform: none;
            transform: none;
  }
  77.3% {
    -webkit-transform: skewX(20deg);
            transform: skewX(20deg);
  }
  77.6% {
    -webkit-transform: skewX(-20deg);
            transform: skewX(-20deg);
  }
  77.9% {
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes skew {
  0% {
    -webkit-transform: none;
            transform: none;
  }
  33% {
    -webkit-transform: none;
            transform: none;
  }
  33.3% {
    -webkit-transform: skewX(50deg);
            transform: skewX(50deg);
  }
  33.6% {
    -webkit-transform: skewX(-50deg);
            transform: skewX(-50deg);
  }
  33.9% {
    -webkit-transform: none;
            transform: none;
  }
  66% {
    -webkit-transform: none;
            transform: none;
  }
  66.3% {
    -webkit-transform: skewX(10deg);
            transform: skewX(10deg);
  }
  66.6% {
    -webkit-transform: skewX(-10deg);
            transform: skewX(-10deg);
  }
  66.9% {
    -webkit-transform: none;
            transform: none;
  }
  77% {
    -webkit-transform: none;
            transform: none;
  }
  77.3% {
    -webkit-transform: skewX(20deg);
            transform: skewX(20deg);
  }
  77.6% {
    -webkit-transform: skewX(-20deg);
            transform: skewX(-20deg);
  }
  77.9% {
    -webkit-transform: none;
            transform: none;
  }
}
@-webkit-keyframes glitch {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  12.5% {
    -webkit-transform: translate(-0.5rem, 0.5rem);
            transform: translate(-0.5rem, 0.5rem);
  }
  37.5% {
    -webkit-transform: translate(-0.5rem, -0.5rem);
            transform: translate(-0.5rem, -0.5rem);
  }
  62.5% {
    -webkit-transform: translate(0.5rem, 0.5rem);
            transform: translate(0.5rem, 0.5rem);
  }
  87.5% {
    -webkit-transform: translate(0.5rem, -0.5rem);
            transform: translate(0.5rem, -0.5rem);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes glitch {
  0% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
  12.5% {
    -webkit-transform: translate(-0.5rem, 0.5rem);
            transform: translate(-0.5rem, 0.5rem);
  }
  37.5% {
    -webkit-transform: translate(-0.5rem, -0.5rem);
            transform: translate(-0.5rem, -0.5rem);
  }
  62.5% {
    -webkit-transform: translate(0.5rem, 0.5rem);
            transform: translate(0.5rem, 0.5rem);
  }
  87.5% {
    -webkit-transform: translate(0.5rem, -0.5rem);
            transform: translate(0.5rem, -0.5rem);
  }
  100% {
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@-webkit-keyframes glitch_out {
  0% {
    opacity: 1;
    visibility: visible;
    z-index: 100;
  }
  90% {
    opacity: 1;
    visibility: visible;
    z-index: 100;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    z-index: -9999;
  }
}
@keyframes glitch_out {
  0% {
    opacity: 1;
    visibility: visible;
    z-index: 100;
  }
  90% {
    opacity: 1;
    visibility: visible;
    z-index: 100;
  }
  100% {
    opacity: 0;
    visibility: hidden;
    z-index: -9999;
  }
}
.glitch_text {
  position: relative;
  display: inline-block;
  text-align: left;
}
.glitch_text::before, .glitch_text::after {
  content: attr(data-text);
  position: absolute;
  top: 0;
  color: #fff;
  background: #16292e;
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
}
.glitch_text::before {
  left: -0.3rem;
  text-shadow: 0.4rem 0 #9afbff;
  -webkit-animation: noise_anim_2 2s infinite linear;
          animation: noise_anim_2 2s infinite linear;
}
.glitch_text::after {
  left: 0.2rem;
  text-shadow: -0.4rem 0 #ce33d3;
  -webkit-animation: noise_anim 3s infinite linear;
          animation: noise_anim 3s infinite linear;
}
@-webkit-keyframes noise_anim {
  70% {
    clip: rect(23px, 9999px, 10px, 0);
  }
  72% {
    clip: rect(5px, 9999px, 27px, 0);
  }
  74% {
    clip: rect(31px, 9999px, 26px, 0);
  }
  76% {
    clip: rect(24px, 9999px, 26px, 0);
  }
  78% {
    clip: rect(29px, 9999px, 23px, 0);
  }
  80% {
    clip: rect(16px, 9999px, 34px, 0);
  }
  82% {
    clip: rect(5px, 9999px, 29px, 0);
  }
  84% {
    clip: rect(18px, 9999px, 7px, 0);
  }
  86% {
    clip: rect(28px, 9999px, 33px, 0);
  }
  88% {
    clip: rect(13px, 9999px, 24px, 0);
  }
  90% {
    clip: rect(15px, 9999px, 23px, 0);
  }
  92% {
    clip: rect(20px, 9999px, 39px, 0);
  }
  94% {
    clip: rect(21px, 9999px, 15px, 0);
  }
  96% {
    clip: rect(20px, 9999px, 15px, 0);
  }
  98% {
    clip: rect(13px, 9999px, 14px, 0);
  }
  100% {
    clip: rect(20px, 9999px, 34px, 0);
  }
}
@keyframes noise_anim {
  70% {
    clip: rect(23px, 9999px, 10px, 0);
  }
  72% {
    clip: rect(5px, 9999px, 27px, 0);
  }
  74% {
    clip: rect(31px, 9999px, 26px, 0);
  }
  76% {
    clip: rect(24px, 9999px, 26px, 0);
  }
  78% {
    clip: rect(29px, 9999px, 23px, 0);
  }
  80% {
    clip: rect(16px, 9999px, 34px, 0);
  }
  82% {
    clip: rect(5px, 9999px, 29px, 0);
  }
  84% {
    clip: rect(18px, 9999px, 7px, 0);
  }
  86% {
    clip: rect(28px, 9999px, 33px, 0);
  }
  88% {
    clip: rect(13px, 9999px, 24px, 0);
  }
  90% {
    clip: rect(15px, 9999px, 23px, 0);
  }
  92% {
    clip: rect(20px, 9999px, 39px, 0);
  }
  94% {
    clip: rect(21px, 9999px, 15px, 0);
  }
  96% {
    clip: rect(20px, 9999px, 15px, 0);
  }
  98% {
    clip: rect(13px, 9999px, 14px, 0);
  }
  100% {
    clip: rect(20px, 9999px, 34px, 0);
  }
}
@-webkit-keyframes noise_anim_2 {
  70% {
    clip: rect(7px, 9999px, 35px, 0);
  }
  72% {
    clip: rect(31px, 9999px, 6px, 0);
  }
  74% {
    clip: rect(36px, 9999px, 39px, 0);
  }
  76% {
    clip: rect(18px, 9999px, 11px, 0);
  }
  78% {
    clip: rect(1px, 9999px, 17px, 0);
  }
  80% {
    clip: rect(36px, 9999px, 40px, 0);
  }
  82% {
    clip: rect(32px, 9999px, 26px, 0);
  }
  84% {
    clip: rect(16px, 9999px, 12px, 0);
  }
  86% {
    clip: rect(29px, 9999px, 23px, 0);
  }
  88% {
    clip: rect(36px, 9999px, 6px, 0);
  }
  90% {
    clip: rect(8px, 9999px, 13px, 0);
  }
  92% {
    clip: rect(31px, 9999px, 20px, 0);
  }
  94% {
    clip: rect(28px, 9999px, 38px, 0);
  }
  96% {
    clip: rect(20px, 9999px, 2px, 0);
  }
  98% {
    clip: rect(27px, 9999px, 40px, 0);
  }
  100% {
    clip: rect(2px, 9999px, 29px, 0);
  }
}
@keyframes noise_anim_2 {
  70% {
    clip: rect(7px, 9999px, 35px, 0);
  }
  72% {
    clip: rect(31px, 9999px, 6px, 0);
  }
  74% {
    clip: rect(36px, 9999px, 39px, 0);
  }
  76% {
    clip: rect(18px, 9999px, 11px, 0);
  }
  78% {
    clip: rect(1px, 9999px, 17px, 0);
  }
  80% {
    clip: rect(36px, 9999px, 40px, 0);
  }
  82% {
    clip: rect(32px, 9999px, 26px, 0);
  }
  84% {
    clip: rect(16px, 9999px, 12px, 0);
  }
  86% {
    clip: rect(29px, 9999px, 23px, 0);
  }
  88% {
    clip: rect(36px, 9999px, 6px, 0);
  }
  90% {
    clip: rect(8px, 9999px, 13px, 0);
  }
  92% {
    clip: rect(31px, 9999px, 20px, 0);
  }
  94% {
    clip: rect(28px, 9999px, 38px, 0);
  }
  96% {
    clip: rect(20px, 9999px, 2px, 0);
  }
  98% {
    clip: rect(27px, 9999px, 40px, 0);
  }
  100% {
    clip: rect(2px, 9999px, 29px, 0);
  }
}

/* ==================================================
  ヘッダー
================================================== */
.lp_header {
  position: absolute;
  top: 0;
  left: 0;
  height: 15.6vw;
  align-items: flex-start;
  justify-content: space-between;
  padding: 2vw 2.3vw 0 4vw;
  background: url(/modpub/lp/home/april2022/img/bg_header_01_sp.png) no-repeat center top/100% auto;
  z-index: 4;
}
@media screen and (min-width: 1024px) {
  .lp_header {
    height: 6.093vw;
    min-height: 11.7rem;
    padding: 0.8vw 1.2vw 0 0.8vw;
    background-image: url(/modpub/lp/home/april2022/img/bg_header_01_pc.png);
    background-size: 100% 100%;
  }
}
.lp_header .header_logo img {
  width: 11.73vw;
}
@media screen and (min-width: 1024px) {
  .lp_header .header_logo img {
    width: auto;
  }
}
.lp_header .header_sns {
  padding-top: 0.7vw;
}
@media screen and (min-width: 1024px) {
  .lp_header .header_sns {
    padding-top: 0.2vw;
  }
}
.lp_header .header_sns img {
  width: 4.8vw;
}
@media screen and (min-width: 1024px) {
  .lp_header .header_sns img {
    width: 3rem;
  }
}

/* ==================================================
  フッター
================================================== */
@media screen and (min-width: 1024px) {
  .lp_footer {
    height: 6rem;
    line-height: 6rem;
  }
}
.lp_footer small {
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "Yu Gothic Medium", "Helvetica Neue", Verdana, sans-serif;
  font-weight: normal;
  font-size: 1.2rem;
}

.lp_pagetop {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 12.4vw;
  display: block;
  z-index: 100;
  transition: none;
  opacity: 0;
  -webkit-transform: translateY(15vw);
          transform: translateY(15vw);
}
@media screen and (min-width: 1024px) {
  .lp_pagetop {
    width: auto;
    -webkit-transform: translateY(15rem);
            transform: translateY(15rem);
  }
}
.lp_pagetop.up_move {
  -webkit-animation: up_anime 0.3s forwards;
          animation: up_anime 0.3s forwards;
}
@-webkit-keyframes up_anime {
  from {
    opacity: 0;
    -webkit-transform: translateY(15vw);
            transform: translateY(15vw);
    @media screen and (min-width: 1024px) {
      .lp_pagetop {
        -webkit-transform: translateY(15rem);
                transform: translateY(15rem);
      }
    }
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes up_anime {
  from {
    opacity: 0;
    -webkit-transform: translateY(15vw);
            transform: translateY(15vw);
    @media screen and (min-width: 1024px) {
      .lp_pagetop {
        -webkit-transform: translateY(15rem);
                transform: translateY(15rem);
      }
    }
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
.lp_pagetop.down_move {
  -webkit-animation: down_anime 0.3s forwards;
          animation: down_anime 0.3s forwards;
}
@-webkit-keyframes down_anime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(15vw);
            transform: translateY(15vw);
    @media screen and (min-width: 1024px) {
      .lp_pagetop {
        -webkit-transform: translateY(15rem);
                transform: translateY(15rem);
      }
    }
  }
}
@keyframes down_anime {
  from {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(15vw);
            transform: translateY(15vw);
    @media screen and (min-width: 1024px) {
      .lp_pagetop {
        -webkit-transform: translateY(15rem);
                transform: translateY(15rem);
      }
    }
  }
}

/* ==================================================
  全体レイアウト
================================================== */
.lp_main {
  position: relative;
}

.lp_sec_header {
  position: relative;
  padding-top: 19vw;
}
@media screen and (min-width: 1024px) {
  .lp_sec_header {
    padding-top: 14rem;
  }
}
.lp_sec_header::before {
  content: "";
  width: 100%;
  height: 16rem;
  position: absolute;
  top: 6vw;
  left: 0;
  background-repeat: no-repeat;
  background-position: 0 0;
}
@media screen and (min-width: 1024px) {
  .lp_sec_header::before {
    top: 4rem;
  }
}
.lp_sec_header img {
  width: auto;
  height: 16.66vw;
  max-height: 10rem;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .lp_sec_header img {
    height: auto;
    max-height: none;
  }
}
.lp_sec_body {
  margin-top: 4vw;
}
@media screen and (min-width: 1024px) {
  .lp_sec_body {
    margin-top: 4rem;
  }
}

.parts_feather {
  position: absolute;
  pointer-events: none;
}

/* ==================================================
  メインヴィジュアル
================================================== */
.sec_fv {
  position: relative;
  min-height: 177.86vw;
  background: url(/modpub/lp/home/april2022/img/fv/bg_01_sp.jpg) no-repeat center top/100% auto;
}
@media screen and (min-width: 768px) {
  .sec_fv {
    min-height: 135rem;
  }
}
@media screen and (min-width: 1024px) {
  .sec_fv {
    min-height: 60vw;
    background-image: url(/modpub/lp/home/april2022/img/fv/bg_01_pc.jpg);
    z-index: 0;
  }
}
.sec_fv .parts_feather {
  bottom: -17vw;
  right: -20vw;
  width: 42.9vw;
  z-index: 1;
}

.fv_chara {
  width: 177.06vw;
  position: absolute;
  top: 25vw;
  left: 50%;
  margin-left: -84vw;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fv_chara {
    top: 20rem;
  }
}
@media screen and (min-width: 1024px) {
  .fv_chara {
    width: 69.166vw;
    top: -4vw;
    right: -12vw;
    left: auto;
    margin-left: 0;
  }
}
@media screen and (min-width: 1024px) {
  .fv_chara + .parts_feather {
    position: absolute;
    top: 33vw;
    right: -10rem;
    width: 22.34vw;
    z-index: 1;
  }
}
.fv_copy {
  width: 125.86vw;
  position: absolute;
  top: -15vw;
  left: 50%;
  margin-left: -61vw;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .fv_copy {
    top: -10rem;
  }
}
@media screen and (min-width: 1024px) {
  .fv_copy {
    width: 55.52vw;
    top: 0;
    left: 0;
    margin-left: 0;
  }
}
.fv_title {
  width: 106.53vw;
  position: absolute;
  top: 10vw;
  left: 50%;
  margin-left: -50vw;
  z-index: 2;
}
@media screen and (min-width: 768px) {
  .fv_title {
    top: 9rem;
  }
}
@media screen and (min-width: 1024px) {
  .fv_title {
    width: 48.85vw;
    top: 5.5vw;
    left: 4.5vw;
    margin-left: 0;
  }
}
.fv_box {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  height: 46vw;
  font-size: 0;
  padding: 0 0.5vw 3vw 0;
  position: absolute;
  bottom: 10vw;
  background: url(/modpub/lp/home/april2022/img/fv/frame_01_sp.png) no-repeat left 3.1vw top/95.46vw auto;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .fv_box {
    width: 76rem;
    height: 35rem;
    left: 50%;
    margin-left: -38rem;
    background-position: center top;
    background-size: 70rem auto;
  }
}
@media screen and (min-width: 1024px) {
  .fv_box {
    width: 39.53vw;
    height: 16.82vw;
    top: 30.2vw;
    bottom: auto;
    left: 7.5vw;
    margin-left: 0;
    padding: 0 0.9rem 1rem 0;
    background-image: url(/modpub/lp/home/april2022/img/fv/frame_01_pc.png);
    background-position: 0 0;
    background-size: 100% auto;
  }
}
.fv_box dt {
  width: 100%;
  text-align: center;
  padding-top: 3.7vw;
}
@media screen and (min-width: 768px) {
  .fv_box dt {
    padding-top: 2.8rem;
  }
}
@media screen and (min-width: 1024px) {
  .fv_box dt {
    padding-top: 1.4vw;
  }
}
.fv_box dt img {
  width: 34.66vw;
}
@media screen and (min-width: 768px) {
  .fv_box dt img {
    width: 24rem;
  }
}
@media screen and (min-width: 1024px) {
  .fv_box dt img {
    width: 9.58vw;
  }
}
.fv_box dd {
  width: 42.53vw;
}
@media screen and (min-width: 768px) {
  .fv_box dd {
    width: 40%;
  }
}
@media screen and (min-width: 1024px) {
  .fv_box dd {
    width: 42%;
  }
}
.fv_box dd a {
  display: block;
  position: relative;
}
.fv_box dd a::before {
  content: "";
  position: absolute;
  bottom: -1vw;
  left: 50%;
  margin-left: -4.133vw;
  width: 8.266vw;
  height: 8.4vw;
  background: url(/modpub/lp/home/april2022/img/fv/arrow_01.png) no-repeat center top/100% auto;
  -webkit-animation: fv_btn_bound 1.2s infinite ease-in-out;
          animation: fv_btn_bound 1.2s infinite ease-in-out;
}
@media screen and (min-width: 1024px) {
  .fv_box dd a::before {
    bottom: 0;
    margin-left: -1.61vw;
    width: 3.22vw;
    height: 3.28vw;
  }
}
@-webkit-keyframes fv_btn_bound {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  48% {
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem);
  }
  60% {
    -webkit-transform: translateY(-0.3rem);
            transform: translateY(-0.3rem);
  }
}
@keyframes fv_btn_bound {
  0%, 20%, 50%, 80%, 100% {
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  48% {
    -webkit-transform: translateY(-0.5rem);
            transform: translateY(-0.5rem);
  }
  60% {
    -webkit-transform: translateY(-0.3rem);
            transform: translateY(-0.3rem);
  }
}
.fv_box dd:last-of-type a::before {
  -webkit-animation: fv_btn_bound 1.2s infinite ease-in-out 0.3s;
          animation: fv_btn_bound 1.2s infinite ease-in-out 0.3s;
}

/* ==================================================
  STORY
================================================== */
.sec_story {
  position: relative;
  padding-bottom: 30vw;
  background: url(/modpub/lp/home/april2022/img/story/bg_01_sp.png) no-repeat center top/cover;
}
@media screen and (min-width: 1024px) {
  .sec_story {
    padding-bottom: 27rem;
    background-image: url(/modpub/lp/home/april2022/img/story/bg_01_pc.png);
    margin-top: -12vw;
  }
}
.sec_story .lp_sec_header::before {
  background-image: url(/modpub/lp/home/april2022/img/story/bg_heading_01.png);
  background-size: 57.24vw auto;
}
@media screen and (min-width: 1024px) {
  .sec_story .lp_sec_header::before {
    background-size: 47.7rem auto;
  }
}
@media screen and (min-width: 1366px) {
  .sec_story .lp_sec_body {
    margin-top: 4rem;
  }
}
.sec_story .story_box {
  width: 96vw;
  margin: 9vw auto 17vw;
  padding-top: 3vw;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(/modpub/lp/home/april2022/img/story/frame_02_sp.png) repeat-y center top/100% auto;
  font-family: isemin, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 1.6rem;
  -webkit-animation: story_box 0.5s forwards ease-in-out;
          animation: story_box 0.5s forwards ease-in-out;
}
@media screen and (min-width: 768px) {
  .sec_story .story_box {
    font-size: 2.3rem;
  }
}
@media screen and (min-width: 1024px) {
  .sec_story .story_box {
    width: 96.5rem;
    margin: 6rem auto 13rem;
    padding-top: 2rem;
    background-image: url(/modpub/lp/home/april2022/img/story/frame_02_pc.png);
  }
}
@media screen and (min-width: 1366px) {
  .sec_story .story_box {
    font-size: 3rem;
  }
}
@-webkit-keyframes story_box {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes story_box {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
.sec_story .story_box::before, .sec_story .story_box::after {
  content: "";
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  width: 100%;
}
.sec_story .story_box::before {
  background-image: url(/modpub/lp/home/april2022/img/story/frame_01_sp.png);
  bottom: 99%;
  height: 6.13vw;
}
@media screen and (min-width: 1024px) {
  .sec_story .story_box::before {
    background-image: url(/modpub/lp/home/april2022/img/story/frame_01_pc.png);
    height: 4.6rem;
  }
}
.sec_story .story_box::after {
  background-image: url(/modpub/lp/home/april2022/img/story/frame_03_sp.png);
  top: 99%;
  height: 13.33vw;
}
@media screen and (min-width: 1024px) {
  .sec_story .story_box::after {
    background-image: url(/modpub/lp/home/april2022/img/story/frame_03_pc.png);
    height: 10rem;
  }
}
.sec_story .story_box_inner {
  margin-bottom: -4vw;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .sec_story .story_box_inner {
    margin-bottom: -3rem;
  }
}
.sec_story .story_box_inner .glitch_text:nth-of-type(2)::before, .sec_story .story_box_inner .glitch_text:nth-of-type(2)::after {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.sec_story .story_box_inner .glitch_text:nth-of-type(3)::before, .sec_story .story_box_inner .glitch_text:nth-of-type(3)::after {
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}
.sec_story .parts_feather {
  bottom: -8vw;
  left: -5vw;
  width: 37.5vw;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .sec_story .parts_feather {
    top: 26rem;
    bottom: auto;
    left: -12rem;
    width: 26.04vw;
  }
}

/* ==================================================
  GENERATOR
================================================== */
.sec_generator {
  position: relative;
  padding-bottom: 23vw;
  background: url(/modpub/lp/home/april2022/img/generator/bg_01_sp.png) no-repeat center top/cover;
  margin-top: -5vw;
}
@media screen and (min-width: 1024px) {
  .sec_generator {
    padding-bottom: 25rem;
    background-image: url(/modpub/lp/home/april2022/img/generator/bg_01_pc.png);
  }
}
.sec_generator .lp_sec_header::before {
  background-image: url(/modpub/lp/home/april2022/img/generator/bg_heading_01.png);
  background-size: 105.48vw auto;
}
@media screen and (min-width: 1024px) {
  .sec_generator .lp_sec_header::before {
    background-size: 87.9rem auto;
  }
}
.sec_generator .lp_sec_body p {
  position: relative;
  z-index: 1;
  text-shadow: 0 0 1rem #000;
}
.sec_generator .lp_sec_body p [data-ruby]::before {
  text-shadow: 0 0 1rem #000;
}
.sec_generator .lp_sec_body b {
  color: #9afbff;
  display: inline-block;
  line-height: 1.1;
}
.sec_generator .generator_list {
  position: relative;
  width: 87.2vw;
  margin: 6vw auto 0;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_list {
    width: 100%;
    margin-top: 3vw;
  }
}
.sec_generator .generator_list::before {
  content: "";
  position: absolute;
  bottom: -20vw;
  left: 50%;
  margin-left: -77vw;
  background: url(/modpub/lp/home/april2022/img/generator/circle_01.png) no-repeat center top/100% auto;
  width: 155.06vw;
  height: 89.86vw;
  -webkit-animation: generator_circle 2s infinite ease-in-out;
          animation: generator_circle 2s infinite ease-in-out;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_list::before {
    bottom: -7.5vw;
    margin-left: -58.15rem;
    width: 116.3rem;
    height: 67.4rem;
  }
}
@-webkit-keyframes generator_circle {
  0%, 100% {
    -webkit-filter: brightness(100%) blur(0);
            filter: brightness(100%) blur(0);
  }
  20%, 40% {
    -webkit-filter: brightness(150%) blur(0.1rem);
            filter: brightness(150%) blur(0.1rem);
  }
}
@keyframes generator_circle {
  0%, 100% {
    -webkit-filter: brightness(100%) blur(0);
            filter: brightness(100%) blur(0);
  }
  20%, 40% {
    -webkit-filter: brightness(150%) blur(0.1rem);
            filter: brightness(150%) blur(0.1rem);
  }
}
.sec_generator .generator_list li {
  position: relative;
  z-index: 1;
}
.sec_generator .generator_box {
  width: 92vw;
  margin: 9vw auto 0;
  padding: 5vw 5vw 8vw;
  position: relative;
  font-size: 1.2rem;
  background-color: rgba(26, 41, 45, 0.8);
  border: 0.2rem solid #297c83;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .sec_generator .generator_box {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box {
    width: 90rem;
    margin-top: 7.5rem;
    padding: 4rem 10rem 6rem;
    font-size: 1.8rem;
  }
}
.sec_generator .generator_box::before {
  content: "";
  width: 163.33vw;
  height: 89.2vw;
  max-width: 110rem;
  position: absolute;
  top: -11vw;
  left: 50%;
  -webkit-transform: translateX(-53%);
          transform: translateX(-53%);
  background: url(/modpub/lp/home/april2022/img/generator/bg_caution_01_sp.png) no-repeat center top/100% auto;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box::before {
    width: 80.5rem;
    height: 44rem;
    top: -7rem;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-image: url(/modpub/lp/home/april2022/img/generator/bg_caution_01_pc.png);
  }
}
.sec_generator .generator_box_logout {
  margin: 5vw auto 0;
  padding: 4vw;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box_logout {
    margin-top: 4rem;
    padding: 2rem;
  }
}
.sec_generator .generator_box_logout::before {
  content: none;
}
.sec_generator .generator_box_logout_inner {
  text-align: left;
  display: inline-block;
}
.sec_generator .generator_box_logout dl {
  display: flex;
  align-items: center;
}
.sec_generator .generator_box_logout dl:nth-of-type(1) dt {
  border-color: #a0172c;
}
.sec_generator .generator_box_logout dl:nth-of-type(1) dd::before {
  background-color: #a0172c;
}
.sec_generator .generator_box_logout dl:nth-of-type(2) dt {
  border-color: #5d2e86;
}
.sec_generator .generator_box_logout dl:nth-of-type(2) dd::before {
  background-color: #a0172c;
}
.sec_generator .generator_box_logout dl + dl {
  margin-top: 0.5rem;
}
.sec_generator .generator_box_logout dl dt {
  border-width: 0.1rem;
  border-style: solid;
  padding: 0.2rem 1rem;
  min-width: 10em;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box_logout dl dt {
    font-size: 1.1em;
  }
}
.sec_generator .generator_box_logout dl dd {
  position: relative;
  margin-left: 1.5rem;
  line-height: 1.3;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box_logout dl dd {
    margin-left: 4rem;
  }
}
.sec_generator .generator_box_logout dl dd::before {
  content: "";
  width: 1rem;
  height: 0.1rem;
  position: absolute;
  top: 50%;
  left: -1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box_logout dl dd::before {
    width: 3rem;
    left: -4rem;
  }
}
.sec_generator .generator_box .caution_header {
  position: relative;
  z-index: 1;
  margin-bottom: 3vw;
}
@media screen and (min-width: 1024px) {
  .sec_generator .generator_box .caution_header {
    margin-bottom: 2rem;
  }
}
.sec_generator .generator_box .caution_header img {
  width: 27.6vw;
}
@media screen and (min-width: 768px) {
  .sec_generator .generator_box .caution_header img {
    width: 18rem;
  }
}
.sec_generator .generator_box .caution_body {
  position: relative;
  z-index: 1;
}
.sec_generator .generator_box .caution_list {
  text-align: left;
}
.sec_generator .generator_box .caution_list li {
  font-weight: normal;
  line-height: 1.6;
  text-indent: -1em;
  padding-left: 1em;
}
.sec_generator .generator_box .caution_list li::before {
  content: "・";
}
.sec_generator .generator_box .caution_list li + li {
  margin-top: 0.7em;
}
.sec_generator .parts_feather {
  width: 30.7vw;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .sec_generator .parts_feather:nth-of-type(1) {
    top: -10rem;
    right: 6rem;
    width: 13.69vw;
  }
}
.sec_generator .parts_feather:nth-of-type(2) {
  bottom: -7vw;
  left: -9vw;
}
@media screen and (min-width: 1024px) {
  .sec_generator .parts_feather:nth-of-type(2) {
    bottom: 18rem;
    left: 3rem;
    width: 15.98vw;
  }
}

_:-ms-input-placeholder, :root .sec_generator .generator_list::before {
  animation: generator_circle_ie 0.1s infinite ease-in-out;
}

@-webkit-keyframes generator_circle_ie {
  0%, 40%, 100% {
    opacity: 1;
  }
  20% {
    opacity: 0.9;
  }
}

@keyframes generator_circle_ie {
  0%, 40%, 100% {
    opacity: 1;
  }
  20% {
    opacity: 0.9;
  }
}
/* ==================================================
  MESSAGE
================================================== */
.sec_message {
  position: relative;
  padding-bottom: 28.133vw;
  background: url(/modpub/lp/home/april2022/img/message/bg_01_sp.png) no-repeat center top/cover;
  margin-top: -5vw;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .sec_message {
    padding-bottom: 11.77vw;
    background-image: url(/modpub/lp/home/april2022/img/message/bg_01_pc.png);
  }
}
.sec_message::after {
  content: "";
  width: 100%;
  height: 92.8vw;
  background: url(/modpub/lp/home/april2022/img/message/bg_02_sp.png) no-repeat center top/100% auto;
  position: absolute;
  top: calc(100% - 28.133vw);
  left: 0;
}
@media screen and (min-width: 1024px) {
  .sec_message::after {
    height: 42.5vw;
    background-image: url(/modpub/lp/home/april2022/img/message/bg_02_pc.png);
    top: calc(100% - 11.77vw);
  }
}
.sec_message .lp_sec_header::before {
  background-image: url(/modpub/lp/home/april2022/img/message/bg_heading_01.png);
  background-size: 84.24vw auto;
}
@media screen and (min-width: 1024px) {
  .sec_message .lp_sec_header::before {
    background-size: 70.2rem auto;
  }
}
.sec_message .lp_sec_body b {
  color: #9afbff;
  display: inline-block;
  line-height: 1.1;
}
.sec_message .message_box {
  width: 100%;
  margin: 38vw auto 30vw;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: url(/modpub/lp/home/april2022/img/message/frame_02.png) repeat-y center top/109.33vw auto;
  font-family: isemin, 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, メイリオ, Meiryo, serif;
  font-size: 1.6rem;
  z-index: 1;
}
@media screen and (max-width: 374px) {
  .sec_message .message_box {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .sec_message .message_box {
    font-size: 2.3rem;
  }
}
@media screen and (min-width: 1024px) {
  .sec_message .message_box {
    width: 96rem;
    margin: 32rem auto 20rem;
    background-size: 100% auto;
  }
}
@media screen and (min-width: 1366px) {
  .sec_message .message_box {
    font-size: 3rem;
  }
}
.sec_message .message_box::before, .sec_message .message_box::after {
  content: "";
  position: absolute;
  left: 0;
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 109.33vw auto;
  width: 100%;
  z-index: -1;
}
@media screen and (min-width: 1024px) {
  .sec_message .message_box::before, .sec_message .message_box::after {
    background-size: 100% auto;
  }
}
.sec_message .message_box::before {
  bottom: 99%;
  background-image: url(/modpub/lp/home/april2022/img/message/frame_01.png);
  height: 35.305vw;
}
@media screen and (min-width: 1024px) {
  .sec_message .message_box::before {
    height: 31rem;
  }
}
.sec_message .message_box::after {
  top: 99%;
  background-image: url(/modpub/lp/home/april2022/img/message/frame_03.png);
  height: 26.194vw;
}
@media screen and (min-width: 1024px) {
  .sec_message .message_box::after {
    height: 23rem;
  }
}
.sec_message .message_box_inner {
  margin: -21vw 0 -10vw;
}
@media screen and (min-width: 1024px) {
  .sec_message .message_box_inner {
    margin: -20rem 0 -10rem;
  }
}
.sec_message .message_box_inner [data-ruby] {
  background-color: transparent;
  color: #fff;
}
.sec_message .message_box_inner [data-ruby]::before {
  top: -1.1em;
  font-size: 1.1rem;
  letter-spacing: 1em;
  padding-left: 1em;
}
.sec_message .message_btn {
  width: 87.2vw;
  margin: 3.5vw auto 0;
}
@media screen and (min-width: 1024px) {
  .sec_message .message_btn {
    width: auto;
    margin-top: 3rem;
  }
}
.sec_message .parts_feather {
  bottom: 4vw;
  right: -7vw;
  width: 58vw;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .sec_message .parts_feather {
    bottom: 11rem;
    right: 8rem;
    width: 30.2vw;
  }
}

/* ==================================================
  Sorry!
================================================== */
.sec_sorry {
  padding: 70vw 0 23vw;
  position: relative;
  background: url(/modpub/lp/home/april2022/img/sorry/bg_01.png) repeat center top/5.466vw auto;
  color: #333;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", YuGothic, "Yu Gothic Medium", "Helvetica Neue", Verdana, sans-serif;
}
@media screen and (max-width: 374px) {
  .sec_sorry {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1024px) {
  .sec_sorry {
    padding: 30vw 0 14rem;
    background-size: 4.1rem auto;
  }
}
.sec_sorry::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vw;
  background: linear-gradient(to bottom, white 0%, rgba(255, 255, 255, 0) 100%);
}
@media screen and (min-width: 1024px) {
  .sec_sorry::before {
    height: 40rem;
  }
}
.sec_sorry .sorry_header img {
  width: 73.866vw;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_header img {
    width: auto;
  }
}
.sec_sorry .sorry_description {
  margin-top: 5vw;
  line-height: 2.3;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_description {
    margin-top: 5rem;
  }
}
.sec_sorry .sorry_description p {
  font-weight: normal;
}
.sec_sorry .sorry_description b {
  padding: 0 0.2em;
  background: linear-gradient(transparent 60%, #ffeb63 0%);
}
.sec_sorry .sorry_sns {
  margin-top: 13vw;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns {
    margin-top: 16rem;
  }
}
.sec_sorry .sorry_sns .sns_text {
  position: relative;
  display: inline-block;
  background: rgba(0, 0, 0, 0.25);
  -webkit-transform: translate(1vw, 1.3vw);
          transform: translate(1vw, 1.3vw);
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_text {
    -webkit-transform: translate(0.5rem, 0.8rem);
            transform: translate(0.5rem, 0.8rem);
  }
}
.sec_sorry .sorry_sns .sns_text::before, .sec_sorry .sorry_sns .sns_text::after {
  content: "";
  position: absolute;
}
.sec_sorry .sorry_sns .sns_text::before {
  bottom: -1.4rem;
  left: 50%;
  margin-left: -0.7rem;
  border: 0.7rem solid transparent;
  border-top: 0.7rem solid rgba(0, 0, 0, 0.25);
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_text::before {
    bottom: -2.8rem;
    margin-left: -1.4rem;
    border-width: 1.4rem;
    border-top-width: 1.4rem;
  }
}
.sec_sorry .sorry_sns .sns_text::after {
  top: -9.3vw;
  right: 2vw;
  background: url(/modpub/lp/home/april2022/img/sorry/img_02.png) no-repeat 0 0/100% auto;
  width: 18.8vw;
  height: 8.933vw;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_text::after {
    top: -6.8rem;
    right: 1rem;
    width: 14.1rem;
    height: 6.7rem;
  }
}
.sec_sorry .sorry_sns .sns_text span {
  position: relative;
  display: inline-block;
  padding: 2vw 10vw;
  background: #fff;
  border: 0.1rem solid #333;
  -webkit-transform: translate(-1vw, -1.3vw);
          transform: translate(-1vw, -1.3vw);
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_text span {
    padding: 1rem 9rem;
    border-width: 0.2rem;
    -webkit-transform: translate(-0.5rem, -0.8rem);
            transform: translate(-0.5rem, -0.8rem);
  }
}
.sec_sorry .sorry_sns .sns_text span::before, .sec_sorry .sorry_sns .sns_text span::after {
  content: "";
  position: absolute;
  left: 50%;
}
.sec_sorry .sorry_sns .sns_text span::before {
  bottom: -1.3rem;
  margin-left: -0.7rem;
  border: 0.7rem solid transparent;
  border-top: 0.7rem solid #fff;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_text span::before {
    bottom: -2.7rem;
    margin-left: -1.4rem;
    border-width: 1.4rem;
    border-top-width: 1.4rem;
  }
}
.sec_sorry .sorry_sns .sns_text span::after {
  bottom: -1.6rem;
  margin-left: -0.8rem;
  border: 0.8rem solid transparent;
  border-top: 0.8rem solid #333;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_text span::after {
    bottom: -3.2rem;
    margin-left: -1.6rem;
    border-width: 1.6rem;
    border-top-width: 1.6rem;
  }
}
.sec_sorry .sorry_sns .sns_btn {
  margin-top: 4.3vw;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_btn {
    margin-top: 3.8rem;
  }
}
.sec_sorry .sorry_sns .sns_btn img {
  width: 13.33vw;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_sns .sns_btn img {
    width: 8rem;
  }
}
.sec_sorry .sorry_home {
  margin-top: 10vw;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_home {
    margin-top: 10rem;
  }
}
.sec_sorry .sorry_home .btn_home {
  display: inline-block;
  padding: 4vw 17vw;
  border-radius: 20vw;
  background-color: #eb790a;
  box-shadow: 0 0.5rem 0 0 #ad5500;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_home .btn_home {
    padding: 2.2rem 9rem;
    box-shadow: 0 0.8rem 0 0 #ad5500;
  }
}
.sec_sorry .sorry_home .btn_home:hover {
  opacity: 1;
  box-shadow: none;
  -webkit-transform: translateY(0.5rem);
          transform: translateY(0.5rem);
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_home .btn_home:hover {
    -webkit-transform: translateY(0.8rem);
            transform: translateY(0.8rem);
  }
}
.sec_sorry .sorry_home .btn_home img {
  display: block;
  width: 41.6vw;
  max-width: 24rem;
}
@media screen and (min-width: 1024px) {
  .sec_sorry .sorry_home .btn_home img {
    width: 24rem;
  }
}</pre></body></html>