@charset "UTF-8";
/* ==============================================================
*  base
* ============================================================ */
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

h1 {
  font-size: inherit;
  margin: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

[type=button],
[type=reset],
[type=submit],
button {
  -webkit-appearance: button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

body {
  word-wrap: break-word;
}

section,
main {
  display: block;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

i,
em {
  font-style: normal;
}

table {
  border-collapse: collapse;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
  line-height: 0;
}

* {
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}

:root {
  --base-color: #2b2b2b;
  --text-color: #ad8a56;
  --border-color: #706759;
  --sub-border-color: #78736D;
}

body.theme-light {
  --base-color: #e7cda8;
  --text-color: #6d5531;
  --border-color: #6d5531;
  --sub-border-color: #B4925F;
}

:root {
  --sub-base-color: #2b2b2b;
  --sub-text-color: #ad8a56;
  --sub-text-color-light: #6d5531;
  --color-overlay: rgba(0, 0, 0, 0.5);
  --gray: #BBBBBB;
  --input-base-color: #F4F3EE;
  --input-text-color: #303030;
  --placeholder-color: #999999;
  --error-base-color: #FFF0EA;
  --error-color: #DA614C;
  --shadow: 0 0 20px rgba(34, 34, 34, 80%);
}

.font-en {
  font-family: cesso, sans-serif;
}

.font-jp {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
}

.font-jp-tit {
  font-family: zen-old-mincho, sans-serif;
}

:root {
  --content-max: 1200px;
  --content-padding: min(5vw, 36px);
  --section-inline: max(min(190px, 15vw), calc((100vw - var(--content-max)))/2);
  --section-block: 50px;
  --list-padding: 30px 0;
  --radius-sm: 2px;
  --radius-md: 10px;
  --radius-lg: 15px;
  --header-height: 110px;
  --footer-height: 400px;
  --paper_dec-height: 60px;
  --paper_dec-padding: 10px;
}

@media screen and (min-width: 1px) and (max-width: 960px) {
  :root {
    --content-max: 700px;
    --section-block: 64px;
    --section-inline: max(24px, calc((100vw - var(--content-max)))/2);
    --list-padding: 24px 0;
    --header-height: 90px;
    --footer-height: 400px;
    --paper_dec-height: 50px;
    --paper_dec-padding: 5px;
  }
}
@media screen and (min-width: 1px) and (max-width: 599px) {
  :root {
    --header-height: 70px;
  }
}
.dec_Gclef {
  display: flex;
  gap: 10px;
  padding-inline: 20px;
  --gclef-color: var(--sub-border-color);
}

.dec_line--Gclef_l,
.dec_line--Gclef_r {
  display: block;
  position: relative;
  width: auto;
  flex-grow: 1;
  height: 1px;
  background: var(--gclef-color);
}
.dec_line--Gclef_l::before,
.dec_line--Gclef_r::before {
  content: "";
  display: block;
  position: absolute;
  width: auto;
  height: 10px;
  aspect-ratio: 30/10;
  top: 50%;
  left: -25px;
  transform: translateY(-39%);
  background: var(--gclef-color);
  -webkit-mask: url("/static/aimer/fanclub/common/gclef.svg") no-repeat center/contain;
  mask: url("/static/aimer/fanclub/common/gclef.svg") no-repeat center/contain;
}
.dec_line--Gclef_l::after,
.dec_line--Gclef_r::after {
  content: "";
  display: block;
  position: absolute;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  top: 50%;
  right: 0;
  background: var(--gclef-color);
  transform: translateY(-50%);
}

.dec_line--Gclef_r {
  transform: scale(-1, 1);
}

.title--news {
  --logo-aspect: 167 / 32;
}

.title--radio {
  --logo-aspect: 91 / 16;
}

.title--diary_aimer {
  --logo-aspect: 140 / 31;
}

.title--diary_staff {
  --logo-aspect: 140 / 32;
}

.title--qa {
  --logo-aspect: 145 / 32;
}

.title--fortune {
  --logo-aspect: 234 / 32;
}

.title--gallery {
  --logo-aspect: 83 / 16;
}

.title--archive {
  --logo-aspect: 125 / 32;
}

.title--profile {
  --logo-aspect: 145 / 32;
}

.title--ticket {
  --logo-aspect: 229 / 33;
}

.title--store {
  --logo-aspect: 127 / 32;
}

/* ==============================================================
*  contents
* ============================================================ */
/* common.scss
============================== */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 100px;
}

html,
body {
  height: 100%;
  font-size: 62.5%;
}

body {
  background: var(--base-color);
  color: var(--text-color);
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  body {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  body {
    font-size: 15px;
  }
}
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
}
body::before,
body footer {
  opacity: 1;
}

body.theme-dark::before,
body:not(.theme-light)::before {
  content: "";
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background-image: url(/static/aimer/fanclub/common/bg_dark_pc.webp);
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  body.theme-dark::before,
  body:not(.theme-light)::before {
    background-image: url(/static/aimer/fanclub/common/bg_dark_sp.webp);
  }
}

body.theme-light {
  background: #e4be8e;
}
body.theme-light::before {
  content: "";
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  height: 100lvh;
  background-image: url(/static/aimer/fanclub/common/bg_light.webp);
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
}

a {
  color: inherit;
  text-decoration: none;
  cursor: pointer;
}

img {
  width: 100%;
  max-width: 100%;
  height: auto;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  line-height: 0;
  vertical-align: bottom;
}

::-moz-selection {
  background-color: var(--text-color);
  color: var(--base-color);
}

::selection {
  background-color: var(--text-color);
  color: var(--base-color);
}

::-moz-selection {
  background-color: var(--text-color);
  color: var(--base-color);
}

summary {
  list-style: none;
  cursor: pointer;
}

.body--app a {
  -webkit-touch-callout: none !important;
}

:where(a,
button,
label,
input,
iframe,
textarea,
select,
summary,
[tabindex]):focus {
  outline: none;
}

html:not(.using-mouse) :where(a,
button,
label,
input,
iframe,
textarea,
select,
summary,
[tabindex]):focus {
  outline: 2px solid var(--text-color);
  outline-offset: 3px;
  border-radius: 5px;
}
html:not(.using-mouse) .header .head_owl:has(a:focus),
html:not(.using-mouse) .header .drawer__btn:has(button:focus),
html:not(.using-mouse) .header .drawer__close:has(button:focus) {
  outline: 2px solid var(--text-color);
  outline-offset: 3px;
  border-radius: 4px;
}
html:not(.using-mouse) .header .drawer :is(a, button):focus {
  outline-color: var(--sub-text-color);
}

html.using-mouse :where(a,
button,
label,
input,
iframe,
textarea,
select,
summary,
[tabindex]):focus {
  outline: none;
  box-shadow: none;
}

.block--pager {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  -moz-column-gap: 0.5em;
       column-gap: 0.5em;
  row-gap: 0.5em;
  margin: 40px auto 0;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.block--pager .pager__item--current,
.block--pager .pager__item--other a,
.block--pager .pager__item--newer :is(a, span),
.block--pager .pager__item--older :is(a, span) {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
  padding: 10px;
  text-align: center;
  line-height: 1;
}
.block--pager .pager__item--current::before,
.block--pager .pager__item--other a::before {
  content: "";
  display: block;
  position: absolute;
  width: 1.25em;
  height: 1px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background: currentColor;
}
.block--pager .pager__item--other a::before {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: -webkit-clip-path 0.3s;
  transition: clip-path 0.3s;
  transition: clip-path 0.3s, -webkit-clip-path 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .block--pager .pager__item--other a:hover::before {
    -webkit-clip-path: inset(0);
            clip-path: inset(0);
  }
}
.block--pager .pager__item--newer :is(a, span),
.block--pager .pager__item--older :is(a, span) {
  transition: transform 0.3s;
  position: relative;
}
.block--pager .pager__item--newer :is(a, span)::before,
.block--pager .pager__item--older :is(a, span)::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .block--pager .pager__item--newer :is(a, span):hover {
    transform: translateX(-3px);
  }
}
@media (hover: hover) and (pointer: fine) {
  .block--pager .pager__item--older :is(a, span):hover {
    transform: translateX(3px);
  }
}
.block--pager .pager__item--newer :is(a, span)::before {
  transform: scale(-1, 1) translateY(-50%);
  right: auto;
  left: 0;
}

.detail--pager {
  position: relative;
  gap: 0;
  color: #fff;
}
.detail--pager::before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg width='2' height='5' viewBox='0 0 2 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='0.5' cy='1' rx='0.5' ry='1' fill='black'/%3E%3C/svg%3E");
  mask-repeat: round;
  mask-position: center top;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='2' height='5' viewBox='0 0 2 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='0.5' cy='1' rx='0.5' ry='1' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: round;
  -webkit-mask-position: center top;
  pointer-events: none;
}
.detail--pager li {
  width: 50%;
}
.detail--pager li :is(a, span) {
  display: block;
  position: relative;
  text-align: center;
}
.detail--pager li span {
  opacity: 0.5;
  pointer-events: none;
}
.detail--pager .pager-link--prev :is(a, span) {
  position: relative;
}
.detail--pager .pager-link--prev :is(a, span)::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .detail--pager .pager-link--prev :is(a, span):hover::before {
    transform: translateX(3px) translateY(-50%);
  }
}
.detail--pager .pager-link--next :is(a, span) {
  position: relative;
}
.detail--pager .pager-link--next :is(a, span)::before {
  content: "";
  display: block;
  position: absolute;
  right: auto;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.detail--pager .pager-link--next :is(a, span)::before {
  left: 0;
  transform: scale(-1, 1) translateY(-50%);
}
@media (hover: hover) and (pointer: fine) {
  .detail--pager .pager-link--next :is(a, span):hover::before {
    transform: translateX(-3px) translateY(-50%) scale(-1, 1);
  }
}

.swiper {
  position: relative;
}
.swiper .swiper-slide a {
  display: block;
}

.swiper-pagination {
  position: static;
}

.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  margin: 0 5px;
  background: none;
  border-radius: 0;
  opacity: 1;
}
.swiper-pagination-bullet .icon {
  display: block;
  width: 100%;
  height: 100%;
}
.swiper-pagination-bullet .icon--active {
  display: none;
}

.swiper-pagination-bullet-active .icon--default {
  display: none;
}
.swiper-pagination-bullet-active .icon--active {
  display: block;
}

.txt--sub {
  font-size: 0.85em;
  line-height: 1.6em;
  margin-top: 0.5em;
}

.txt--large {
  font-size: 1.25em;
}

.txt--large + p {
  margin-top: 1em;
}

.txt--link {
  padding-right: 0.8em;
  text-decoration: none;
  position: relative;
}
.txt--link::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: auto;
  right: 0;
  width: 0.4em;
  height: 0.4em;
  border: 1px solid currentcolor;
  border-top: none;
  border-right: none;
  transform: translateY(-50%) rotate(-135deg);
}

.txt--indent {
  padding-left: 1em;
  text-indent: -1em;
}

.left {
  text-align: left;
}

.right {
  text-align: right;
}

.center {
  text-align: center;
}

.bold {
  font-weight: bold;
}

.en {
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

.red {
  color: var(--error-color);
}

.ph,
.thumb {
  position: relative;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  line-height: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  vertical-align: bottom;
  background: var(--base-color);
}
.ph img,
.thumb img {
  position: relative;
  z-index: 10;
  width: 100%;
  max-height: 100%;
  max-width: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.ph.square,
.thumb.square {
  aspect-ratio: 1/1;
  width: 100%;
}
.ph.square .thumb_blank,
.thumb.square .thumb_blank {
  height: 100%;
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
}

.thumb {
  aspect-ratio: 16/9;
}
.thumb::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background-image: var(--image);
  background-size: cover;
  background-position: center;
  filter: blur(15px);
  transform: scale(1.2);
  opacity: 0.8;
}
.thumb img {
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
@media screen and (min-width: 961px) {
  .thumb.members-only img {
    filter: blur(16px);
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .thumb.members-only img {
    filter: blur(6px);
  }
}
.thumb.members-only::after {
  content: "OWLS ONLY";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  inset: 0;
  z-index: 10;
  background: var(--color-overlay);
  font-size: 1.3rem;
  pointer-events: none;
}

.txt.txt {
  margin-top: 0.5em;
}
.txt .ph,
.txt .thumb {
  margin: 10px 0;
  max-width: 100%;
  background: transparent !important;
}

video {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.block--player,
.video {
  position: relative;
  aspect-ratio: 16/9;
}
.block--player iframe,
.video iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.dummy {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.youtube-thumb__app iframe {
  display: none;
}
.youtube-thumb__app a {
  display: block;
  line-height: 0;
  position: relative;
}
.youtube-thumb__app a::after {
  content: "";
  display: block;
  width: 80px;
  height: 80px;
  background: no-repeat center url("/static/common/global-image/ico--play.png");
  background-size: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.youtube-thumb__app a img {
  width: 100%;
  max-width: inherit;
}

.youtube-thumb__parent.youtube {
  padding-top: 0;
}

.txt :is(.video, .block--player, .ph) {
  margin: 10px 0;
}

.date {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  white-space: nowrap;
  line-height: 1;
  font-size: 1.4rem;
  font-family: garamond-premier-pro, sans-serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.03em;
}

.tit + .date {
  margin-top: 1em;
}

.block--date {
  display: flex;
  align-items: baseline;
  gap: 0.8em;
  margin-bottom: 0.8em;
}

.list--contents .date {
  margin-bottom: 0.5em;
}

ul:not(.list--nav__contents) li.new {
  position: relative;
}
ul:not(.list--nav__contents) li.new .tit::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  width: calc(var(--header-height) * 0.5);
  height: auto;
  left: calc(100% - 1.5em);
  top: 50%;
  transform: translate(-100%, -50%);
  aspect-ratio: 35/31;
  background: var(--text-color);
  -webkit-mask: url(/static/aimer/fanclub/common/new.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/new.svg) no-repeat center/contain;
  pointer-events: none;
}
ul:not(.list--nav__contents) li.new:not(:has(.thumb)) a {
  padding-right: 5em !important;
}
ul:not(.list--nav__contents) li.new:has(.thumb) .tit {
  position: relative;
  padding-right: calc(min(8vw, 40px) + 0.5em) !important;
}
ul:not(.list--nav__contents) li.new:has(.thumb) .tit::after {
  width: min(8vw, 40px);
  height: auto;
  left: calc(100% + 0.5em);
  top: 50%;
  transform: translate(-100%, -50%);
}

.category {
  line-height: 1;
}

.block--sort {
  margin-block: 40px;
}
.block--sort + .block--sort {
  margin-top: -20px;
}

.block--category {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: 1em;
}
.block--category li :is(a, span) {
  display: block;
  border-radius: var(--radius-md);
  border: 1px solid var(--sub-border-color);
  background: color-mix(in srgb, var(--sub-border-color) 5%, transparent 95%);
  color: var(--gray);
  text-align: center;
  line-height: 1;
  transition: background 0.3s;
}
.block--category li :is(a, span):not(.current) {
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
}
.block--category li :is(a, span).current {
  background: var(--text-color);
  border-color: var(--text-color);
  color: var(--sub-base-color);
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .block--category li a:hover {
    background: color-mix(in srgb, var(--sub-border-color) 20%, transparent 80%);
  }
}

.block--tit .category img {
  height: 1em;
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}

.block--sort.sort--ym {
  z-index: 12;
}
.block--sort.sort--ym .block--year {
  display: flex;
  justify-content: center;
  align-items: baseline;
  gap: 1em;
}
.block--sort.sort--ym .year-heading--prev a,
.block--sort.sort--ym .year-heading--next a {
  display: block;
  padding-inline: 1em;
}
.block--sort.sort--ym .year-heading--prev a {
  position: relative;
}
.block--sort.sort--ym .year-heading--prev a::before {
  content: "";
  display: block;
  position: absolute;
  right: auto;
  top: 50%;
  transform: scale(-1, 1) translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.block--sort.sort--ym .year-heading--prev a::before {
  left: 0;
}
.block--sort.sort--ym .year-heading--next a {
  position: relative;
}
.block--sort.sort--ym .year-heading--next a::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.block--sort.sort--ym .list--month {
  display: grid;
  row-gap: 12px;
}
.block--sort.sort--ym .list--month li {
  position: relative;
  padding-inline: 0.5em;
}
.block--sort.sort--ym .list--month li a {
  display: block;
  text-align: center;
}
.block--sort.sort--ym .list--month li::before {
  content: "";
  display: block;
  position: absolute;
  width: 2px;
  height: 100%;
  right: -2px;
  transform: translateX(-50%);
  background-color: currentColor;
  mask-image: url("data:image/svg+xml,%3Csvg width='2' height='5' viewBox='0 0 2 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='0.5' cy='1' rx='0.5' ry='1' fill='black'/%3E%3C/svg%3E");
  mask-repeat: round;
  mask-position: center top;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='2' height='5' viewBox='0 0 2 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='0.5' cy='1' rx='0.5' ry='1' fill='black'/%3E%3C/svg%3E");
  -webkit-mask-repeat: round;
  -webkit-mask-position: center top;
  pointer-events: none;
}
.block--sort.sort--ym .list--month li:last-child::before {
  display: none;
}
.block--sort.sort--ym .list--month li.current a {
  border-radius: var(--radius-sm);
  background: var(--text-color);
  color: var(--sub-base-color);
}

.num {
  white-space: nowrap;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

.svg-symbol {
  display: none !important;
}

symbol {
  overflow: visible;
}

svg {
  width: 100%;
  height: 100%;
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
  stroke-width: 1;
  overflow: visible;
  fill: currentColor;
}
svg path,
svg line,
svg use {
  vector-effect: non-scaling-stroke;
  shape-rendering: geometricPrecision;
}

.footprints {
  transition: transform 0.3s;
}
.footprints path {
  opacity: 1;
  animation-duration: 7s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  fill: #111;
}
.footprints path:nth-child(3) {
  animation-name: footprint1;
}
.footprints path:nth-child(2) {
  animation-name: footprint2;
}
.footprints path:nth-child(1) {
  animation-name: footprint3;
}

@media (pointer: fine) {
  .custom-cursor-active,
  .custom-cursor-active *,
  .custom-cursor-active *::before,
  .custom-cursor-active *::after {
    cursor: none !important;
  }
  .cursor {
    pointer-events: none;
    position: fixed;
    inset: 0;
    z-index: 9999;
  }
  .cursor__dot,
  .cursor__icon {
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
  }
  .cursor__dot {
    width: 0.5em;
    height: 0.5em;
    border-radius: 50%;
    background: var(--text-color);
    transition: opacity 0.3s;
  }
  .cursor__icon {
    width: 2.5em;
    height: 2.5em;
    background: url("/static/aimer/fanclub/common/cursor_dark.svg") no-repeat center/contain;
    opacity: 0;
    transition: opacity 0.3s ease;
  }
  .cursor.is-pointer .cursor__dot {
    opacity: 0;
  }
  .cursor.is-pointer .cursor__icon {
    opacity: 1;
  }
}
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  position: relative;
  z-index: 1;
  border: none;
  background: transparent;
  color: var(--text-color);
}
@media screen and (min-width: 961px) {
  button {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  button {
    font-size: 1.6rem;
  }
}

.btn {
  width: 100%;
  text-align: center;
  line-height: 1;
}
.btn.center {
  margin-inline: auto;
}

.btn + .btn {
  margin-top: 1em;
}

.content--main > form input[type=submit],
:is(.btn--main, .btn--sub),
input:is(.btn--main, .btn--sub) {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  position: relative;
  z-index: 1;
  border: none;
  background: transparent;
  color: var(--text-color);
}
@media screen and (min-width: 961px) {
  .content--main > form input[type=submit],
  :is(.btn--main, .btn--sub),
  input:is(.btn--main, .btn--sub) {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .content--main > form input[type=submit],
  :is(.btn--main, .btn--sub),
  input:is(.btn--main, .btn--sub) {
    font-size: 1.6rem;
  }
}
.content--main > form input[type=submit],
:is(.btn--main, .btn--sub),
input:is(.btn--main, .btn--sub) {
  width: 100%;
  overflow: hidden;
  padding-inline: 1.5em;
  border: 1px solid var(--text-color);
  border-radius: var(--radius-md);
  letter-spacing: 0;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
  position: relative;
}
.content--main > form input[type=submit]::before,
:is(.btn--main, .btn--sub)::before,
input:is(.btn--main, .btn--sub)::before {
  content: "";
  display: block;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .content--main > form input[type=submit]:hover::before,
  :is(.btn--main, .btn--sub):hover::before,
  input:is(.btn--main, .btn--sub):hover::before {
    transform: translateX(3px) translateY(-50%);
  }
}

:is(.btn--main, input.btn--main) {
  background: var(--text-color);
  color: var(--base-color);
}
@media (hover: hover) and (pointer: fine) {
  :is(.btn--main, input.btn--main):hover {
    background: color-mix(in srgb, var(--text-color) 95%, #fff 5%);
  }
}

.btn:has(input.btn--main) {
  position: relative;
  position: relative;
}
.btn:has(input.btn--main)::before {
  content: "";
  display: block;
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: #fff;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.btn:has(input.btn--main)::before {
  z-index: 10;
}
@media (hover: hover) and (pointer: fine) {
  .btn:has(input.btn--main):hover::before {
    transform: translateX(3px) translateY(-50%);
  }
}
.btn:has(input.btn--main) input.btn--main::before {
  display: none;
}

.content--main > form input[type=submit],
:is(.btn--sub, input.btn--sub) {
  background: transparent;
  color: var(--text-color);
}
@media (hover: hover) and (pointer: fine) {
  .content--main > form input[type=submit]:hover,
  :is(.btn--sub, input.btn--sub):hover {
    background: color-mix(in srgb, var(--text-color) 10%, transparent 90%);
  }
}

.txt--sub + .btn {
  margin-top: 0.5em;
}

.btn--blank {
  padding: 1em 2em;
  line-height: 1.2;
}
.btn--blank::before {
  display: none;
}
.btn--blank::after {
  content: "";
  display: block;
  position: absolute;
  width: 1em;
  height: 1em;
  top: 50%;
  right: 1.5em;
  transform: translateY(-50%);
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/blank.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/blank.svg) no-repeat center/contain;
}

.btn.btn:has(.btn--brackets) {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}

.btn--brackets {
  position: relative;
  display: block;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
}
.btn--brackets::before {
  content: "";
  display: block;
  position: absolute;
  right: 50%;
  top: 3em;
  transform: translateX(50%) rotate(90deg);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.btn--brackets::after {
  content: "";
  display: block;
  position: static;
  width: min(80%, 44vw);
  height: auto;
  aspect-ratio: 35/8;
  margin-top: 1.5em;
  margin-inline: auto;
  background-image: url(/static/aimer/fanclub/contents/item_post.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.btn--brackets::before {
  animation: btnArrow 10s infinite;
}
.btn--brackets span {
  display: block;
  position: relative;
  min-width: 280px;
  padding: 1em 1.5em;
}
.btn--brackets span::before, .btn--brackets span::after {
  content: "";
  display: block;
  position: absolute;
  width: auto;
  height: 2.5em;
  top: 50%;
  aspect-ratio: 14/45;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/brackets.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/brackets.svg) no-repeat center/contain;
  transition: transform 0.3s;
}
.btn--brackets span::before {
  left: 0;
  transform: translateY(-50%);
}
.btn--brackets span::after {
  right: 0;
  transform: translateY(-50%) scale(-1, 1);
}
@media (hover: hover) and (pointer: fine) {
  .btn--brackets:hover span::before {
    transform: translateY(-50%) translateX(-5px);
  }
  .btn--brackets:hover span::after {
    transform: translateY(-50%) translateX(5px) scale(-1, 1);
  }
}

@keyframes btnArrow {
  0%, 45%, 40%, 50%, 54%, 100% {
    transform: translateX(50%) translateY(0) rotate(90deg);
  }
  48%, 52% {
    transform: translateX(50%) rotate(90deg);
    transform: translateX(50%) translateY(20%) rotate(90deg);
  }
}
.btn.soon .btn--sub {
  border: 1px solid var(--sub-border-color);
  color: color-mix(in srgb, var(--gray) 80%, transparent 20%);
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  pointer-events: none;
}
.btn.soon .btn--sub::before {
  display: none;
}

.detail__btn {
  min-width: min(40vw, 200px);
}
.detail__btn :is(a, button) {
  display: block;
  width: 100%;
  padding: 1.4em 1em 1.2em;
  border: 1px solid var(--sub-border-color);
  border-radius: var(--radius-md);
  color: var(--gray);
  font-size: 1.6rem;
  line-height: 1;
  text-align: center;
  background: color-mix(in srgb, var(--sub-border-color) 0%, transparent 100%);
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  position: relative;
}
.detail__btn :is(a, button)::before {
  content: "";
  display: block;
  position: absolute;
  right: auto;
  top: 50%;
  transform: scale(-1, 1) translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: #999;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.detail__btn :is(a, button) {
  transition: background 0.3s;
}
.detail__btn :is(a, button)::before {
  left: 1em;
}
.detail__btn :is(a, button).font-jp {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
}
@media (hover: hover) and (pointer: fine) {
  .detail__btn :is(a, button):hover {
    background: color-mix(in srgb, var(--sub-border-color) 20%, transparent 80%);
  }
  .detail__btn :is(a, button):hover::before {
    transform: translateX(-3px) translateY(-50%) scale(-1, 1);
  }
}

body.theme-light .detail__btn :is(a, button) {
  color: var(--text-color);
}
body.theme-light .detail__btn :is(a, button):before {
  background: var(--sub-border-color);
}

.list__more {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 30px;
  margin-left: auto;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.7rem;
}
.list__more a {
  display: block;
  padding-right: 30px;
  position: relative;
}
.list__more a::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .list__more a:hover::before {
    transform: translate(3px, -50%);
  }
}

:is(.confirm, .post) .detail__btn {
  margin-top: 0;
}
:is(.confirm, .post) .detail__btn :is(a, button) {
  font-family: revert;
}

.list--login {
  display: flex;
  justify-content: center;
  gap: 1.5em;
}
.list--login li {
  flex: 1 1 min(40vw, 250px);
  max-width: min(40vw, 250px);
}
.list--login a {
  display: block;
  padding: 0.9em 1em;
  border: 1px solid var(--text-color);
  border-radius: var(--radius-md);
  background: rgba(248, 247, 242, 0.2);
  line-height: 1;
  text-align: center;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  position: relative;
}
.list--login a::before {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.list--login a {
  transition: background 0.3s, color 0.3s, border-color 0.3s;
}
.list--login a:has(span) {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  padding: 0.75em 1em 0.7em;
}
.list--login a span {
  display: block;
  font-size: 1.3rem;
  margin-top: 0.3em;
}
@media (hover: hover) and (pointer: fine) {
  .list--login a:hover {
    background: rgba(248, 247, 242, 0.3);
  }
  .list--login a:hover::before {
    transform: translateX(3px) translateY(-50%);
  }
}
.list--login li.join a {
  background: var(--text-color);
  border-color: var(--text-color);
  color: var(--base-color);
}
@media (hover: hover) and (pointer: fine) {
  .list--login li.join a:hover {
    background: color-mix(in srgb, var(--text-color) 85%, transparent 15%);
  }
}

body:has(.langSelector.lang-ja) .list--login li.join a,
body:has(.langSelector.lang-zh-tw) .list--login li a {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
}

body:not(.theme-light) .list--login li.login a,
.drawer .list--login li.login a {
  background: rgba(168, 154, 103, 0.05);
  color: var(--sub-text-color);
  border-color: var(--sub-text-color);
}
@media (hover: hover) and (pointer: fine) {
  body:not(.theme-light) .list--login li.login a:hover,
  .drawer .list--login li.login a:hover {
    background: rgba(168, 154, 103, 0.1);
  }
}
body:not(.theme-light) .list--login li.join a,
.drawer .list--login li.join a {
  background: var(--sub-text-color);
  color: var(--sub-base-color);
  border-color: var(--sub-text-color);
}
@media (hover: hover) and (pointer: fine) {
  body:not(.theme-light) .list--login li.join a:hover,
  .drawer .list--login li.join a:hover {
    background: color-mix(in srgb, var(--sub-text-color) 95%, #fff 5%);
  }
}

.no-data,
.txt--no-data {
  padding: var(--list-padding);
  text-align: center;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

body:not(.theme-light) :is(.no-data, .txt--no-data) {
  color: var(--gray);
}

.list--info li a,
.list--contents li a {
  display: block;
}

.list--faq li a,
.list--info:not(:has(.thumb)) li a,
.page--movie .list--contents li a,
.list--qa li a {
  display: block;
  padding: var(--list-padding);
}

.list--faq li,
.page--home .list--info li,
.page--movie .list--contents li {
  padding-block: 5px;
  border-top: 3px solid var(--border-color);
}
.list--faq li a,
.page--home .list--info li a,
.page--movie .list--contents li a {
  border-top: 1px solid var(--border-color);
  position: relative;
}
.list--faq li a::before,
.page--home .list--info li a::before,
.page--movie .list--contents li a::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
@media (hover: hover) and (pointer: fine) {
  .list--faq li a:hover::before,
  .page--home .list--info li a:hover::before,
  .page--movie .list--contents li a:hover::before {
    transform: translateX(3px) translateY(-50%);
  }
}
.list--faq li:last-child,
.page--home .list--info li:last-child,
.page--movie .list--contents li:last-child {
  border-bottom: 1px solid var(--border-color);
}
.list--faq li:last-child a,
.page--home .list--info li:last-child a,
.page--movie .list--contents li:last-child a {
  border-bottom: 3px solid var(--border-color);
}
.list--faq li a,
.page--home .list--info li a,
.page--movie .list--contents li a {
  display: block;
}

.page--info.page--ticket .list--info .thumb,
.page--blog .list--contents .thumb {
  margin-bottom: 18px;
}
.page--info.page--ticket .list--info .date + .tit,
.page--blog .list--contents .date + .tit {
  margin-top: 0.5em;
}

.page--archive .list--info li,
.page--info:not(.page--ticket) .list--info li,
.page--blog.category--3 .list--contents li,
.page--blog--archive .list--contents li {
  position: relative;
}
.page--archive .list--info li::before,
.page--info:not(.page--ticket) .list--info li::before,
.page--blog.category--3 .list--contents li::before,
.page--blog--archive .list--contents li::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 3px;
  top: 0;
  left: 0;
  background-image: url(/static/aimer/fanclub/common/line_twist.svg);
  background-repeat: repeat-x;
}
.page--archive .list--info li:last-child:after,
.page--info:not(.page--ticket) .list--info li:last-child:after,
.page--blog.category--3 .list--contents li:last-child:after,
.page--blog--archive .list--contents li:last-child:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 4px;
  bottom: 0;
  left: 0;
  background-image: url(/static/aimer/fanclub/common/line_twist.svg);
  background-repeat: round;
  background-position: center;
  background-size: auto 90%;
}
.page--archive .list--info li a,
.page--info:not(.page--ticket) .list--info li a,
.page--blog.category--3 .list--contents li a,
.page--blog--archive .list--contents li a {
  padding-right: 1em;
  position: relative;
}
.page--archive .list--info li a::before,
.page--info:not(.page--ticket) .list--info li a::before,
.page--blog.category--3 .list--contents li a::before,
.page--blog--archive .list--contents li a::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
@media screen and (min-width: 961px) {
  .page--archive .list--info li a,
  .page--info:not(.page--ticket) .list--info li a,
  .page--blog.category--3 .list--contents li a,
  .page--blog--archive .list--contents li a {
    padding-block: 40px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .page--archive .list--info li a,
  .page--info:not(.page--ticket) .list--info li a,
  .page--blog.category--3 .list--contents li a,
  .page--blog--archive .list--contents li a {
    padding-block: 30px;
  }
}
@media (hover: hover) and (pointer: fine) {
  .page--archive .list--info li a:hover::before,
  .page--info:not(.page--ticket) .list--info li a:hover::before,
  .page--blog.category--3 .list--contents li a:hover::before,
  .page--blog--archive .list--contents li a:hover::before {
    transform: translateX(3px) translateY(-50%);
  }
}

/* nav */
.block--sns {
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

.list--sns {
  display: flex;
  flex-wrap: wrap;
}
.list--sns li a {
  display: block;
  padding: 0.5em;
  line-height: 1;
  transition: opacity 0.3s;
}
.list--sns li a i {
  font-size: 2.2rem;
}
@media (hover: hover) and (pointer: fine) {
  .list--sns:has(li a:hover) li a:not(:hover) {
    opacity: 0.4;
  }
}

/* share */
.block--share {
  display: flex;
  align-items: center;
  margin-top: 3em;
}
.block--share .tit {
  opacity: 0.8;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.4rem;
  margin-right: 0.5em;
}
.block--share li {
  display: inline-block;
  font-size: 1.8rem;
}
.block--share li a {
  padding: 0.2em;
  transition: opacity 0.3s;
}
.block--share li svg {
  width: 1em;
  margin-bottom: -0.15em;
  fill: currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .block--share:has(li a:hover) li a:not(:hover) {
    opacity: 0.4;
  }
}

.wrap {
  position: relative;
  z-index: 1;
  min-height: 100%;
  overflow: hidden;
  padding-top: var(--header-height);
  opacity: 1;
  visibility: visible;
  transition: background 0.2s;
}

body.theme-dark .list--info li a .tit,
body.theme-dark .list--contents li a .tit,
body:not(.theme-light) .list--info li a .tit,
body:not(.theme-light) .list--contents li a .tit {
  color: #fff;
}

body:not(.open) .header {
  opacity: 0;
}

body.page--home:not(:has(.mainvisual.is-reload)) .header {
  transition-delay: 0.4s;
}

body.page--home.all-clear .header {
  transition-delay: 0s;
}

.header {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 999;
  width: 100vw;
  height: var(--header-height);
  opacity: 1;
}
.header::before {
  content: "";
  display: block;
  position: fixed;
  width: 100vw;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 10;
  background: var(--color-overlay);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}
.header {
  transition: opacity 0.6s;
}
.header h1.logo,
.header .logo_text {
  position: relative;
  height: var(--header-height);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
}
.header h1.logo a,
.header .logo_text a {
  display: block;
  height: 100%;
  aspect-ratio: 14/1;
  background: var(--text-color);
  -webkit-mask: url(/static/aimer/fanclub/common/logo_text.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/logo_text.svg) no-repeat center/contain;
}
.header .head_owl {
  position: absolute;
  top: 0;
  left: 0;
  height: var(--header-height);
}
.header .head_owl a {
  display: block;
  height: 100%;
  aspect-ratio: 13/24;
  background: var(--text-color);
  -webkit-mask: url(/static/aimer/fanclub/common/owl.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/owl.svg) no-repeat center/contain;
}

.drawer__btn,
.drawer__close {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  z-index: 998;
  top: 0;
  right: 0;
}
.drawer__btn button,
.drawer__close button {
  width: var(--header-height);
  height: var(--header-height);
  aspect-ratio: 1/1;
  cursor: pointer;
  transition: transform 0.4s;
}

.drawer__btn button {
  background: var(--text-color);
  -webkit-mask: url(/static/aimer/fanclub/common/menu.svg) no-repeat center/40%;
  mask: url(/static/aimer/fanclub/common/menu.svg) no-repeat center/40%;
}

.drawer__close button {
  background: var(--sub-text-color);
  -webkit-mask: url(/static/aimer/fanclub/common/close.svg) no-repeat center/40%;
  mask: url(/static/aimer/fanclub/common/close.svg) no-repeat center/40%;
  transform: scale(0) rotate(180deg);
}

.drawer {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 999;
  height: 100%;
  max-width: 640px;
  max-height: 100vh;
  overflow-x: hidden;
  overflow-y: auto;
  padding: var(--content-padding);
  padding-top: 100px;
  padding-inline: min(6%, 55px);
  background: var(--sub-base-color);
  color: var(--sub-text-color);
}
.drawer .drawer__inner {
  position: relative;
}
.drawer .logo_text {
  position: absolute;
  top: 0;
  inset-inline: 0;
}
.drawer .logo_text a,
.drawer .head_owl a {
  background: var(--sub-text-color);
}
.drawer .nav--login {
  margin-bottom: 24px;
}
.drawer .nav--login .list--login {
  gap: 20px;
}
.drawer .nav--login .list--login li {
  flex: 50%;
  max-width: 100%;
}
.drawer .list--nav__contents {
  position: relative;
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 2em;
}
.drawer .list--nav__contents li a {
  position: relative;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: min(8vw, 40px);
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--sub-text-color) 0%, transparent));
  transition: opacity 0.3s, filter 0.3s;
  transform: translateZ(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.drawer .list--nav__contents li a::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0;
  background: color-mix(in srgb, var(--sub-text-color) 11%, transparent);
  filter: blur(10px);
  transition: opacity 0.3s;
  pointer-events: none;
}
.drawer .list--nav__contents li a img,
.drawer .list--nav__contents li a svg {
  display: block;
  height: 100%;
  width: auto;
  pointer-events: none;
  transition: transform 0.3s;
  transform: translateZ(0);
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.drawer .list--nav__contents li.item__story {
  position: absolute;
  right: calc(var(--content-padding) * -1 - 15px);
  bottom: 0;
}
.drawer .list--nav__contents li.item__story a {
  padding: 0;
  height: auto;
  filter: drop-shadow(0 0 6px color-mix(in srgb, var(--gray) 0%, transparent 100%));
}
.drawer .list--nav__contents li.item__story a svg {
  width: 100px;
}
.drawer .list--nav__contents li.new a::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  width: min(8vw, 40px);
  height: auto;
  left: calc(100% + 0.5em);
  top: -30%;
  transform: none;
  aspect-ratio: 35/31;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/new.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/new.svg) no-repeat center/contain;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .drawer .list--nav__contents:has(li a:hover) li a:not(:hover) {
    opacity: 0.8;
  }
  .drawer .list--nav__contents li a:hover {
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--sub-text-color) 60%, transparent 40%));
  }
  .drawer .list--nav__contents li a:hover svg {
    transform: scale(1.05);
    transform: translateZ(0) scale(1.05);
  }
  .drawer .list--nav__contents li.item__story a:hover {
    filter: drop-shadow(0 0 10px color-mix(in srgb, var(--gray) 20%, transparent 80%));
  }
}
.drawer .nav--sns {
  margin-top: 60px;
  max-width: calc(100% - 160px);
}
.drawer .langSelector {
  position: absolute;
  bottom: 0.3em;
  right: 0;
}

.drawer {
  transform: translateX(100%);
  pointer-events: none;
  visibility: hidden;
  transition: transform 0.6s, visibility 0s 0.6s;
}

.drawer-visible .header::before {
  opacity: 1;
  pointer-events: auto;
}
.drawer-visible .drawer {
  transform: translateX(0);
  pointer-events: auto;
  visibility: visible;
  transition: transform 0.6s, visibility 0s 0s;
}
.drawer-visible .drawer__close button {
  transform: scale(1) rotate(0deg);
  transition-delay: 0.3s;
}

.page--home .header h1.logo {
  height: 100%;
}
.page--home .header h1.logo a {
  aspect-ratio: 45/38;
  -webkit-mask: url(/static/aimer/fanclub/common/logo.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/logo.svg) no-repeat center/contain;
}

@keyframes footprint1 {
  0%, 60% {
    opacity: 1;
  }
  76%, 80% {
    opacity: 0;
  }
  86%, 100% {
    opacity: 1;
  }
}
@keyframes footprint2 {
  0%, 60% {
    opacity: 1;
  }
  76%, 84% {
    opacity: 0;
  }
  90%, 100% {
    opacity: 1;
  }
}
@keyframes footprint3 {
  0%, 60% {
    opacity: 1;
  }
  76%, 88% {
    opacity: 0;
  }
  94%, 100% {
    opacity: 1;
  }
}
.footer {
  position: -webkit-sticky;
  position: sticky;
  top: 100vh;
  padding-inline: var(--content-padding);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.footer .dec_Gclef {
  position: absolute;
  top: 0;
  inset-inline: var(--content-padding);
}
.footer .nav--support,
.footer .nav--sns {
  margin-bottom: 24px;
}
.footer .nav--support {
  display: flex;
  flex-wrap: wrap;
  gap: 0 48px;
}
.footer .nav--support li a {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding-block: 0.5em;
  transition: opacity 0.3s;
  position: relative;
}
.footer .nav--support li a::before {
  content: "";
  display: block;
  position: absolute;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  width: 5px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.footer .nav--support li a::before {
  opacity: 0;
  transition: opacity 0.3s, transform 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .footer .nav--support:has(li a:hover) li a:not(:hover) {
    opacity: 0.4;
  }
  .footer .nav--support li a:hover {
    position: relative;
  }
  .footer .nav--support li a:hover::before {
    opacity: 1;
    transform: translateX(3px) translateY(-50%);
  }
}
.footer .copyright {
  width: 100%;
  margin-top: 32px;
}
.footer .copyright small {
  font-size: 1.2rem;
}

body.theme-dark .footer .nav--support,
body:not(.theme-light) .footer .nav--support {
  color: #fff;
}

.section--list,
.section--detail,
.page--questionnaire section,
.page--error .content--main:not(:has(section, [class^=section--])),
body:not(:has([class^=page--])) .content--main:not(:has(section, [class^=section--])) {
  position: relative;
  min-height: calc(100vh - var(--header-height) - var(--footer-height));
  padding-inline: var(--section-inline);
  padding-block: var(--section-block);
}

/* section--list */
.section--list .section-tit .tit--sub {
  display: block;
}
.section--list .list-tit {
  margin-bottom: 10px;
}

/* section--detail */
.section--detail .block--tit {
  margin-bottom: 2em;
}
.section--detail .block--tit .date {
  font-size: inherit;
}
.section--detail .section-tit {
  font-weight: normal;
  line-height: 1.4;
}
.section--detail .txt {
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: -0.05em;
}
.section--detail .txt *:not(.btn) a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .section--detail .txt *:not(.btn) a:hover {
    text-decoration: none;
  }
}

body.theme-dark .section--detail .block--tit .section-tit,
body.theme-dark .section--detail .txt,
body.theme-dark .section--detail .block--share,
body:not(.theme-light) .section--detail .block--tit .section-tit,
body:not(.theme-light) .section--detail .txt,
body:not(.theme-light) .section--detail .block--share {
  color: #fff;
}

.section--detail .block--content-tit .mainvisual::after,
.section--list .block--content-tit .mainvisual::after {
  content: "";
  display: block;
  position: absolute;
  width: auto;
  height: min(75px, 11.5vw);
  z-index: 10;
  aspect-ratio: var(--logo-aspect);
  -webkit-mask: var(--tit-img) no-repeat center/contain;
  mask: var(--tit-img) no-repeat center/contain;
  opacity: 0;
  transition: opacity 0.8s 0.6s;
}
.section--detail .block--content-tit .mainvisual picture,
.section--list .block--content-tit .mainvisual picture {
  display: block;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100%;
          mask-size: 100%;
}
@media screen and (min-width: 961px) {
  .section--detail .block--content-tit .mainvisual picture,
  .section--list .block--content-tit .mainvisual picture {
    -webkit-mask-image: url(/static/aimer/fanclub/common/mask_anim-kv_pc.png);
            mask-image: url(/static/aimer/fanclub/common/mask_anim-kv_pc.png);
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .section--detail .block--content-tit .mainvisual picture,
  .section--list .block--content-tit .mainvisual picture {
    -webkit-mask-image: url(/static/aimer/fanclub/common/mask_anim-kv_sp.png);
            mask-image: url(/static/aimer/fanclub/common/mask_anim-kv_sp.png);
  }
}
.section--detail .block--content-tit .mainvisual:not(.is-reload) picture,
.section--list .block--content-tit .mainvisual:not(.is-reload) picture {
  filter: blur(10px);
  transition: filter 0.8s;
  -webkit-mask-position: 100% 0;
          mask-position: 100% 0;
}
.section--detail .block--content-tit .mainvisual.is-reload::after,
.section--list .block--content-tit .mainvisual.is-reload::after {
  transition-delay: 0.4s;
}
.section--detail .block--content-tit .mainvisual.is-reload picture,
.section--list .block--content-tit .mainvisual.is-reload picture {
  opacity: 0;
  transition: opacity 0.4s 0.3s;
  -webkit-mask-position: 100% 100%;
          mask-position: 100% 100%;
}
.section--detail .block--content-tit .mainvisual img,
.section--list .block--content-tit .mainvisual img {
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.section--detail .block--content-tit .block--attention .txt,
.section--list .block--content-tit .block--attention .txt {
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}

body.loaded :is(.section--detail, .section--list) .block--content-tit .mainvisual:not(.is-reload) picture {
  filter: blur(0px);
  animation: mask_animation 0.7s steps(19) forwards;
}
body.loaded :is(.section--detail, .section--list) .block--content-tit .mainvisual::after {
  opacity: 1;
}
body.loaded :is(.section--detail, .section--list) .block--content-tit .mainvisual.is-reload picture {
  opacity: 1;
}

.list--info li a,
.list--faq li a,
.list--qa li a,
.list--contents li a {
  position: relative;
  z-index: 10;
}
.list--info li a:not(:has(.thumb))::after,
.list--faq li a:not(:has(.thumb))::after,
.list--qa li a:not(:has(.thumb))::after,
.list--contents li a:not(:has(.thumb))::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 10px);
  height: calc(100% - 10px);
  z-index: -1;
  inset: 5px;
  top: 50%;
  background: rgba(248, 247, 242, 0.03);
  box-shadow: 0 0 20px 10px rgba(248, 247, 242, 0.03);
  transform: translateY(-50%) scaleY(0.01);
  opacity: 0;
  transition: opacity 0.3s, transform 0.4s;
  pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
  .list--info li a:not(:has(.thumb)):hover::after,
  .list--faq li a:not(:has(.thumb)):hover::after,
  .list--qa li a:not(:has(.thumb)):hover::after,
  .list--contents li a:not(:has(.thumb)):hover::after {
    opacity: 1;
    transform: translateY(-50%) scaleY(1);
  }
}
.list--info li a:has(.thumb) .thumb,
.list--faq li a:has(.thumb) .thumb,
.list--qa li a:has(.thumb) .thumb,
.list--contents li a:has(.thumb) .thumb {
  transition: box-shadow 0.3s, transform 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .list--info li a:has(.thumb):hover .thumb,
  .list--faq li a:has(.thumb):hover .thumb,
  .list--qa li a:has(.thumb):hover .thumb,
  .list--contents li a:has(.thumb):hover .thumb {
    box-shadow: 0 0 20px color-mix(in srgb, var(--text-color) 10%, transparent 90%);
    transform: scale(1.01);
  }
}
.list--info li a:not(:has(.thumb)),
.list--faq li a:not(:has(.thumb)),
.list--qa li a:not(:has(.thumb)),
.list--contents li a:not(:has(.thumb)) {
  padding-right: 1em;
}

.theme-light .list--info li a:not(:has(.thumb))::after,
.theme-light .list--faq li a:not(:has(.thumb))::after,
.theme-light .list--contents li a:not(:has(.thumb))::after {
  background: rgba(248, 247, 242, 0.1);
  box-shadow: 0 0 20px 10px rgba(248, 247, 242, 0.1);
}

/* loading */
#loading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: fixed;
  inset: 0;
  z-index: 998;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  background: var(--base-color);
  opacity: 1;
  visibility: visible;
  pointer-events: none;
  transition: opacity 0.3s;
}
#loading .owl {
  position: relative;
  width: min(17%, 80px);
  aspect-ratio: 5/9;
  filter: blur(10px);
  opacity: 0;
  transition: opacity 0.6s, filter 0.6s;
  overflow: hidden;
}
#loading .owl .owl__svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3000%;
  fill: var(--text-color);
}

body.theme-light #loading {
  background: #e4be8e;
}
body.theme-light #loading::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  background-image: url(/static/aimer/fanclub/common/bg_light.webp);
  background-repeat: no-repeat;
  background-size: cover;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.6s;
}
body.theme-light #loading.is-reload::before {
  opacity: 1;
}

body.load #loading {
  transition: opacity 0.6s;
}
body.load #loading.bg-active::before {
  opacity: 1;
}
body.load #loading.hide {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s, visibility 0s 0.6s;
}
body.load #loading .owl {
  opacity: 1;
  filter: blur(0);
}
body.load #loading .owl .owl__svg {
  animation: owl-animation 1.9s 0.4s steps(29) infinite;
}

body.load.all-clear #loading .owl .owl__svg {
  animation: none;
}

@keyframes owl-animation {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-96.6666666667%);
  }
}
/* home */
.page--home .wrap {
  padding-top: 0;
}
.page--home .section-tit {
  width: min(53vw, 360px);
  aspect-ratio: 14/3;
  background: var(--text-color);
  -webkit-mask: var(--tit-img) no-repeat center/contain;
  mask: var(--tit-img) no-repeat center/contain;
  color: transparent;
}
.page--home .section--hero {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
.page--home .section--hero .mainvisual {
  --kv-zoom: 1;
  --kv-shift-x: 0%;
  --sign-space: 0px;
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: var(--sign-space);
}
.page--home .section--hero .mainvisual .kv_window {
  position: relative;
  width: 100%;
  overflow: hidden;
  aspect-ratio: 2090/calc(2800 * var(--kv-zoom));
  -webkit-mask: url(/static/aimer/fanclub/common/mask_anim.png) no-repeat;
  mask: url(/static/aimer/fanclub/common/mask_anim.png) no-repeat;
  -webkit-mask-size: 100%;
  mask-size: 100%;
}
.page--home .section--hero .mainvisual .kv_scaler {
  position: absolute;
  top: 0;
  left: calc((1 - var(--kv-zoom)) / 2 * 100% + var(--kv-shift-x));
  width: calc(var(--kv-zoom) * 100%);
  aspect-ratio: 2090/2800;
}
.page--home .section--hero .mainvisual .kv_scaler .kv__lottie {
  --kv-offset-x: 0;
  --kv-offset-y: 0;
  --kv-scale: 1;
  position: absolute;
  inset: 0;
  width: 100%;
  height: auto;
  transform: translate(var(--kv-offset-x), var(--kv-offset-y)) scale(var(--kv-scale));
  transform-origin: center center;
  pointer-events: none;
}
.page--home .section--hero .mainvisual .kv__bg {
  display: block;
  width: 100%;
  height: auto;
}
.page--home .section--hero .mainvisual .kv_sign {
  position: absolute;
  --sign-w: 8.5%;
  --sign-right: 7%;
  --sign-gap: 15px;
  display: block;
  width: var(--sign-w);
  height: auto;
  z-index: 2;
  pointer-events: none;
  right: 7%;
  bottom: 1.5%;
}
.page--home .section--hero .mainvisual img {
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.page--home .section--hero .mainvisual .list--kv_link {
  list-style: none;
}
.page--home .section--hero .mainvisual .list--kv_link li {
  position: absolute;
  aspect-ratio: 1;
}
.page--home .section--hero .mainvisual .list--kv_link li a {
  display: block;
  width: 100%;
  height: 100%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__info {
  top: 68.3%;
  left: 64.6%;
  width: 23%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__radio {
  top: 48.6%;
  left: 28%;
  width: 26.95%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__diary_aimer {
  top: 63.8%;
  left: 39%;
  width: 24.95%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__diary_staff {
  top: 50.5%;
  left: 14.8%;
  width: 23.5%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__qa {
  top: 38.5%;
  left: 52.4%;
  width: 23.5%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__fortune {
  top: 19.6%;
  left: 60%;
  width: 27.8%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__gallery {
  top: 52.6%;
  left: 72%;
  width: 13.8%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__archive {
  top: 29.52%;
  left: 18.85%;
  width: 22.8%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__mypage {
  top: 38%;
  left: 39%;
  width: 13.8%;
}
.page--home .section--hero .mainvisual .list--kv_link li.item__ticket {
  top: 54.2%;
  left: 43.5%;
  width: 17.8%;
}
.page--home .section--hero .mainvisual:not(.is-reload) .kv img {
  -webkit-mask-position: 100% 0%;
          mask-position: 100% 0%;
  filter: blur(10px);
  transition: filter 1s 0.4s;
}
.page--home .section--hero .mainvisual.is-reload .kv img {
  -webkit-mask-position: 100% 100%;
          mask-position: 100% 100%;
  opacity: 0;
  transition: opacity 0.3s;
}
.page--home.loaded .section--hero .mainvisual:not(.is-reload) .kv_window {
  animation: mask_animation 1.2s steps(19) 0.2s forwards;
  filter: blur(0);
}
.page--home.loaded .section--hero .mainvisual.is-reload .kv_window {
  opacity: 1;
  -webkit-mask: none;
          mask: none;
}
.page--home .section--info {
  padding-inline: var(--section-inline);
}
.page--home .section--info .list--info .no-data {
  border: none;
  text-align: left;
}
.page--home .section--banner {
  padding-inline: var(--content-padding);
}
.page--home .section--banner:not(:has(.list--bnr)) {
  display: none;
}
.page--home .section--banner .swiper {
  overflow: visible;
}
.page--home .section--banner .list--bnr li a {
  transition: box-shadow 0.3s, transform 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .page--home .section--banner .list--bnr li a:hover {
    box-shadow: 0 0 20px color-mix(in srgb, var(--text-color) 20%, transparent 80%);
    transform: scale(1.01);
  }
}
.page--home .section--banner .thumb {
  aspect-ratio: 7/4;
}

@keyframes mask_animation {
  0% {
    -webkit-mask-position: 100% 0;
            mask-position: 100% 0;
  }
  100% {
    -webkit-mask-position: 100% 100%;
            mask-position: 100% 100%;
  }
}
.page--info.page--ticket .list--info,
.page--info.page--ticket .no-data {
  position: relative;
}
.page--info.page--ticket .list--info::before,
.page--info.page--ticket .no-data::before {
  content: "";
  display: block;
  position: absolute;
  width: min(60px, 12%);
  height: auto;
  bottom: 100%;
  right: 0;
  transform: translate(-20%, 10%);
  z-index: 11;
  aspect-ratio: 10/23;
  background-image: url(/static/aimer/fanclub/contents/item_bell.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  filter: drop-shadow(var(--shadow));
  pointer-events: none;
}

.page--movie .block--bnr {
  position: relative;
}
.page--movie .block--bnr::before {
  content: "";
  display: block;
  position: absolute;
  width: min(90px, 15%);
  height: auto;
  z-index: 11;
  aspect-ratio: 2/3;
  background-image: url(/static/aimer/fanclub/contents/item_mic.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
}
.page--movie .list--contents li a {
  display: flex;
  align-items: center;
}
.page--movie .list--contents li a .num {
  width: 2.8em;
  border-right: 1px solid var(--sub-border-color);
}
.page--movie .section--detail::before {
  content: "";
  display: block;
  position: absolute;
  width: min(90px, 14vw);
  height: auto;
  right: var(--section-inline);
  top: var(--section-block);
  z-index: 11;
  aspect-ratio: 2/3;
  background-image: url(/static/aimer/fanclub/contents/item_mic.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  filter: drop-shadow(var(--shadow));
  pointer-events: none;
}
.page--movie .section--detail .block--tit {
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

.audio-player {
  display: flex;
  align-items: center;
  gap: 1em;
  width: 100%;
  padding: 0.5em 1em;
  border-radius: 999px;
  background: #fff;
  color: var(--base-color);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro";
}
.audio-player:not(:has(.audio-player__volume)) {
  padding-right: 1.8em;
}
.audio-player__audio {
  display: none;
}
.audio-player__play {
  position: relative;
  flex: 0 0 2.5em;
  width: 2.5em;
  height: 2.5em;
  padding: 0;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
}
.audio-player__play::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 52%;
  border-top: 0.65em solid transparent;
  border-bottom: 0.65em solid transparent;
  border-left: 1em solid var(--base-color);
  transform: translate(-50%, -50%);
}
.audio-player__play.is-playing::before {
  left: 50%;
  width: 0.8em;
  height: 1em;
  border: 0;
  border-right: 0.3em solid var(--base-color);
  border-left: 0.3em solid var(--base-color);
}
.audio-player__progress, .audio-player__volume-range {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  height: 0.4em;
  border-radius: 999px;
  cursor: pointer;
  outline: none;
  background: linear-gradient(to right, color-mix(in srgb, var(--base-color) 80%, transparent 20%) 0%, color-mix(in srgb, var(--base-color) 80%, transparent 20%) var(--range-progress, 0%), color-mix(in srgb, var(--base-color) 20%, transparent 80%) var(--range-progress, 0%), color-mix(in srgb, var(--base-color) 20%, transparent 80%) 100%);
}
.audio-player__progress::-webkit-slider-thumb, .audio-player__volume-range::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background: var(--base-color);
  border: none;
}
.audio-player__progress::-moz-range-thumb, .audio-player__volume-range::-moz-range-thumb {
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
  background: var(--base-color);
  border: none;
}
.audio-player__progress {
  flex: 1;
}
.audio-player__volume-range {
  width: 80px;
}
.audio-player__progress {
  flex: 1;
  min-width: 0;
}
.audio-player__time {
  flex: 0 0 auto;
  display: flex;
  gap: 0.3em;
  font-size: 1.3rem;
  white-space: nowrap;
}
.audio-player__volume {
  display: flex;
  align-items: center;
  gap: 0.5em;
}
.audio-player__volume-btn {
  width: 2.5em;
  height: 2.5em;
  padding: 0;
  border: 0;
  background: none;
  color: var(--base-color);
  cursor: pointer;
}
.audio-player__volume-btn i {
  font-size: 1.8rem;
}
.audio-player__volume-range {
  width: 0;
  min-width: 0;
  margin: 0;
  opacity: 0;
  visibility: hidden;
  transition: width 0.25s, opacity 0.25s, visibility 0.25s;
}
.audio-player__volume:hover .audio-player__volume-range, .audio-player__volume.is-open .audio-player__volume-range {
  width: 80px;
  opacity: 1;
  visibility: visible;
}

.page--blog.category--1 .block--sort:not(.sort--ym) {
  position: relative;
  z-index: 10;
}
.page--blog.category--1 .list--contents {
  position: relative;
  z-index: 10;
}
.page--blog.category--1 .list--contents::before {
  content: "";
  display: block;
  position: absolute;
  width: min(240px, 36vw);
  height: auto;
  top: 100%;
  aspect-ratio: 12/5;
  background-image: url(/static/aimer/fanclub/contents/item_diary.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.page--blog.category--3 .block--sort:not(.sort--ym) {
  position: relative;
}
.page--blog.category--3 .block--sort:not(.sort--ym)::before {
  content: "";
  display: block;
  position: absolute;
  width: min(170px, 24vw);
  height: auto;
  bottom: 180%;
  aspect-ratio: 9/4;
  background-image: url(/static/aimer/fanclub/contents/item_glasses.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.page--blog.category--3 .list--contents {
  position: relative;
}
.page--blog.category--3 .list--contents::before {
  content: "";
  display: block;
  position: absolute;
  width: min(60px, 12%);
  height: auto;
  top: 100%;
  transform: translateY(-40%);
  right: 0;
  z-index: 10;
  aspect-ratio: 5/12;
  background-image: url(/static/aimer/fanclub/contents/item_lantern.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
.page--blog.category--5 .list--contents {
  position: relative;
}
.page--blog.category--5 .list--contents::before {
  content: "";
  display: block;
  position: absolute;
  width: min(120px, 25%);
  height: auto;
  top: 100%;
  right: 0;
  transform: translateY(20px);
  aspect-ratio: 12/7;
  background-image: url(/static/aimer/fanclub/contents/item_stone.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

.page--qa .name,
.page--qa .date {
  color: var(--sub-text-color-light);
  font-size: 1.2rem;
}
.page--qa .list--qa li a {
  position: relative;
  z-index: 10;
  padding-right: 1em;
  position: relative;
}
.page--qa .list--qa li a::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: var(--sub-text-color-light);
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.page--qa .list--qa li a .dec_Gclef {
  position: absolute;
  bottom: 0;
  inset-inline: 0;
  --gclef-color: #8f7f66;
}
.page--qa .list--qa li a::after {
  background: rgba(248, 247, 242, 0.3);
  box-shadow: 0 0 20px 10px rgba(248, 247, 242, 0.3);
}
@media (hover: hover) and (pointer: fine) {
  .page--qa .list--qa li a:hover::before {
    transform: translateX(3px) translateY(-50%);
  }
  .page--qa .list--qa li a:hover::after {
    opacity: 1;
    height: 100%;
  }
}
.page--qa .list--qa li.new .tit::after {
  background: var(--sub-text-color-light);
}
.page--qa .list--qa li:last-of-type a .dec_Gclef {
  display: none;
}
.page--qa .list--qa .name {
  margin-block: 0.5em;
}
.page--qa .list--qa .no-data {
  color: var(--sub-base-color);
}
.page--qa .section--detail .block__question,
.page--qa .section--detail .block__answer,
.page--qa .section--detail .txt {
  color: var(--sub-base-color) !important;
}
.page--qa .section--detail .txt {
  font-size: 1.4rem;
}
.page--qa .section--detail .date {
  margin-bottom: 50px;
}
.page--qa .section--detail .tit--q {
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  margin-bottom: 1em;
}
.page--qa .section--detail .block__question {
  position: relative;
}
.page--qa .section--detail .block__question::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--paper_dec-height) * 2);
  height: auto;
  aspect-ratio: 6/7;
  top: min(5vw, 50px);
  right: min(5vw, 50px);
  background-image: url("/static/aimer/fanclub/contents/item_paws.png");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
.page--qa .section--detail .block__answer {
  position: relative;
}
.page--qa .section--detail .block__answer::before {
  content: "";
  display: block;
  position: absolute;
  width: auto;
  height: calc(var(--paper_dec-height) * 1.5);
  aspect-ratio: 26/15;
  bottom: min(10vw, 75px);
  right: min(10vw, 75px);
  background-image: url("/static/aimer/fanclub/contents/sign.svg");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}
.page--qa .section--detail .rule {
  padding: 1.5em;
  border-radius: var(--radius-sm);
  margin-bottom: 30px;
  border: 1px solid var(--text-color);
  background: transparent;
  color: var(--text-color);
}
.page--qa .section--detail .rule li:not(:last-child) {
  margin-bottom: 8px;
}
.page--qa .section--detail .rule .tit {
  margin: -1.5em -1.5em 1em;
  padding: 1em 1.5em;
  background: var(--text-color);
  color: #fff;
  line-height: 1.4;
  font-weight: bold;
}
.page--qa .section--detail .rule.red {
  border-color: var(--error-color);
  background: color-mix(in srgb, var(--error-color) 10%, #fff 90%);
  color: var(--error-color);
}
.page--qa .section--detail .rule.red .tit {
  background: var(--error-color);
}
.page--qa.page-qa__nonickname .txt {
  color: #fff;
}

.page--archive .list--info {
  position: relative;
  margin-top: 100px;
}
.page--archive .list--info::before {
  content: "";
  display: block;
  position: absolute;
  width: min(110px, 22vw);
  height: auto;
  top: 0;
  transform: translateY(-150%);
  z-index: 10;
  aspect-ratio: 11/5;
  background-image: url(/static/aimer/fanclub/contents/item_key.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  pointer-events: none;
}

.page--myroom .list--login {
  width: 100%;
  margin-top: 40px;
}

.page--birthday-message .section--detail {
  padding-top: calc(var(--section-block) / 2);
}
.page--birthday-message .section--detail .tit {
  margin-bottom: 0.5em;
}
.page--birthday-message .video {
  aspect-ratio: var(--video-aspect);
}

.page-sslBirthdayMessage__error-birthday-page .tit {
  margin-bottom: 0.5em;
  text-align: center;
  font-size: 1.25em;
}
.page-sslBirthdayMessage__error-birthday-page .txt--basic {
  color: #fff;
  margin-inline: auto;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.page--story img {
  display: block;
  -webkit-user-drag: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}
.page--story .section-tit {
  margin-inline: auto;
  width: min(71vw, 560px);
}
.page--story .block--lead {
  text-align: center;
  line-height: 2.2;
  letter-spacing: 0.1em;
}
.page--story .block--lead .txt--lead + .txt--lead {
  margin-top: 2em;
}
.page--story .block--tit img,
.page--story .list--resident .name img {
  height: 100%;
}
.page--story .block--resident .block--tit,
.page--story .block--resident .list--resident li {
  transition-delay: 2.8s;
}
.page--story .block--resident .list--resident {
  display: grid;
}
.page--story .block--resident .list--resident li {
  container-type: inline-size;
}
.page--story .block--resident .list--resident .txt {
  text-align: center;
}
.page--story .block--resident .txt--sub {
  font-family: zen-old-mincho, sans-serif;
  text-align: center;
}
.page--story .block--credit {
  text-align: center;
  font-family: garamond-premier-pro, sans-serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: 0.03em;
  font-weight: 400;
  font-style: normal;
}
.page--story .block--credit .list--credit li .label {
  display: block;
}
.page--story .block--credit .list--credit li + li {
  margin-top: 2em;
}

body.is-scroll.open .page--story .block--lead .txt--lead {
  transition-delay: 0s !important;
}
body.is-scroll.open .page--story .block--resident .block--tit,
body.is-scroll.open .page--story .block--resident .list--resident li {
  transition-delay: 0s;
}

.page--entry {
  color: #fff;
}
.page--entry section > h3.tit {
  font-weight: 400;
  text-align: center;
  margin-bottom: 0.5em;
  color: var(--text-color);
}
.page--entry section + section {
  margin-top: 100px;
}
.page--entry .txt--lead {
  text-align: center;
  font-family: zen-old-mincho, sans-serif;
}
.page--entry .list--contents {
  display: grid;
  margin-top: 40px;
}
.page--entry .list--contents li .thumb {
  aspect-ratio: 5/6;
  background: transparent;
}
.page--entry .list--contents li .thumb img {
  -webkit-mask: url(/static/aimer/fanclub/contents/kv/kv_mask_tb.png) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/contents/kv/kv_mask_tb.png) no-repeat center/contain;
}
.page--entry .list--contents li .tit {
  margin-bottom: 0.5em;
  width: 94%;
  margin-inline: 3%;
  height: 0;
  padding-top: 13%;
  margin-top: 10px;
  background: var(--text-color);
  aspect-ratio: var(--logo-aspect);
  -webkit-mask: var(--tit-img) no-repeat left/auto 100;
  mask: var(--tit-img) no-repeat left/auto 100%;
}
.page--entry .list--contents li .txt--detail {
  padding-inline: 3%;
  font-size: 1.4rem;
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.page--entry .block--benefit .block--tit {
  margin-bottom: 1em;
  color: var(--base-color);
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  text-align: center;
  line-height: 1.2;
}
.page--entry .block--benefit .block--tit .txt--sub {
  font-size: 1.3rem;
}
.page--entry .block--benefit .item--benefit {
  position: relative;
}
.page--entry .block--benefit .item--benefit + .item--benefit {
  padding-top: var(--paper_dec-height);
  margin-top: var(--paper_dec-height);
}
.page--entry .block--benefit .item--benefit .benefit li {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.page--entry .block--benefit .item--benefit .benefit li::before {
  content: "";
  display: block;
  position: static;
  width: 0.8em;
  height: 0.8em;
  display: inline-block;
  margin-right: 0.5em;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/stamp.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/stamp.svg) no-repeat center/contain;
}
.page--entry .block--benefit .item--benefit .benefit li + li {
  margin-top: 1em;
}
.page--entry .block--benefit .item--benefit .txt--basic.font-en {
  margin-top: 2em;
  font-size: 1.5rem;
}
.page--entry .block--benefit .item--benefit .dec_Gclef {
  position: absolute;
  bottom: calc(var(--paper_dec-height) * -1);
  inset-inline: 0;
  --gclef-color: #8f7f66;
}
.page--entry .block--benefit .benefit,
.page--entry .block--benefit .txt--sub {
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.6;
}
.page--entry .block--benefit .block--table {
  margin-top: 60px;
  color: var(--base-color);
  background-image: url(/static/aimer/fanclub/common/paper/bg_paper_v2.webp);
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: top;
}
.page--entry .block--benefit .block--table table {
  width: 100%;
  table-layout: fixed;
  line-height: 1.4;
}
.page--entry .block--benefit .block--table th,
.page--entry .block--benefit .block--table td {
  border: 1px solid color-mix(in srgb, var(--border-color) 40%, transparent 60%);
}
.page--entry .block--benefit .block--table th {
  background: color-mix(in srgb, color-mix(in srgb, var(--text-color) 5%, #fff 95%) 60%, transparent 40%);
}
.page--entry .block--benefit .block--table th .txt--sub {
  display: inline-block;
  line-height: 1.2;
  font-size: 1.1rem;
}
.page--entry .block--benefit .block--table td {
  text-align: center;
  line-height: 1.2;
  position: relative;
  font-weight: 500;
}
.page--entry .block--benefit .block--table td.annually {
  background: color-mix(in srgb, color-mix(in srgb, var(--text-color) 50%, #fff 50%) 60%, transparent 40%);
}
.page--entry .block--benefit .block--table td.monthly {
  background: color-mix(in srgb, color-mix(in srgb, var(--text-color) 25%, #fff 75%) 60%, transparent 40%);
}
.page--entry .block--benefit .block--table td .ok {
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  vertical-align: bottom;
  border: 2px solid var(--sub-text-color-light);
  border-radius: 50%;
}
.page--entry .block--benefit .block--table td .no {
  width: 16px;
  height: 2px;
  display: inline-block;
  transform: translateY(-4px);
  background: color-mix(in srgb, var(--border-color) 40%, transparent 60%);
}
.page--entry .block--benefit .block--table .label th,
.page--entry .block--benefit .block--table .label td {
  font-size: 1.125em;
}
.page--entry .block--benefit .block--table .label td {
  padding-top: 5rem;
}
.page--entry .block--benefit .block--table .label td .tit {
  padding: 0.3em 0.5em;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  margin-top: 0.5em;
  border-radius: var(--radius-sm);
  background: var(--sub-text-color-light);
  color: #fff;
  font-size: 1.2rem;
}
.page--entry .block--benefit .block--table .label .all {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(200% + 1px);
  z-index: 10;
  background: var(--sub-text-color-light);
  color: #fff;
  border-bottom: 1px solid color-mix(in srgb, var(--border-color) 40%, transparent 60%);
  padding: 0.8em;
  font-size: min(1.3rem, 3vw);
}
.page--entry .block--benefit .block--table .label .all span {
  font-size: 0.95em;
  margin-left: 0.3em;
}
.page--entry .block--benefit .block--table .paper_dec-2 {
  z-index: 10;
  background: transparent;
}
.page--entry .region--tit {
  color: var(--base-color);
  font-size: 1.4em;
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  text-align: center;
  line-height: 1.2;
}
.page--entry .region--tit .tit--sub {
  font-size: 1.6rem;
}
.page--entry .block--price {
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.page--entry .block--price .block--ja,
.page--entry .block--price .block--inbound {
  padding-top: 50px;
  border-radius: var(--radius-sm);
  color: var(--base-color);
  overflow: hidden;
}
.page--entry .block--price .block--inbound {
  margin-top: 30px;
}
.page--entry .block--price .box--annually,
.page--entry .block--price .box--monthly {
  position: relative;
}
.page--entry .block--price .box--annually > .tit,
.page--entry .block--price .box--monthly > .tit {
  margin-bottom: 1.5em;
  padding: 0.3em;
  border-radius: var(--radius-sm);
  background: var(--sub-text-color-light);
  color: #fff;
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-size: 1.125em;
  text-align: center;
}
.page--entry .block--price .box--annually .label,
.page--entry .block--price .box--monthly .label {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.5em 0.8em;
  margin-bottom: 0.5em;
  border-radius: var(--radius-sm);
  background: var(--sub-text-color-light);
  color: #fff;
  line-height: 1;
  font-size: 1.3rem;
}
.page--entry .block--price .box--annually .detail,
.page--entry .block--price .box--monthly .detail {
  display: block;
}
.page--entry .block--price .box--annually .price .detail,
.page--entry .block--price .box--monthly .price .detail {
  font-size: 1.5em;
}
.page--entry .block--price .box--annually .price .tax,
.page--entry .block--price .box--monthly .price .tax {
  font-size: 1.2rem;
}
.page--entry .block--price .box--annually .label-benefits,
.page--entry .block--price .box--monthly .label-benefits {
  display: block;
  margin-bottom: -0.5em;
  margin-right: 0.5em;
  font-size: 1.8rem;
}
.page--entry .block--price .box--annually .payment,
.page--entry .block--price .box--annually .price + .price,
.page--entry .block--price .box--monthly .payment,
.page--entry .block--price .box--monthly .price + .price {
  margin-top: 20px;
}
.page--entry .block--join > div + div {
  margin-top: 30px;
}
.page--entry .block--join .block--btn {
  padding-top: 50px;
}
.page--entry .block--join .btn--inner {
  position: relative;
}
.page--entry .block--join .btn--inner .dec_Gclef {
  position: absolute;
  bottom: calc(var(--paper_dec-height) * -1);
  inset-inline: 0;
  --gclef-color: #8f7f66;
}
.page--entry .block--join .btn--inner + .btn--inner {
  padding-top: var(--paper_dec-height);
  margin-top: var(--paper_dec-height);
}
.page--entry .block--join .list--btn li a {
  font-family: zen-old-mincho, sans-serif;
}
.page--entry .block--join .item--other .btn {
  margin: 0 auto;
  max-width: 600px;
}
.page--entry .block--join .item--other .txt--sub {
  font-family: zen-old-mincho, sans-serif;
}
.page--entry .block--attention summary {
  background: var(--error-color);
  padding: 1em 2.5em 1em 1.5em;
  border-radius: var(--radius-sm);
  font-size: 1.125em;
  line-height: 1.2;
  transition: background 0.3s;
  position: relative;
}
.page--entry .block--attention summary::before {
  content: "";
  display: block;
  position: absolute;
  right: 1.2em;
  top: 50%;
  transform: translateY(-50%) rotate(90deg);
  width: 7px;
  aspect-ratio: 7/12;
  background: currentColor;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.page--entry .block--attention summary .txt--basic {
  margin-top: 0.5em;
  font-size: 1.4rem;
  font-family: zen-old-mincho, sans-serif;
  line-height: 1.4;
}
@media (hover: hover) and (pointer: fine) {
  .page--entry .block--attention summary:hover {
    background: color-mix(in srgb, var(--error-color) 95%, #fff 5%);
  }
  .page--entry .block--attention summary:hover::before {
    transform: translateY(-30%) rotate(90deg);
  }
}
.page--entry .block--attention summary::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
  border-radius: inherit;
  background: var(--error-color);
  opacity: 0;
  pointer-events: none;
}
.page--entry .block--attention details:open summary {
  border-bottom-right-radius: 0px;
  border-bottom-left-radius: 0px;
}
.page--entry .block--attention details:open summary::before {
  transform: translateY(-50%) rotate(-90deg);
}
.page--entry .block--attention details:not([open]) summary::after {
  animation: attention-glow 2s ease-out infinite;
}
@media screen and (min-width: 1px) and (max-width: 599px) {
  .page--entry .block--attention details:not([open]) summary::after {
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
    animation-name: attention-glow-sp;
  }
}
.page--entry .block--attention details:not([open]) summary::before {
  animation: attention-arrow 1.4s ease-in-out infinite;
}
.page--entry .block--attention .txt--detail {
  margin-bottom: 1em;
}
.page--entry .block--attention .details__inner {
  padding: 20px;
  border-radius: 0 0 var(--radius-sm) var(--radius-sm);
  color: var(--base-color);
  background: color-mix(in srgb, color-mix(in srgb, var(--error-color) 10%, #fff 90%) 90%, var(--text-color) 10%);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.4;
}
.page--entry .block--attention .details__inner .member-step li {
  margin-bottom: 60px;
}
.page--entry .block--attention .details__inner .member-step li .tit {
  display: flex;
  align-items: center;
  padding: 0.5em 1em;
  margin-bottom: 1em;
  background: var(--error-color);
  color: #fff;
  font-size: 1.125em;
}
.page--entry .block--attention .details__inner .member-step li .tit .label {
  font-size: 0.8em;
  margin-right: 1em;
}
.page--entry .block--attention .details__inner .member-step li .txt {
  color: var(--base-color);
}
.page--entry .block--attention .details__inner .member-step li img {
  display: block;
  max-width: 500px;
  margin: 1em auto 0;
  border: 1px solid #fff;
  border-radius: var(--radius-sm);
}
.page--entry .block--attention .details__inner .member-step li + li {
  margin-top: 20px;
}
.page--entry .block--attention .details__inner .btn {
  max-width: 600px;
  margin-inline: auto;
}
.page--entry .block--attention .details__inner .btn--sub {
  border-color: var(--error-color);
  color: var(--error-color);
}
.page--entry .block--attention .details__inner .btn--sub::before {
  background: var(--error-color);
}
@media (hover: hover) and (pointer: fine) {
  .page--entry .block--attention .details__inner .btn--sub:hover {
    background: color-mix(in srgb, var(--error-color) 10%, transparent 90%);
  }
}
.page--entry .block--attention .block--transfer {
  margin-bottom: 30px;
}
.page--entry .block--attention .block--transfer .ph {
  background: transparent;
  max-width: 800px;
  margin-inline: auto;
}
.page--entry .block--attention .block-tit {
  margin-bottom: 0.5em;
  font-size: 1.25em;
  text-align: center;
}
.page--entry .area--entry {
  position: fixed;
  z-index: 100;
  bottom: -100px;
  transform: translateY(calc(100% - 100px));
  inset-inline: 0;
  padding-inline: var(--section-inline);
  padding-block: 20px 120px;
  background: linear-gradient(to top, color-mix(in srgb, var(--base-color) 75%, transparent 25%), transparent);
  opacity: 0;
  transition: transform 0.5s, opacity 0.3s;
}
.page--entry .area--entry .btn {
  width: min(90%, 600px);
}

body.is-scroll:not(.is-footer) .area--entry {
  transform: translateY(0);
  opacity: 1;
}

@keyframes attention-glow {
  0% {
    width: 100%;
    height: 100%;
    opacity: 0.6;
  }
  100% {
    width: calc(100% + 30px);
    height: calc(100% + 30px);
    opacity: 0;
  }
}
@keyframes attention-glow-sp {
  0% {
    transform: translate(-50%, -50%) scale(1);
    opacity: 0.6;
  }
  90%, 100% {
    transform: translate(-50%, -50%) scale(1.08, 1.3);
    opacity: 0;
  }
}
@keyframes attention-arrow {
  0%, 40%, 80%, 100% {
    transform: translateY(-50%) rotate(90deg);
  }
  20%, 60% {
    transform: translateY(-25%) rotate(90deg);
  }
}
.page--support {
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.page--support .section-tit {
  margin-bottom: 1em;
}
.page--support.page--course-change .section-tit {
  margin-bottom: 0.3em;
}
.page--support .block--txt p + p {
  margin-top: 1em;
}
.page--support .list--support {
  margin: 1em 0;
}
.page--support .list--support h3 {
  font-size: inherit;
}
.page--support .list--support dt {
  margin-bottom: 0.5em;
  font-size: 1.125em;
  font-weight: 700;
}
.page--support .list--support dd + dt {
  margin-top: 2em;
  padding-top: 2em;
  border-top: 1px dashed color-mix(in srgb, currentColor 40%, transparent 60%);
}
.page--support .list--support dd ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.page--support .list--support a {
  text-decoration: underline;
}
@media (hover: hover) and (pointer: fine) {
  .page--support .list--support a:hover {
    text-decoration: none;
  }
}
.page--support .list--table {
  margin: 0;
}
.page--support .list--table + .list--table {
  margin-top: 30px;
}
.page--support .detail_table {
  table-layout: fixed;
  width: 100%;
}
.page--support .detail_table th,
.page--support .detail_table td {
  border: 1px solid var(--text-color);
}
.page--support .detail_table th {
  background: color-mix(in srgb, var(--base-color) 90%, #fff 10%);
  font-weight: 400;
  line-height: 1.4;
  padding: 0.5em;
}
.page--support .detail_table td {
  width: calc(100% - min(20%, 6em));
  padding: 1em;
  background: color-mix(in srgb, var(--base-color) 10%, #fff 90%);
}
.page--support .block--course + .block--course {
  margin-top: 60px;
}
.page--support .block--course h3 {
  padding: 0.3em 0.5em;
  margin-bottom: 0.5em;
  background: var(--text-color);
  color: #fff;
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
}
.page--support .block--course dl + dl {
  margin-top: 40px;
}
.page--support .block--course dl dt {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.5em;
}
.page--support .block--course P + .course_box {
  margin-top: 0.5em;
}
.page--support .block--course .course_box {
  background: color-mix(in srgb, #fff 80%, var(--base-color) 20%);
  padding: 1.5em;
  border-radius: var(--radius-sm);
  line-height: 1.4;
}
.page--support .block--course .course_box + .course_box {
  margin-top: 20px;
}
.page--support .block--course .course_box .support-tit_sub {
  font-size: 1.125em;
  font-weight: bold;
  margin-bottom: 0.8em;
  padding-bottom: 0.8em;
  border-bottom: 1px dashed currentColor;
}
.page--support .block--course .course_box .block--error {
  padding: 1em;
  margin-bottom: 0;
}
.page--support .block--course .course_box .block--error .tit {
  margin: -1em -1em 1em;
  padding: 1em;
}

.page--faq .section-tit {
  text-align: center;
}
.page--faq .searchBox {
  max-width: 450px;
  margin: 1em auto 30px;
}
.page--faq .list--tag {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
  margin-bottom: 40px;
}
.page--faq .list--tag li a {
  display: block;
  padding: 0.3em 0.8em;
  border: 1px solid var(--text-color);
  border-radius: var(--radius-sm);
  font-size: 1.3rem;
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  transition: background 0.5s, color 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .page--faq .list--tag li a:hover {
    background: var(--text-color);
    color: #fff;
  }
}
.page--faq .tit--category {
  margin-bottom: 0.5em;
}
.page--faq .list--faq + .tit--category {
  margin-top: 80px;
}
.page--faq .list--faq li :is(.tit, .txt) {
  display: inline-block;
}
.page--faq .list--faq li a {
  display: flex;
  align-items: baseline;
}
.page--faq .list--faq li .icon--q {
  margin-right: 0.3em;
  font-family: cesso, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.page--faq .block--contact {
  margin-top: 30px;
}
.page--faq .block--contact a {
  transition: opacity 0.3s;
}
.page--faq .block--contact a + i {
  transition: opacity 0.3s;
}
@media (hover: hover) and (pointer: fine) {
  .page--faq .block--contact a:hover, .page--faq .block--contact a:hover + i {
    opacity: 0.5;
  }
}
.page--faq .txt--no-data {
  font-family: zen-old-mincho, sans-serif;
}
.page--faq .section--detail .category {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.3em 0.5em;
  margin-bottom: 0.5em;
  border: 1px solid currentColor;
  font-size: 1.3rem;
  font-weight: 400;
}
.page--faq .section--detail .tit--category:first-of-type {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.3em 0.5em 0.2em;
  border: 1px solid var(--text-color);
  border-radius: var(--radius-sm);
  background: transparent;
  color: revert;
  font-size: 1.3rem;
}
.page--faq .section--detail .block--faq-detail .icon--q,
.page--faq .section--detail .block--faq-detail .icon--a {
  display: none;
}
.page--faq .section--detail .block--faq-detail dt .txt {
  letter-spacing: revert;
  margin-top: 0;
  margin-bottom: 10px;
}
.page--faq .section--detail .block--faq-detail dd {
  padding: min(60px, 5vw) min(40px, 4vw);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.2);
  line-height: 1.6;
}
.page--faq .section--detail .block--faq-detail + .tit--category {
  margin-top: 60px;
}
.page--faq .section--detail:not(:has(.list--faq)) .block--faq-detail + .tit--category {
  display: none;
}
.page--faq .detail__btn a:after {
  content: "BACK";
  display: block;
  position: static;
  width: auto;
  height: auto;
  color: var(--text-color);
}

.page--questionnaire .section-tit {
  margin-bottom: 20px;
}
.page--questionnaire .section-tit + .txt--basic {
  color: #fff;
}
.page--questionnaire .txt--lead {
  margin-bottom: 30px;
}
.page--questionnaire .ph {
  margin-top: 20px;
  margin-bottom: 20px;
}
.page--questionnaire p + .block--error,
.page--questionnaire .section-tit + .block--error {
  margin-top: 30px;
}
.page--questionnaire .label--image {
  color: color-mix(in srgb, currentColor 80%, transparent 20%);
  font-size: 1.2rem;
}
.page--questionnaire.complete .section-tit {
  text-align: center;
}
.page--questionnaire.complete .btn:has(.btn--sub) a {
  border-color: var(--sub-border-color);
  color: var(--gray);
  font-family: cesso, sans-serif;
}
.page--questionnaire.complete .btn:has(.btn--sub) a::before {
  right: auto;
  left: 1em;
  transform: scale(-1, 1) translateY(-50%);
  background: #999;
}
.page--questionnaire.radio--form .content--main form {
  position: relative;
}
.page--questionnaire.radio--form .content--main form::before {
  content: "";
  display: block;
  position: absolute;
  width: min(114px, 18vw);
  height: auto;
  right: min(95px, 7vw);
  bottom: 100%;
  aspect-ratio: 5/7;
  background-image: url("/static/aimer/fanclub/contents/item_rabbit.png");
  background-size: contain;
  background-repeat: no-repeat;
  pointer-events: none;
}

.page--error {
  color: #fff;
}
.page--error .section--detail,
.page--error .content--main:not(:has(section, [class^=section--])) {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-left: 5vw;
  padding-right: 5vw;
  margin: 0 auto;
}
.page--error .section--detail .tit,
.page--error .content--main:not(:has(section, [class^=section--])) .tit {
  margin-bottom: 1em;
  font-size: min(4rem, 5.5vw);
  line-height: 1.4;
}
.page--error .section--detail p,
.page--error .content--main:not(:has(section, [class^=section--])) p {
  line-height: 1.8;
}
.page--error .section--detail p + .btn,
.page--error .content--main:not(:has(section, [class^=section--])) p + .btn {
  margin-top: 2em;
}
.page--error .btn .btn--sub {
  border: 1px solid var(--sub-border-color);
  color: var(--gray);
  background: color-mix(in srgb, var(--sub-border-color) 0%, transparent 100%);
  position: relative;
}
.page--error .btn .btn--sub::before {
  content: "";
  display: block;
  position: absolute;
  right: auto;
  top: 50%;
  transform: scale(-1, 1) translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: #999;
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.page--error .btn .btn--sub {
  transition: background 0.3s;
}
.page--error .btn .btn--sub::before {
  left: 1em;
}
@media (hover: hover) and (pointer: fine) {
  .page--error .btn .btn--sub:hover {
    background: color-mix(in srgb, var(--sub-border-color) 20%, transparent 80%);
  }
  .page--error .btn .btn--sub:hover::before {
    left: scale(-1, 1) translateX(-3px) translateY(-50%);
  }
}

.content--main:not(:has([class^=section--])) #containerInnr,
.content--main:not(:has([class^=section--])) .count {
  position: relative;
  min-height: calc(100vh - var(--header-height) - var(--footer-height));
  padding-inline: var(--section-inline);
  padding-block: var(--section-block);
  text-align: center;
  color: #fff;
}

.block--error {
  padding: 1.5em;
  border-radius: var(--radius-sm);
  margin-bottom: 30px;
  border: 1px solid var(--text-color);
  background: transparent;
  color: var(--text-color);
}
.block--error li:not(:last-child) {
  margin-bottom: 8px;
}
.block--error .tit {
  margin: -1.5em -1.5em 1em;
  padding: 1em 1.5em;
  background: var(--text-color);
  color: #fff;
  line-height: 1.4;
  font-weight: bold;
}
.block--error.red {
  border-color: var(--error-color);
  background: color-mix(in srgb, var(--error-color) 10%, #fff 90%);
  color: var(--error-color);
}
.block--error.red .tit {
  background: var(--error-color);
}

:is(p, ol, ul) + .block--error {
  margin-top: 1em;
}

body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > p:first-child,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > p:first-child {
  padding-top: 150px;
}
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .tit,
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > form,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .tit,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > form {
  margin: 0 auto;
}
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .tit,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .tit {
  padding-top: 150px;
}
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .txtArea .btn .main,
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .btn .main,
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) input[type=button],
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .txtArea .btn .main,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .btn .main,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) input[type=button] {
  position: relative;
  z-index: 1;
  width: 90vw;
  max-width: 350px;
  margin: 0 auto;
  padding: 1.2em 2em;
  border-radius: 0;
  border: 1px solid var(--text-color);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: inline-block;
  position: relative;
  z-index: 1;
  border: none;
  background: transparent;
  color: var(--text-color);
}
@media screen and (min-width: 961px) {
  body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .txtArea .btn .main,
  body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .btn .main,
  body:not(.page--questionnaire) .content--main > section:not([class^=section--]) input[type=button],
  body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .txtArea .btn .main,
  body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .btn .main,
  body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) input[type=button] {
    font-size: 1.8rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .txtArea .btn .main,
  body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .btn .main,
  body:not(.page--questionnaire) .content--main > section:not([class^=section--]) input[type=button],
  body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .txtArea .btn .main,
  body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .btn .main,
  body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) input[type=button] {
    font-size: 1.6rem;
  }
}
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .txtArea .btn .main,
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) > .btn .main,
body:not(.page--questionnaire) .content--main > section:not([class^=section--]) input[type=button],
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .txtArea .btn .main,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) > .btn .main,
body:not(.page--questionnaire) .content--main:not(:has([class^=section--])) input[type=button] {
  background: transparent;
  letter-spacing: 0.1em;
  transition: background 0.3s, color 0.3s, border-color 0.3s;
  overflow: hidden;
  cursor: pointer;
}

.section--redirect {
  position: relative;
  z-index: 1;
  min-height: 90vh;
}
.section--redirect .btn {
  margin-inline: auto;
}

*:has(> .paper_dec-1),
*:has(> .paper_dec-2) {
  position: relative;
  border-radius: var(--radius-sm);
  color: var(--sub-base-color);
  min-height: calc(var(--paper_dec-height) * 5);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
*:has(> .paper_dec-1) .btn--main,
*:has(> .paper_dec-2) .btn--main {
  background: var(--sub-text-color-light);
  border-color: var(--sub-text-color-light);
  color: #fff;
}
@media (hover: hover) and (pointer: fine) {
  *:has(> .paper_dec-1) .btn--main:hover,
  *:has(> .paper_dec-2) .btn--main:hover {
    background: color-mix(in srgb, var(--sub-text-color-light) 95%, #fff 5%);
  }
}
*:has(> .paper_dec-1) .btn--sub,
*:has(> .paper_dec-2) .btn--sub {
  border-color: var(--sub-text-color-light);
  color: var(--sub-text-color-light);
}
@media (hover: hover) and (pointer: fine) {
  *:has(> .paper_dec-1) .btn--sub:hover,
  *:has(> .paper_dec-2) .btn--sub:hover {
    background: color-mix(in srgb, var(--sub-text-color-light) 10%, transparent 90%);
  }
}

.paper_dec-1,
.paper_dec-2 {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-size: 100% auto;
  background-repeat: repeat-y;
  background-position: top;
  pointer-events: none;
  border-radius: var(--radius-sm);
  overflow: hidden;
}
.paper_dec-1 span,
.paper_dec-2 span {
  position: absolute;
}
.paper_dec-1 span .center,
.paper_dec-2 span .center {
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.paper_dec-1 .top,
.paper_dec-1 .bottom,
.paper_dec-2 .top,
.paper_dec-2 .bottom {
  width: calc(100% - var(--paper_dec-height) * 2 - var(--paper_dec-padding) * 2);
  height: var(--paper_dec-height);
  margin-inline: var(--paper_dec-height);
  background-repeat: repeat-x;
  background-size: contain;
}
.paper_dec-1 .top::before, .paper_dec-1 .top::after,
.paper_dec-1 .bottom::before,
.paper_dec-1 .bottom::after,
.paper_dec-2 .top::before,
.paper_dec-2 .top::after,
.paper_dec-2 .bottom::before,
.paper_dec-2 .bottom::after {
  content: "";
  display: block;
  position: absolute;
  width: var(--paper_dec-height);
  height: var(--paper_dec-height);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.paper_dec-1 .top::before,
.paper_dec-1 .bottom::before,
.paper_dec-2 .top::before,
.paper_dec-2 .bottom::before {
  top: 0;
  right: 100%;
}
.paper_dec-1 .top::after,
.paper_dec-1 .bottom::after,
.paper_dec-2 .top::after,
.paper_dec-2 .bottom::after {
  top: 0;
  left: 100%;
  transform: scale(-1, 1);
}
.paper_dec-1 .left,
.paper_dec-1 .right,
.paper_dec-2 .left,
.paper_dec-2 .right {
  width: var(--paper_dec-height);
  height: calc(100% - var(--paper_dec-height) * 2 - var(--paper_dec-padding) * 2);
  margin-block: var(--paper_dec-height);
  background-repeat: repeat-y;
  background-size: contain;
}
.paper_dec-1 .top,
.paper_dec-2 .top {
  top: var(--paper_dec-padding);
  left: var(--paper_dec-padding);
}
.paper_dec-1 .bottom,
.paper_dec-2 .bottom {
  bottom: var(--paper_dec-padding);
  left: var(--paper_dec-padding);
  transform: scale(1, -1);
}
.paper_dec-1 .left,
.paper_dec-2 .left {
  top: var(--paper_dec-padding);
  left: var(--paper_dec-padding);
}
.paper_dec-1 .right,
.paper_dec-2 .right {
  top: var(--paper_dec-padding);
  right: var(--paper_dec-padding);
  transform: scale(-1, 1);
}

.paper_dec-1 {
  background-image: url(/static/aimer/fanclub/common/paper/bg_paper_v1.webp);
}
.paper_dec-1 .top,
.paper_dec-1 .bottom {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_border_row-v1.png);
}
.paper_dec-1 .top .center,
.paper_dec-1 .bottom .center {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_center_row-v1.png);
}
.paper_dec-1 .top::before, .paper_dec-1 .top::after,
.paper_dec-1 .bottom::before,
.paper_dec-1 .bottom::after {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_corner_v1.png);
}
.paper_dec-1 .left,
.paper_dec-1 .right {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_border_col-v1.png);
}
.paper_dec-1 .left .center,
.paper_dec-1 .right .center {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_center_col-v1.png);
}

.paper_dec-2 {
  background-image: url(/static/aimer/fanclub/common/paper/bg_paper_v2.webp);
}
.paper_dec-2 .top,
.paper_dec-2 .bottom {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_border_row-v2.png);
}
.paper_dec-2 .top .center,
.paper_dec-2 .bottom .center {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_center_row-v2.png);
}
.paper_dec-2 .top::before, .paper_dec-2 .top::after,
.paper_dec-2 .bottom::before,
.paper_dec-2 .bottom::after {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_corner_v2.png);
}
.paper_dec-2 .left,
.paper_dec-2 .right {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_border_col-v2.png);
}
.paper_dec-2 .left .center,
.paper_dec-2 .right .center {
  background-image: url(/static/aimer/fanclub/common/paper/paper_dec_center_col-v2.png);
}

[data-delighter][data-anim=fade] {
  transform: translate(0px, 15px);
  opacity: 0;
  transition: 0.6s cubic-bezier(0.11, 0.54, 0.57, 1.08);
}

body.open [data-delighter][data-anim=fade].started {
  transform: translate(0px, 0px);
  opacity: 1;
}

[data-delighter][data-anim=blur],
.page--story .block--lead .txt--lead {
  opacity: 0;
  filter: blur(8px);
  transition: opacity 0.8s, filter 1s;
}

body.open [data-delighter][data-anim=blur].started,
body.open .page--story .block--lead .txt--lead.is-visible {
  filter: blur(0);
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  #loading {
    transition: opacity 0.4s;
  }
  #loading .owl {
    opacity: 1;
    filter: none;
    transition: opacity 0.3s;
  }
  body.load #loading .owl {
    opacity: 1;
    filter: none;
  }
  body.load #loading.hide {
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s, visibility 0s 0.4s;
  }
  html {
    scroll-behavior: auto;
  }
  .page--home .mainvisual :is(.kv_window, picture) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    -webkit-mask-position: 100% 100% !important;
            mask-position: 100% 100% !important;
  }
  .block--content-tit .mainvisual :is(.kv_window, picture) {
    animation: none !important;
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    -webkit-mask-position: 100% 100% !important;
            mask-position: 100% 100% !important;
  }
  .block--content-tit .mainvisual::after {
    opacity: 1 !important;
  }
  [data-delighter][data-anim=fade],
  [data-delighter][data-anim=blur],
  .page--story .block--lead .txt--lead {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
  }
  .footprints path {
    animation: none !important;
    opacity: 1;
  }
}
.form {
  width: 100%;
  margin: 0 auto;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form dt {
    margin-bottom: 0.5em;
  }
  .form dd + dt {
    margin-top: 20px;
  }
}

input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
  -webkit-text-fill-color: currentColor;
  -webkit-box-shadow: 0 0 0 1000px var(--input-base-color) inset;
  -webkit-transition: background-color 9999s ease-out;
  transition: background-color 9999s ease-out;
}

::-webkit-input-placeholder {
  color: var(--placeholder-color);
}

::-moz-placeholder {
  color: var(--placeholder-color);
  opacity: 1;
}

:-ms-input-placeholder {
  color: var(--placeholder-color);
}

:-moz-placeholder {
  color: var(--placeholder-color);
}

.form--post dt {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.form--post dt.icon--required::after, .form--post dt:has(.icon--required)::after {
  display: inline-block;
  margin-right: 0.5em;
  padding: 3px 4px;
  border-radius: 2px;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.01em;
  align-items: flex-start;
  vertical-align: middle;
  border: 1px solid var(--sub-text-color-light);
  background: var(--sub-text-color-light);
  color: #fff;
  white-space: nowrap;
}
@media screen and (min-width: 961px) {
  .form--post dt.icon--required::after, .form--post dt:has(.icon--required)::after {
    margin-top: 5px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form--post dt.icon--required::after, .form--post dt:has(.icon--required)::after {
    margin-top: 2px;
  }
}
.form--post dt.icon--required::after, .form--post dt:has(.icon--required)::after {
  content: "必須";
}
.form--post dt:not(.icon--required):not(:has(.icon--required)):not(:has(+ dd [readonly]))::after {
  display: inline-block;
  margin-right: 0.5em;
  padding: 3px 4px;
  border-radius: 2px;
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.01em;
  align-items: flex-start;
  vertical-align: middle;
  border: 1px solid var(--sub-text-color-light);
  background: var(--sub-text-color-light);
  color: var(--sub-text-color-light);
  white-space: nowrap;
}
@media screen and (min-width: 961px) {
  .form--post dt:not(.icon--required):not(:has(.icon--required)):not(:has(+ dd [readonly]))::after {
    margin-top: 5px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form--post dt:not(.icon--required):not(:has(.icon--required)):not(:has(+ dd [readonly]))::after {
    margin-top: 2px;
  }
}
.form--post dt:not(.icon--required):not(:has(.icon--required)):not(:has(+ dd [readonly]))::after {
  background: transparent;
  content: "任意";
}

input[type=text] {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  input[type=text] {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=text] {
    font-size: 15px;
  }
}
input[type=text] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=text] {
    padding: 12px 15px;
  }
}
input[type=text]:focus {
  border-color: inherit;
}
input[type=text].form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
input[type=text].form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
input[type=text][disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
input[type=text]:-moz-read-only {
  background: transparent;
  padding: 0;
}
input[type=text]:read-only {
  background: transparent;
  padding: 0;
}

input[type=tel] {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  input[type=tel] {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=tel] {
    font-size: 15px;
  }
}
input[type=tel] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=tel] {
    padding: 12px 15px;
  }
}
input[type=tel]:focus {
  border-color: inherit;
}
input[type=tel].form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
input[type=tel].form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
input[type=tel][disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
input[type=tel]:-moz-read-only {
  background: transparent;
  padding: 0;
}
input[type=tel]:read-only {
  background: transparent;
  padding: 0;
}

input[type=email] {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  input[type=email] {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=email] {
    font-size: 15px;
  }
}
input[type=email] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=email] {
    padding: 12px 15px;
  }
}
input[type=email]:focus {
  border-color: inherit;
}
input[type=email].form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
input[type=email].form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
input[type=email][disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
input[type=email]:-moz-read-only {
  background: transparent;
  padding: 0;
}
input[type=email]:read-only {
  background: transparent;
  padding: 0;
}

input[type=password] {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  input[type=password] {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=password] {
    font-size: 15px;
  }
}
input[type=password] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=password] {
    padding: 12px 15px;
  }
}
input[type=password]:focus {
  border-color: inherit;
}
input[type=password].form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
input[type=password].form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
input[type=password][disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
input[type=password]:-moz-read-only {
  background: transparent;
  padding: 0;
}
input[type=password]:read-only {
  background: transparent;
  padding: 0;
}

input[type=number] {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  input[type=number] {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=number] {
    font-size: 15px;
  }
}
input[type=number] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=number] {
    padding: 12px 15px;
  }
}
input[type=number]:focus {
  border-color: inherit;
}
input[type=number].form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
input[type=number].form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
input[type=number][disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
input[type=number]:-moz-read-only {
  background: transparent;
  padding: 0;
}
input[type=number]:read-only {
  background: transparent;
  padding: 0;
}

input[type=date] {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  input[type=date] {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=date] {
    font-size: 15px;
  }
}
input[type=date] {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  input[type=date] {
    padding: 12px 15px;
  }
}
input[type=date]:focus {
  border-color: inherit;
}
input[type=date].form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
input[type=date].form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
input[type=date][disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
input[type=date]:-moz-read-only {
  background: transparent;
  padding: 0;
}
input[type=date]:read-only {
  background: transparent;
  padding: 0;
}

.input--half {
  width: 75% !important;
}

.input--quarter {
  width: 50% !important;
}

textarea {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  textarea {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  textarea {
    font-size: 15px;
  }
}
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  textarea {
    padding: 12px 15px;
  }
}
textarea:focus {
  border-color: inherit;
}
textarea.form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
textarea.form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
textarea[disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
textarea {
  resize: vertical;
  line-height: 1.6;
}

.form__select {
  display: inline-block;
  position: relative;
  position: relative;
}
.form__select::before {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
  aspect-ratio: 7/12;
  background: var(--sub-text-color-light);
  -webkit-mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  mask: url(/static/aimer/fanclub/common/arrow.svg) no-repeat center/contain;
  transition: transform 0.3s;
  will-change: transform;
}
.form__select::before {
  transform: translateY(-50%) rotate(90deg);
  pointer-events: none;
}
.form__select select {
  font-family: dnp-shuei-nmincho-std, Hiragino Kaku Gothic ProN, Hiragino Sans, sans-serif;
  font-weight: 400;
  line-height: 1.75;
  font-feature-settings: "palt";
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  .form__select select {
    font-size: 16px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form__select select {
    font-size: 15px;
  }
}
.form__select select {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  display: inline-block;
  width: 100%;
  max-width: 100%;
  padding: 16px 20px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--input-base-color);
  color: var(--input-text-color);
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
  font-size: 1.6rem;
  box-shadow: none;
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form__select select {
    padding: 12px 15px;
  }
}
.form__select select:focus {
  border-color: inherit;
}
.form__select select.form__error {
  background: var(--error-base-color);
  color: var(--error-color);
  border-color: var(--error-color);
}
.form__select select.form__error:focus {
  border: 1px solid var(--error-color);
  background: var(--error-base-color);
  color: var(--error-color);
}
.form__select select[disabled] {
  background: var(--gray);
  border: none;
  opacity: 0.5;
}
.form__select select {
  padding-right: 25px;
}

.form__checkbox,
.form__radio {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em;
}
.form__checkbox label,
.form__radio label {
  display: inline-block;
  padding: 0.5em;
  position: relative;
  cursor: pointer;
  padding-left: 1.8em;
}
.form__checkbox input[type=checkbox],
.form__checkbox input[type=radio],
.form__checkbox input[type=file],
.form__radio input[type=checkbox],
.form__radio input[type=radio],
.form__radio input[type=file] {
  -webkit-appearance: none;
  width: 0;
  height: 0;
  opacity: 0;
  position: absolute;
}
.form__checkbox.form__error,
.form__radio.form__error {
  color: var(--error-color);
}
.form__checkbox :is(p, span),
.form__radio :is(p, span) {
  position: relative;
}
.form__checkbox :is(p, span)::before,
.form__radio :is(p, span)::before {
  top: 50%;
  right: calc(100% + 0.5em);
  border: 1px solid var(--sub-text-color-light);
  transform: translateY(-50%);
}

/* checkbox */
.form__checkbox :is(p, span)::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 0.8em;
  height: 0.4em;
  top: 50%;
  right: calc(100% + 0.6em);
  border: 2px solid var(--sub-text-color-light);
  border-top: none;
  border-right: none;
  opacity: 0;
  transform: translateY(-70%) rotate(-45deg);
}
.form__checkbox :is(p, span)::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1em;
  height: 1em;
  top: 50%;
  right: calc(100% + 0.5em);
  border: 1px solid var(--sub-text-color-light);
}
.form__checkbox :checked ~ :is(p, span)::after {
  opacity: 1;
}

/* radio */
.form__radio :is(p, span)::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 1.2em;
  height: 1.2em;
  border-radius: 50%;
}
.form__radio :checked ~ :is(p, span)::before {
  border-width: 0.3em;
}
.form__radio :focus-visible ~ :is(p, span)::before {
  outline: 2px solid var(--sub-text-color-light);
  outline-offset: 2px;
}

.searchBox {
  position: relative;
}
.searchBox form {
  position: relative;
}
.searchBox input[type=submit],
.searchBox button[type=submit] {
  position: absolute;
  top: 50%;
  right: 0.5em;
  z-index: 2;
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--text-color);
  cursor: pointer;
  place-items: center;
  transform: translateY(-50%);
}
.searchBox input[type=submit],
.searchBox button[type=submit] span {
  font-family: FontAwesome;
  font-size: 20px;
  line-height: 1;
}

.form--horizontal li {
  display: inline-block;
}
.form--horizontal li .form__selectbox {
  display: inline-block !important;
}

.form--horizontal label {
  display: inline-block;
  margin: 0 0.3em 0 0;
}

:is(p, h2) + form {
  margin-top: 20px;
}

.form--post,
.form--confirm {
  font-family: zen-old-mincho, sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
.form--post dt,
.form--confirm dt {
  margin-bottom: 0.5em;
}
.form--post dd,
.form--confirm dd {
  font-size: 1.6rem;
}
.form--post dd:last-child,
.form--confirm dd:last-child {
  margin-bottom: 0;
}
.form--post dd :is(.ph, img),
.form--confirm dd :is(.ph, img) {
  max-width: 500px;
  margin: 0;
}
.form--post + .txt--sub,
.form--confirm + .txt--sub {
  margin-top: 40px;
}

@media screen and (min-width: 961px) {
  .form--post {
    display: grid;
    grid-template-columns: 220px 1fr;
    align-items: flex-start;
    gap: 20px 30px;
  }
}
@media screen and (min-width: 961px) {
  .form--post dt {
    font-size: 1.7rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form--post dt {
    font-size: 1.4rem;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .form--post dd + dt {
    margin-top: 30px;
  }
}

.form--confirm dt {
  margin-bottom: 0;
  font-size: 1.4rem;
  color: var(--sub-text-color-light);
}
.form--confirm dd + dt {
  margin-top: 1.5em;
}

.form--post .btn,
.form--confirm .btn,
form .btn {
  margin-inline: auto;
  letter-spacing: 0;
}
@media screen and (min-width: 961px) {
  .form--post .btn,
  .form--confirm .btn,
  form .btn {
    min-width: 300px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
.form--post .btn .btn--main,
.form--confirm .btn .btn--main,
form .btn .btn--main {
  background: var(--sub-text-color-light);
  border-color: var(--sub-text-color-light);
  color: #fff;
}
.form--post .btn .btn--sub,
.form--confirm .btn .btn--sub,
form .btn .btn--sub {
  background: transparent;
  border-color: var(--sub-text-color-light);
  color: var(--sub-text-color-light);
}
.form--post .btn .btn--sub::before,
.form--confirm .btn .btn--sub::before,
form .btn .btn--sub::before {
  right: auto;
  left: 1em;
  transform: scale(-1, 1) translateY(-50%);
}

.section-tit + :is(.form--post, .form--confirm) {
  margin-top: 1em;
}

@media screen and (min-width: 961px) {
  .sp,
  .mobile {
    display: none !important;
  }
  .nav--pager {
    margin-top: 50px;
  }
  .detail--pager {
    padding-inline: 34px;
  }
  .swiper-pagination {
    margin-top: 42px;
  }
  #listBanner.no-swiper .list--bnr {
    gap: 30px;
    justify-content: center;
  }
  #listBanner.no-swiper .list--bnr li {
    width: calc((100% - 60px) / 3);
  }
  .btn {
    margin-top: 40px;
  }
  .content--main > form input[type=submit],
  :is(.btn--main, .btn--sub),
  input:is(.btn--main, .btn--sub) {
    padding-block: 1em;
    font-size: 1.8rem;
  }
  .detail__btn {
    margin-top: 100px;
  }
  .btn--brackets {
    font-size: 1.8rem;
  }
  .nav--pager + .detail__btn {
    margin-top: 64px;
  }
  /* login */
  .list--login li a {
    font-size: 2rem;
  }
  .list--login li a:has(span) {
    font-size: 1.8rem;
  }
  .block--category li :is(a, span) {
    padding: 0.725em 1em;
    font-size: 1.8rem;
  }
  .block--sort.sort--ym .block--year {
    font-size: 2.4rem;
  }
  .block--sort.sort--ym .block--year .year-heading--current {
    font-size: 4rem;
  }
  .block--sort.sort--ym .list--month {
    grid-template-columns: repeat(12, 1fr);
  }
  .page--info .list--info:has(li .thumb),
  .page--blog .list--contents:has(li .thumb) {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 30px;
  }
  .header .head_owl {
    padding: 25px 36px;
  }
  .header h1.logo a,
  .header .logo_text a {
    width: 160px;
  }
  .page--home .header h1.logo {
    position: absolute;
    top: 35px;
    left: 30px;
    padding-block: 0;
  }
  .page--home .header h1.logo a {
    width: var(--header-height);
    height: auto;
    padding: 0;
  }
  .page--home .header h1.logo a img {
    width: 100%;
    height: auto;
  }
  .drawer {
    width: 600px;
  }
  .drawer .nav--login {
    margin-bottom: 80px;
  }
  .drawer .list--login {
    justify-content: flex-start;
  }
  .drawer .list--login li {
    flex: 1 1 180px;
    max-width: 180px;
  }
  .footer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: 100px;
    padding-block: 80px 40px;
    font-size: 1.4rem;
  }
  .footer .list--support {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
  .footer .copyright {
    text-align: right;
  }
  /* section--list */
  .section--list .list-tit {
    font-size: 3.2rem;
  }
  /* section--detail */
  .section--detail .section-tit,
  .section--list .section-tit,
  .page--questionnaire .section-tit {
    font-size: 3.2rem;
  }
  .block--faq-detail dt .txt,
  .page--birthday-message .tit {
    font-size: 2.8rem;
    margin-bottom: 0.5em;
  }
  .section--detail .block--tit .num {
    font-size: 5.6rem;
    margin-bottom: 0.5em;
  }
  .section--detail .detail_head:has(.thumb) {
    position: relative;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 5vw;
    margin-bottom: 100px;
  }
  .section--detail .detail_head:has(.thumb) .thumb {
    width: 44%;
  }
  .section--detail .detail_head:has(.thumb) .block--tit {
    width: calc(56% - 5vw);
    margin-bottom: 0;
  }
  .section--detail .txt + .date {
    margin-top: 2em;
  }
  .section--detail .block--content-tit .mainvisual,
  .section--list .block--content-tit .mainvisual {
    margin-bottom: 68px;
    margin-inline: calc(var(--section-inline) * -1 + max(min(110px, 10vw), (100vw - 1400px) / 2));
  }
  .section--detail .block--content-tit .mainvisual::after,
  .section--list .block--content-tit .mainvisual::after {
    position: static;
    margin-top: 50px;
    margin-inline: auto;
    background: var(--text-color);
  }
  .section--detail .block--content-tit .mainvisual img,
  .section--list .block--content-tit .mainvisual img {
    aspect-ratio: 7/3;
    -webkit-mask: url(/static/aimer/fanclub/contents/kv/kv_mask_pc.png) no-repeat center/contain;
    mask: url(/static/aimer/fanclub/contents/kv/kv_mask_pc.png) no-repeat center/contain;
  }
  .section--detail .block--content-tit .block--attention,
  .section--list .block--content-tit .block--attention {
    margin-bottom: 60px;
  }
  .section--detail .block--content-tit .block--attention:has(.block--bnr),
  .section--list .block--content-tit .block--attention:has(.block--bnr) {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: 48px;
  }
  .section--detail .block--content-tit .block--attention:has(.block--bnr) .btn,
  .section--list .block--content-tit .block--attention:has(.block--bnr) .btn {
    max-width: calc(45% - 48px);
  }
  .section--detail .block--content-tit .block--attention .block--bnr,
  .section--list .block--content-tit .block--attention .block--bnr {
    width: 55%;
    margin-bottom: 20px;
  }
  /* home */
  .page--home .content--main {
    display: flex;
    flex-direction: column;
  }
  .page--home section {
    order: 10;
  }
  .page--home .section-tit {
    margin-bottom: 48px;
  }
  .page--home .section--hero {
    padding-top: 40px;
    margin-bottom: 60px;
    padding-inline: 120px;
    order: 2;
  }
  .page--home .section--banner {
    margin-top: 140px;
    padding-inline: 15vw;
    order: 4;
  }
  .page--home .section--banner:has(.no-swiper) {
    padding-inline: var(--section-inline);
  }
  .page--home .section--info {
    order: 3;
  }
  .page--home .section--login {
    margin-top: 70px;
  }
  .page--movie .block--bnr::before {
    top: 76%;
    right: -7%;
  }
  .page--movie .section--detail {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    -moz-column-gap: min(60px, 4vw);
         column-gap: min(60px, 4vw);
  }
  .page--movie .section--detail .block--tit {
    width: calc(100% - max(35%, 320px) - 60px);
    margin-bottom: 0;
  }
  .page--movie .section--detail .block--tit .section-tit {
    margin-top: 2em;
  }
  .page--movie .section--detail .area--movie {
    width: max(35%, 320px);
  }
  .page--movie .section--detail .detail__btn {
    width: 100%;
  }
  .page--movie .list--contents li a {
    gap: 30px;
  }
  .page--movie .list--contents li a .num {
    font-size: 3.2rem;
  }
  .page--movie .list--contents li a .list__txt {
    width: calc(100% - 120px);
  }
  .page--blog.category--1 .section--list {
    padding-bottom: calc(var(--section-block) + 60px);
  }
  .page--blog.category--1 .block--sort:not(.sort--ym)::before {
    content: "";
    display: block;
    position: absolute;
    width: max(120px, 9vw);
    height: auto;
    bottom: 0;
    transform: translateY(20%);
    right: calc(var(--section-inline) * -1);
    aspect-ratio: 14/31;
    background-image: url(/static/aimer/fanclub/contents/item_tail_pc.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  .page--blog.category--1 .list--contents::before {
    left: 0;
    transform: translateY(120px) translateX(-50%);
  }
  .page--blog.category--1:not(:has(.block--pager)) .list--contents::before {
    transform: translateY(60px) translateX(-50%);
  }
  .page--blog.category--3 .block--sort:not(.sort--ym)::before {
    right: -40px;
  }
  .page--blog.category--3:has(.sort--ym) .block--sort::before {
    bottom: 110px;
  }
  .page--blog.category--3 .list--contents::before {
    right: calc(100% + 30px);
    transform: translateY(-30%);
  }
  .page--blog.category--5 .list--contents:has(li .thumb) {
    gap: 30px;
  }
  .page--qa .list--qa .tit {
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    max-height: 1.6em;
    line-height: 1.6;
  }
  .page--qa .section--detail .tit--q {
    font-size: 2rem;
  }
  .page--qa .section--detail .tit--a {
    font-size: 2.8rem;
  }
  .page--qa .section--detail .txt,
  .page--qa .section--detail .date {
    margin-top: 34px;
  }
  .page--qa .section--detail .block__answer {
    margin-top: 80px;
  }
  .page--archive .list--info {
    margin-bottom: 100px;
  }
  .page--archive .list--info::before {
    left: -30px;
  }
  .page--myroom .block--content-tit {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    gap: min(110px, 8vw);
    margin-inline: calc(var(--section-inline) * -1 + max(min(110px, 10vw), (100vw - 1400px) / 2));
  }
  .page--myroom .block--content-tit .block--attention::before {
    content: "";
    display: block;
    position: static;
    width: min(80%, 360px);
    height: auto;
    display: block;
    aspect-ratio: 14/3;
    background: var(--text-color);
    -webkit-mask: var(--tit-img) no-repeat center/contain;
    mask: var(--tit-img) no-repeat center/contain;
  }
  .page--myroom .block--content-tit .mainvisual {
    width: 50%;
    margin: 0;
  }
  .page--myroom .block--content-tit .mainvisual::after {
    display: none;
  }
  .page--myroom .block--content-tit .mainvisual picture {
    -webkit-mask: url(/static/aimer/fanclub/common/mask_anim-kv_sp.png) 100% 0%/100% no-repeat;
    mask: url(/static/aimer/fanclub/common/mask_anim-kv_sp.png) 100% 0%/100% no-repeat;
  }
  .page--myroom .block--content-tit .mainvisual img {
    aspect-ratio: 5/6;
    -webkit-mask: url(/static/aimer/fanclub/contents/kv/kv_mask_tb.png) no-repeat center/contain;
    mask: url(/static/aimer/fanclub/contents/kv/kv_mask_tb.png) no-repeat center/contain;
  }
  .page--myroom .block--content-tit .block--attention {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: calc(50% - min(110px, 8vw));
  }
  .page--myroom .block--content-tit .block--attention .btn {
    padding-inline: 0;
  }
  .page--story {
    padding-block: 105px 30px;
  }
  .page--story .block--lead {
    margin-block: 50px 100px;
    font-size: 1.6rem;
  }
  .page--story .block--tit {
    height: 40px;
  }
  .page--story .block--resident {
    margin-bottom: 110px;
  }
  .page--story .block--resident .block--tit {
    margin-bottom: 50px;
  }
  .page--story .block--resident .txt--sub {
    margin-top: 65px;
    font-size: 1.2rem;
  }
  .page--story .list--resident {
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
  }
  .page--story .list--resident .txt {
    font-size: min(5.2631578947cqw, 1.4rem);
  }
  .page--story .list--resident .name {
    height: 23px;
    margin-block: 25px 20px;
  }
  .page--story .block--credit .block--tit {
    margin-bottom: 40px;
  }
  .page--story .block--credit .list--credit li {
    font-size: 1.8rem;
  }
  .page--story .block--credit .list--credit li .label {
    font-size: 1.3rem;
  }
  .page--entry section > h3.tit {
    font-size: 3.6rem;
  }
  .page--entry .list--contents {
    grid-template-columns: repeat(3, 1fr);
    gap: 60px 30px;
  }
  .page--entry .block--benefit .block--tit {
    font-size: 2.4rem;
  }
  .page--entry .block--benefit .item--benefit .benefit li {
    margin-inline: auto;
    font-size: 1.8rem;
  }
  .page--entry .block--benefit .block--table {
    padding: calc(var(--paper_dec-height) / 3);
  }
  .page--entry .block--benefit .block--table th,
  .page--entry .block--benefit .block--table td {
    padding: 1em;
  }
  .page--entry .block--benefit .block--table th {
    width: 60%;
  }
  .page--entry .block--benefit .block--table td {
    width: 20%;
  }
  .page--entry .region--tit {
    width: 100%;
  }
  .page--entry .block--price .block--ja,
  .page--entry .block--price .block--inbound {
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 30px 80px;
    padding-block: 60px 80px;
  }
  .page--entry .block--price .block--ja::before,
  .page--entry .block--price .block--inbound::before {
    content: "";
    display: block;
    position: absolute;
    width: 2px;
    height: calc(100% - 220px);
    bottom: 80px;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--text-color);
    mask-image: url("data:image/svg+xml,%3Csvg width='2' height='5' viewBox='0 0 2 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='0.5' cy='1' rx='0.5' ry='1' fill='black'/%3E%3C/svg%3E");
    mask-repeat: round;
    mask-position: center top;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='2' height='5' viewBox='0 0 2 5' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='0.5' cy='1' rx='0.5' ry='1' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-repeat: round;
    -webkit-mask-position: center top;
    pointer-events: none;
  }
  .page--entry .block--price .box--annually,
  .page--entry .block--price .box--monthly {
    width: calc(50% - 40px);
  }
  .page--entry .block--attention summary {
    padding: 1em 2.5em;
    text-align: center;
  }
  .page--entry .block--attention .member-step li .tit {
    justify-content: center;
  }
  .page--entry .block--attention .member-step li .txt {
    text-align: center;
  }
  .page--entry .block--join .block--btn {
    padding-block: 80px;
    padding-inline: 5vw;
  }
  .page--entry .block--join .list--btn {
    display: flex;
    gap: 20px;
  }
  .page--entry .block--join .list--btn li {
    width: calc(50% - 10px);
  }
  .page--entry .block--join .list--btn li a {
    font-size: min(1.8rem, 1.3vw);
  }
  .page--support .detail_table th {
    width: 12em;
  }
  .page--faq .tit--category {
    font-size: 2.4rem;
  }
  .section--list *:has(> .paper_dec-1),
  .section--list *:has(> .paper_dec-2) {
    padding: 64px 80px;
  }
  .section--detail *:has(> .paper_dec-1),
  .section--detail *:has(> .paper_dec-2),
  .page--questionnaire *:has(> .paper_dec-1),
  .page--questionnaire *:has(> .paper_dec-2) {
    padding: 100px 80px;
  }
}
@media screen and (min-width: 1px) and (max-width: 960px) {
  .pc,
  .mobile {
    display: none !important;
  }
  .nav--pager {
    margin-top: 30px;
  }
  .detail--pager {
    padding-inline: 16px;
  }
  .swiper-pagination {
    margin-top: 20px;
  }
  .btn {
    margin-top: 30px;
  }
  .content--main > form input[type=submit],
  :is(.btn--main, .btn--sub),
  input:is(.btn--main, .btn--sub) {
    padding-block: 0.9em;
    font-size: 1.6rem;
  }
  .btn--brackets {
    font-size: 1.6rem;
  }
  .detail__btn {
    margin-top: 40px;
  }
  /* login */
  .list--login li a {
    font-size: 1.8rem;
  }
  .list--login li a:has(span) {
    font-size: 1.6rem;
  }
  .block--category {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .block--category li :is(a, span) {
    padding: max(0.57em, 1.5vw);
    font-size: 1.6rem;
  }
  .block--sort.sort--ym .block--year {
    font-size: 2.4rem;
  }
  .block--sort.sort--ym .block--year .year-heading--current {
    font-size: 3.2rem;
  }
  .block--sort.sort--ym .list--month {
    grid-template-columns: repeat(6, 1fr);
  }
  .block--sort.sort--ym .list--month li:nth-child(6)::before {
    display: none;
  }
  .block--sort.sort--ym .list--month li:nth-child(-n+6)::after {
    content: "";
    display: block;
    position: absolute;
    width: 90%;
    height: 2px;
    right: 5%;
    bottom: -6px;
    background-color: currentColor;
    mask-image: url("data:image/svg+xml,%3Csvg width='5' height='2' viewBox='0 0 5 2' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='1' cy='0.5' rx='1' ry='0.5' fill='black'/%3E%3C/svg%3E");
    mask-repeat: repeat-x;
    mask-position: left center;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='5' height='2' viewBox='0 0 5 2' xmlns='http://www.w3.org/2000/svg'%3E%3Cellipse cx='1' cy='0.5' rx='1' ry='0.5' fill='black'/%3E%3C/svg%3E");
    -webkit-mask-repeat: repeat-x;
    -webkit-mask-position: left center;
    pointer-events: none;
  }
  .page--info.page--ticket .list--info:has(li .thumb),
  .page--blog .list--contents:has(li .thumb) {
    display: flex;
    flex-direction: column;
    gap: 60px 30px;
  }
  .header .head_owl {
    padding: 15px 20px 18px;
  }
  .header h1.logo a,
  .header .logo_text a {
    width: 140px;
  }
  .drawer .nav--login {
    margin-bottom: 45px;
  }
  .page--home .header {
    position: absolute;
    padding: 20px;
    height: max(var(--header-height) * 2, 22vw);
  }
  .footer {
    margin-top: 85px;
    padding-block: 45px 40px;
    font-size: 1.2rem;
  }
  /* section--list */
  .section--list .list-tit {
    font-size: 2.2rem;
  }
  /* section--detail */
  .section--detail .section-tit,
  .section--list .section-tit,
  .page--questionnaire .section-tit {
    font-size: 2rem;
  }
  .block--faq-detail dt .txt,
  .page--birthday-message .tit {
    font-size: 2rem;
  }
  .section--detail .block--tit .num {
    font-size: 3rem;
    margin-bottom: 0.5em;
  }
  .section--detail .detail_head:has(.thumb) .thumb {
    margin-inline: calc(var(--section-inline) * -1);
    margin-top: calc(var(--section-block) * -1);
    margin-bottom: 30px;
    border-radius: 0;
  }
  .section--detail .txt + .date {
    margin-top: 1.5em;
  }
  .section--detail .block--content-tit .mainvisual,
  .section--list .block--content-tit .mainvisual {
    position: relative;
    margin-inline: calc(var(--section-inline) * -1);
    margin-bottom: 30px;
    margin-top: calc(var(--section-block) * -1);
  }
  .section--detail .block--content-tit .mainvisual::after,
  .section--list .block--content-tit .mainvisual::after {
    bottom: 48px;
    left: 24px;
    background: #fff;
  }
  .section--detail .block--content-tit .mainvisual img,
  .section--list .block--content-tit .mainvisual img {
    -webkit-mask: url(/static/aimer/fanclub/contents/kv/kv_mask_sp.png) no-repeat center/contain;
    mask: url(/static/aimer/fanclub/contents/kv/kv_mask_sp.png) no-repeat center/contain;
  }
  /* home */
  .page--home .section-tit {
    margin-bottom: 24px;
  }
  .page--home .section--hero {
    padding-top: calc(max(var(--header-height) * 2, 22vw) - 7vw);
    margin-bottom: 40px;
  }
  .page--home .section--hero .mainvisual {
    --kv-zoom: 1.25;
    --kv-shift-x: 0%;
    --sign-space: 0px;
  }
  .page--home .section--hero .mainvisual .kv_sign {
    --sign-w: 10%;
    right: 3%;
  }
  .page--home .section--banner {
    padding-inline: calc(var(--content-padding) * 2);
    margin-bottom: 45px;
  }
  .page--home .section--info {
    margin-bottom: 58px;
  }
  .page--info.page--ticket .list--info::before,
  .page--info.page--ticket .no-data::before {
    transform: translate(30%, 30%);
  }
  .page--movie .block--category {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .page--movie .block--attention {
    margin-bottom: 30px;
  }
  .page--movie .block--bnr::before {
    bottom: 95%;
    right: 0;
  }
  .page--movie .list--contents li a {
    gap: 22px;
  }
  .page--movie .list--contents li a .num {
    font-size: 2.4rem;
  }
  .page--movie .list--contents li a .list__txt {
    width: calc(100% - 90px);
  }
  .page--blog.category--1 .block--sort:not(.sort--ym)::before {
    content: "";
    display: block;
    position: absolute;
    width: 60px;
    height: auto;
    bottom: 0;
    right: calc(var(--section-inline) * -1);
    z-index: -1;
    transform: translateY(83px);
    aspect-ratio: 3/10;
    background-image: url(/static/aimer/fanclub/contents/item_tail_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
  }
  .page--blog.category--1.page--blog--archive-ym .block--sort:not(.sort--ym)::before {
    bottom: 40px;
  }
  .page--blog.category--1 .list--contents::before {
    right: 0;
    transform: translateY(100px);
  }
  .page--blog.category--1:not(:has(.block--pager)) .list--contents::before {
    transform: translateY(40px);
  }
  .page--blog.category--3 .block--sort:nth-of-type(1) {
    margin-top: 80px;
  }
  .page--blog.category--3 .block--sort:not(.sort--ym)::before {
    width: 90px;
    right: 0;
  }
  .page--blog.category--3:has(.sort--ym) .block--sort::before {
    bottom: 60px;
  }
  .page--blog.category--3 .list--contents::before {
    right: 15px;
    transform: translateY(-50%);
  }
  .page--blog.category--5 .list--contents:has(li .thumb) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 30px;
  }
  .page--qa .block--content-tit {
    margin-bottom: 40px;
  }
  .page--qa .list--qa .tit {
    max-width: 100%;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 3.2em;
    line-height: 1.6;
  }
  .page--qa .list--qa li:first-of-type a {
    padding-top: 0;
  }
  .page--qa .list--qa li:last-of-type a {
    padding-bottom: 0;
  }
  .page--qa .section--detail .tit--q {
    font-size: 1.6rem;
  }
  .page--qa .section--detail .tit--a {
    font-size: 2rem;
  }
  .page--qa .section--detail .txt,
  .page--qa .section--detail .date {
    margin-top: 24px;
  }
  .page--qa .section--detail .block__answer {
    margin-top: 50px;
  }
  .page--archive .list--info {
    margin-bottom: 65px;
  }
  .page--archive .list--info::before {
    right: 0;
  }
  .page--myroom .list--login {
    margin-top: 43px;
  }
  .page--story {
    padding-block: 80px 0;
  }
  .page--story .block--lead {
    margin-block: 45px 60px;
    font-size: min(1.4rem, 3.5vw);
  }
  .page--story .block--tit {
    height: 27px;
  }
  .page--story .block--resident {
    margin-bottom: 80px;
  }
  .page--story .block--resident .block--tit {
    margin-bottom: 35px;
  }
  .page--story .block--resident .txt--sub {
    margin-top: 35px;
    font-size: 0.85rem;
  }
  .page--story .list--resident {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 20px;
  }
  .page--story .list--resident .txt {
    font-size: min(7.1428571429cqw, 1.4rem);
  }
  .page--story .list--resident .name {
    height: 15px;
    margin-block: 20px 15px;
  }
  .page--story .block--credit .block--tit {
    margin-bottom: 30px;
  }
  .page--story .block--credit .list--credit li {
    font-size: 1.5rem;
  }
  .page--story .block--credit .list--credit li .label {
    font-size: 1.2rem;
  }
  .page--entry section > h3.tit {
    font-size: 2.8rem;
  }
  .page--entry .list--contents {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 10px;
  }
  .page--entry .block--benefit .block--tit {
    font-size: 2rem;
  }
  .page--entry .block--benefit .list--benefit {
    padding-top: 50px;
  }
  .page--entry .block--benefit .block--table {
    padding: calc(var(--paper_dec-height) / 4);
  }
  .page--entry .block--benefit .block--table .label :is(th, td) {
    font-size: min(1.5rem, 3.2vw);
  }
  .page--entry .block--benefit .block--table th,
  .page--entry .block--benefit .block--table td {
    padding: 1em 0.5em;
  }
  .page--entry .block--benefit .block--table th {
    width: 50%;
    font-size: 1.4rem;
  }
  .page--entry .block--benefit .block--table td {
    width: 25%;
  }
  .page--entry .block--price .box--annually,
  .page--entry .block--price .box--monthly {
    padding: 30px 0;
  }
  .page--entry .block--price .box--annually .label-benefits,
  .page--entry .block--price .box--monthly .label-benefits {
    display: block;
    margin-block: 0.5em -0.5em;
    font-size: 1.6rem;
  }
  .page--entry .block--price .box--annually::before {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: repeating-linear-gradient(to right, currentColor 0, currentColor 4px, transparent 4px, transparent 8px);
  }
  .page--entry .block--join .list--btn li + li .btn {
    margin-top: 1em;
  }
  .page--support {
    padding-top: calc(var(--section-block) / 2);
  }
  .page--support .section-tit {
    font-size: 2.4rem;
  }
  .page--support .detail_table th {
    width: 6em;
  }
  .page--faq .tit--category {
    font-size: 2.2rem;
  }
  .section--list *:has(> .paper_dec-1),
  .section--list *:has(> .paper_dec-2) {
    padding: 40px 30px;
  }
  .section--detail *:has(> .paper_dec-1),
  .section--detail *:has(> .paper_dec-2),
  .page--questionnaire *:has(> .paper_dec-1),
  .page--questionnaire *:has(> .paper_dec-2) {
    padding: 35px 35px 50px;
  }
}
@media screen and (min-width: 768px) and (max-width: 960px) {
  .page--info .list--info:has(li .thumb),
  .page--blog .list--contents:has(li .thumb) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .section--detail .block--content-tit .mainvisual,
  .section--list .block--content-tit .mainvisual {
    margin-inline: 0;
    border-radius: var(--radius-lg);
    overflow: hidden;
  }
  .section--detail .block--content-tit .mainvisual img,
  .section--list .block--content-tit .mainvisual img {
    -webkit-mask: url(/static/aimer/fanclub/contents/kv/kv_mask_tb.png) no-repeat center/contain;
    mask: url(/static/aimer/fanclub/contents/kv/kv_mask_tb.png) no-repeat center/contain;
  }
  .section--detail .block--content-tit .mainvisual::after,
  .section--list .block--content-tit .mainvisual::after {
    bottom: 8vw;
    left: 6vw;
  }
  /* section--detail */
  .section--detail .detail_head:has(.thumb) .thumb {
    margin-inline: 0;
    border-radius: var(--radius-sm);
  }
  .drawer {
    min-width: 450px;
  }
}
@media screen and (min-width: 1px) and (max-width: 599px) {
  .mobile {
    display: block !important;
  }
  .drawer {
    inset: 0;
    max-width: 100vw;
  }
}