@charset "UTF-8";
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

svg,
img {
  max-width: 100%;
  vertical-align: middle;
}

svg {
  overflow: visible;
}

li {
  list-style: none;
}

button {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

h1, h2, h3, h4, h5, h6, th, dt {
  font-weight: inherit;
}

article, main, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, picture {
  display: block;
}

:root {
  --sans: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "メイリオ", "Meiryo", sans-serif;
  --serif: "游明朝", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", "HG明朝E", "ＭＳ 明朝", serif;
  --font: var(--sans);
  --Josefin: "Josefin Sans", var(--sans);
  --color: #000;
  --color-inverse: #fff;
  --color-accent: #f00;
  --color-character: #ff7cd6;
  --color-character-light: #fceaf1;
  --color-mikado: #ff7cd6;
  --color-mikado-light: #fceaf1;
  --color-sui: #ab92e1;
  --color-sui-light: #e7daf1;
  --color-tsugumi: #67cbe5;
  --color-tsugumi-light: #e6f6fb;
  --color-taiga: #89d967;
  --color-taiga-light: #f0f7e6;
  --color-keito: #8092d6;
  --color-keito-light: #eceff9;
  --color-delta: #91d6c7;
  --color-delta-light: #ecf9f6;
  --color-tetora: #7095ce;
  --color-tetora-light: #e7edf7;
  --color-youji: #ed732e;
  --color-youji-light: #f9d4c0;
  --color-kyousuke: #263b51;
  --color-kyousuke-light: #bcc1c7;
  --color-iori: #2b656c;
  --color-iori-light: #c0d0d2;
  --color-oto: #842c4b;
  --color-oto-light: #dcc9d0;
  --color-yahiro: #6b9076;
  --color-yahiro-light: #dfe7e1;
  --header-height: 3.75rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --header-height: 7.5rem;
  }
}
:root {
  --gap: 0.75rem;
  --padding-section: 6.75rem;
  --padding-page: 16.625rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --gap: 1rem;
    --padding-section: 10.25rem;
    --padding-page: 24.5rem;
  }
}

:root {
  --easeInSine: cubic-bezier(0.47, 0, 0.745, 0.715);
  --easeOutSine: cubic-bezier(0.39, 0.575, 0.565, 1);
  --easeInOutSine: cubic-bezier(0.445, 0.05, 0.55, 0.95);
  --easeInQuad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --easeOutQuad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --easeInOutQuad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --easeInCubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --easeOutCubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --easeInQuart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --easeOutQuart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --easeInOutQuart: cubic-bezier(0.77, 0, 0.175, 1);
  --easeInQuint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --easeOutQuint: cubic-bezier(0.23, 1, 0.32, 1);
  --easeInOutQuint: cubic-bezier(0.86, 0, 0.07, 1);
  --easeInExpo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --easeOutExpo: cubic-bezier(0.19, 1, 0.22, 1);
  --easeInOutExpo: cubic-bezier(1, 0, 0, 1);
  --easeInBack: cubic-bezier(0.6, -0.28, 0.735, 0.045);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --easeInOutBack: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --duration: .3s;
  --easeTheme: var(--easeOutSine);
}

.is-section-dark,
.is-nav-open {
  --color: #fff;
}

[data-character=mikado] {
  --color-character: var(--color-mikado);
  --color-character-light: var(--color-mikado-light);
}

[data-character=sui] {
  --color-character: var(--color-sui);
  --color-character-light: var(--color-sui-light);
}

[data-character=taiga] {
  --color-character: var(--color-taiga);
  --color-character-light: var(--color-taiga-light);
}

[data-character=tsugumi] {
  --color-character: var(--color-tsugumi);
  --color-character-light: var(--color-tsugumi-light);
}

[data-character=keito] {
  --color-character: var(--color-keito);
  --color-character-light: var(--color-keito-light);
}

[data-character=delta] {
  --color-character: var(--color-delta);
  --color-character-light: var(--color-delta-light);
}

[data-character=tetora] {
  --color-character: var(--color-tetora);
  --color-character-light: var(--color-tetora-light);
}

[data-character=youji] {
  --color-character: var(--color-youji);
  --color-character-light: var(--color-youji-light);
}

[data-character=kyousuke] {
  --color-character: var(--color-kyousuke);
  --color-character-light: var(--color-kyousuke-light);
}

[data-character=iori] {
  --color-character: var(--color-iori);
  --color-character-light: var(--color-iori-light);
}

[data-character=oto] {
  --color-character: var(--color-oto);
  --color-character-light: var(--color-oto-light);
}

[data-character=yahiro] {
  --color-character: var(--color-yahiro);
  --color-character-light: var(--color-yahiro-light);
}

/*----------------------------------------------------
	c-paragraph
----------------------------------------------------*/
.c-paragraph {
  font-size: 0.875rem;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .c-paragraph {
    font-size: 1rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-btn
----------------------------------------------------*/
.c-btn-menu {
  position: relative;
  width: 3.75rem;
  height: 3.75rem;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.25s var(--easeTheme);
  transition: -webkit-transform 0.25s var(--easeTheme);
  transition: transform 0.25s var(--easeTheme);
  transition: transform 0.25s var(--easeTheme), -webkit-transform 0.25s var(--easeTheme);
}
@media (hover: none) {
  .c-btn-menu:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-menu:hover, a:hover .c-btn-menu {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
}
@media screen and (max-width: 640px) {
  .c-btn-menu {
    width: 3rem;
    height: 3rem;
  }
}
.c-btn-menu svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.c-btn-menu .c-btn-menu__lines {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
}
.c-btn-menu .c-btn-menu__lines > span {
  display: block;
  position: absolute;
  left: 50%;
  height: 1px;
  width: 1.165rem;
  margin-left: -0.5825rem;
  -webkit-transition: top 0.35s var(--easeTheme), width 0.3s var(--easeTheme), margin-left 0.3s var(--easeTheme), -webkit-transform 0.3s var(--easeTheme);
  transition: top 0.35s var(--easeTheme), width 0.3s var(--easeTheme), margin-left 0.3s var(--easeTheme), -webkit-transform 0.3s var(--easeTheme);
  transition: top 0.35s var(--easeTheme), transform 0.3s var(--easeTheme), width 0.3s var(--easeTheme), margin-left 0.3s var(--easeTheme);
  transition: top 0.35s var(--easeTheme), transform 0.3s var(--easeTheme), width 0.3s var(--easeTheme), margin-left 0.3s var(--easeTheme), -webkit-transform 0.3s var(--easeTheme);
}
@media screen and (max-width: 640px) {
  .c-btn-menu .c-btn-menu__lines > span {
    width: 0.931875rem;
    margin-left: -0.46625rem;
  }
}
.c-btn-menu .c-btn-menu__lines > span:nth-child(1) {
  top: calc(50% - 0.35rem);
  background: var(--color-mikado);
}
@media screen and (max-width: 640px) {
  .c-btn-menu .c-btn-menu__lines > span:nth-child(1) {
    top: calc(50% - 0.28rem);
  }
}
.c-btn-menu .c-btn-menu__lines > span:nth-child(2) {
  top: 50%;
  background: var(--color-sui);
}
.c-btn-menu .c-btn-menu__lines > span:nth-child(3) {
  top: calc(50% + 0.35rem);
  background: var(--color-taiga);
}
@media screen and (max-width: 640px) {
  .c-btn-menu .c-btn-menu__lines > span:nth-child(3) {
    top: calc(50% + 0.28rem);
  }
}
.c-btn-menu.is-nav-open .c-btn-menu__lines > span:nth-child(1) {
  top: 50%;
  -webkit-transform: scale(-1, -1) rotate(-35deg);
          transform: scale(-1, -1) rotate(-35deg);
}
.c-btn-menu.is-nav-open .c-btn-menu__lines > span:nth-child(2) {
  width: 0;
  margin-left: 0;
}
.c-btn-menu.is-nav-open .c-btn-menu__lines > span:nth-child(3) {
  top: 50%;
  -webkit-transform: scale(-1, -1) rotate(35deg);
          transform: scale(-1, -1) rotate(35deg);
}

.c-btn-close {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1.875rem;
  height: 1.875rem;
  border-radius: 50%;
  background: var(--color-character);
  border: 1px solid transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.2s var(--easeTheme), border-color 0.2s var(--easeTheme);
  transition: background-color 0.2s var(--easeTheme), border-color 0.2s var(--easeTheme);
}
.c-btn-close::before, .c-btn-close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1rem;
  height: 2px;
  background: #fff;
  -webkit-transition: background-color 0.2s var(--easeTheme);
  transition: background-color 0.2s var(--easeTheme);
}
.c-btn-close::before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.c-btn-close::after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
@media (hover: none) {
  .c-btn-close:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-close:hover, a:hover .c-btn-close {
    background: #fff;
    border-color: var(--color-character);
  }
  .c-btn-close:hover::before, .c-btn-close:hover::after, a:hover .c-btn-close::before, a:hover .c-btn-close::after {
    width: 1.395625rem;
    background: var(--color-character);
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-close {
    width: 3.125rem;
    height: 3.125rem;
  }
}

.c-btn-round {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 17.375rem;
  height: 3.301875rem;
  border-radius: 2.375rem;
  background: #fff;
  border: 1px solid #000;
  -webkit-box-shadow: 0.3125rem 0.5rem 0 0 #000;
          box-shadow: 0.3125rem 0.5rem 0 0 #000;
  cursor: pointer;
  -webkit-transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme), -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  font-family: var(--Josefin);
  font-size: 1.375rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  text-transform: capitalize;
  color: #000;
}
@media (hover: none) {
  .c-btn-round:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-round:hover, a:hover .c-btn-round {
    -webkit-box-shadow: 0 0 0 0 #000;
            box-shadow: 0 0 0 0 #000;
    -webkit-transform: translate(0.3125rem, 0.5rem);
            transform: translate(0.3125rem, 0.5rem);
  }
}

.c-btn-sns {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 1.625rem;
  background: #fff;
  border: 1px solid #000;
  -webkit-box-shadow: 0.3125rem 0.3125rem 0 0 #000;
          box-shadow: 0.3125rem 0.3125rem 0 0 #000;
  cursor: pointer;
  -webkit-transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme), -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
}
.c-btn-sns svg {
  width: 1.625rem;
  height: 1.625rem;
  fill: #000;
}
@media (hover: none) {
  .c-btn-sns:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-sns:hover, a:hover .c-btn-sns {
    -webkit-box-shadow: 0 0 0 0 #000;
            box-shadow: 0 0 0 0 #000;
    -webkit-transform: translate(0.3125rem, 0.3125rem);
            transform: translate(0.3125rem, 0.3125rem);
  }
}

.c-btn-sns__tooltip {
  position: absolute;
  bottom: calc(100% + 0.625rem);
  left: 50%;
  -webkit-transform: translate(-50%, 0.25rem);
          transform: translate(-50%, 0.25rem);
  white-space: nowrap;
  padding: 0.375rem 0.75rem;
  border-radius: 0.375rem;
  background: #000;
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: opacity 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: opacity 0.2s var(--easeTheme), transform 0.2s var(--easeTheme);
  transition: opacity 0.2s var(--easeTheme), transform 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
}
.c-btn-sns__tooltip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-style: solid;
  border-width: 0.3125rem 0.3125rem 0 0.3125rem;
  border-color: #000 transparent transparent transparent;
}
.is-copied > .c-btn-sns__tooltip {
  opacity: 1;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.c-btn-angle {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: #000;
  border: 1px solid transparent;
  cursor: pointer;
  -webkit-transition: background-color 0.2s var(--easeTheme), border-color 0.2s var(--easeTheme);
  transition: background-color 0.2s var(--easeTheme), border-color 0.2s var(--easeTheme);
}
.c-btn-angle::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-style: solid;
  border-color: #fff;
  border-width: 0 2px 2px 0;
  -webkit-transform: rotate(-45deg) translateX(-0.0625rem);
          transform: rotate(-45deg) translateX(-0.0625rem);
  -webkit-transition: border-color 0.2s var(--easeTheme);
  transition: border-color 0.2s var(--easeTheme);
}
.c-btn-angle--prev::before {
  -webkit-transform: rotate(135deg) translateX(-0.0625rem);
          transform: rotate(135deg) translateX(-0.0625rem);
}
.c-btn-angle--top::before {
  -webkit-transform: rotate(-135deg) translateY(-0.0625rem);
          transform: rotate(-135deg) translateY(-0.0625rem);
}
@media (hover: none) {
  .c-btn-angle:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-angle:hover, a:hover .c-btn-angle {
    background: #fff;
    border-color: #000;
  }
  .c-btn-angle:hover::before, a:hover .c-btn-angle::before {
    border-color: #000;
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-angle {
    width: 2.5rem;
    height: 2.5rem;
  }
  .c-btn-angle::before {
    width: 0.5rem;
    height: 0.5rem;
  }
}

.c-btn-expansion {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.875rem;
  height: 1.875rem;
  padding: 0;
  border-radius: 50%;
  background: #fff;
  border: 1px solid #000;
  -webkit-box-shadow: 0.25rem 0.25rem 0 0 #000;
          box-shadow: 0.25rem 0.25rem 0 0 #000;
  cursor: pointer;
  -webkit-transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme), -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
}
.c-btn-expansion svg {
  width: 0.75rem;
  height: 0.75rem;
  fill: var(--color-character);
}
@media (hover: none) {
  .c-btn-expansion:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-expansion:hover, a:hover .c-btn-expansion {
    -webkit-box-shadow: 0 0 0 0 #000;
            box-shadow: 0 0 0 0 #000;
    -webkit-transform: translate(0.25rem, 0.25rem);
            transform: translate(0.25rem, 0.25rem);
  }
}
@media screen and (min-width: 1024px) {
  .c-btn-expansion {
    width: 2.625rem;
    height: 2.625rem;
  }
  .c-btn-expansion svg {
    width: 1.25rem;
    height: 1.25rem;
  }
}

.c-btn-arrow, .c-btn-drawer__arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0;
  width: 1.5rem;
  height: 1.5rem;
  background: #000;
  border-radius: 100%;
  border: 1px solid transparent;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.c-btn-arrow svg, .c-btn-drawer__arrow svg {
  width: 100%;
  height: auto;
  stroke: #fff;
}
@media (hover: none) {
  .c-btn-arrow:active, .c-btn-drawer__arrow:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-arrow:hover, .c-btn-drawer__arrow:hover, a:hover .c-btn-arrow, a:hover .c-btn-drawer__arrow {
    background: #fff;
    border-color: #000;
  }
  .c-btn-arrow:hover svg, .c-btn-drawer__arrow:hover svg, a:hover .c-btn-arrow svg, a:hover .c-btn-drawer__arrow svg {
    stroke: #000;
  }
}

.c-btn-official-x {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 0.9375rem;
  width: 37.5rem;
  height: 7.4375rem;
  background: -webkit-gradient(linear, left top, right top, from(#ed92ba), to(#4fbfee));
  background: linear-gradient(90deg, #ed92ba, #4fbfee);
  border: 1px solid #000;
  -webkit-box-shadow: 0.5rem 0.5rem 0 0 #000;
          box-shadow: 0.5rem 0.5rem 0 0 #000;
  cursor: pointer;
  -webkit-transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme);
  transition: box-shadow 0.2s var(--easeTheme), transform 0.2s var(--easeTheme), -webkit-box-shadow 0.2s var(--easeTheme), -webkit-transform 0.2s var(--easeTheme);
}
.c-btn-official-x svg {
  width: 2.1875rem;
  height: 2.1875rem;
  fill: #fff;
}
.c-btn-official-x span {
  font-family: var(--Josefin);
  font-size: 1.75rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
}
@media (hover: none) {
  .c-btn-official-x:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-official-x:hover, a:hover .c-btn-official-x {
    -webkit-box-shadow: 0 0 0 0 #000;
            box-shadow: 0 0 0 0 #000;
    -webkit-transform: translate(0.5rem, 0.5rem);
            transform: translate(0.5rem, 0.5rem);
  }
}

.c-btn-official-x--drawer {
  width: 100%;
  height: 3.5625rem;
  background: #ed92ba;
}
.c-btn-official-x--drawer svg {
  width: 1.25rem;
  height: 1.25rem;
}
.c-btn-official-x--drawer span {
  font-size: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .c-btn-official-x--drawer {
    height: 4rem;
    background: #ed92ba;
    border: 1px solid #000;
  }
  .c-btn-official-x--drawer svg {
    width: 1.625rem;
    height: 1.625rem;
  }
  .c-btn-official-x--drawer span {
    font-size: 1rem;
  }
}

.c-btn-app-download {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 30.0625rem;
  height: 3.8125rem;
  background: #fff;
  border: 1px solid #3e3a39;
  cursor: pointer;
  -webkit-transition: background-color 0.2s var(--easeTheme), color 0.2s var(--easeTheme);
  transition: background-color 0.2s var(--easeTheme), color 0.2s var(--easeTheme);
  font-family: "Source Han Sans JP", var(--sans);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #3e3a39;
}
@media (hover: none) {
  .c-btn-app-download:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .c-btn-app-download:hover, a:hover .c-btn-app-download {
    background: #3e3a39;
    color: #fff;
  }
}

.c-btn-drawer {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 20px 0;
  width: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--Josefin);
  font-size: 18px;
  color: #fff;
  border-bottom: 1px solid #fff;
}
@media screen and (min-width: 1024px) {
  .c-btn-drawer {
    padding: 22px 0;
    font-size: 24px;
  }
}

.c-btn-drawer__arrow {
  margin-left: auto;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	フォーム
----------------------------------------------------*/
[hidden] {
  display: none !important;
}

[disabled] {
  cursor: not-allowed;
}

:focus:not(:focus-visible) {
  outline: none;
}

.sr-only {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
  left: -9999px;
  top: -9999px;
}

input,
select,
label {
  vertical-align: middle;
  color: var(--color);
}

[type=text] {
  line-height: normal;
}

input[type=text],
input[type=email],
input[type=tel],
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--color);
  font-family: var(--font);
  font-size: 16px;
  line-height: 1.5;
}

input[type=submit],
button {
  cursor: pointer;
  border: none;
}

textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  resize: none;
  outline: none;
  background: transparent;
  color: var(--color);
  font-family: var(--font);
  font-size: 16px;
}

*:focus {
  outline: none;
}

/*----------------------------------------------------
	フォント
----------------------------------------------------*/
html {
  font-size: 16px;
}
@media screen and (max-width: 640px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  html {
    font-size: 2.1333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  html {
    font-size: 1.1713030747vw;
  }
}
body {
  font-family: var(--font);
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-weight: 500;
  word-wrap: break-word;
  color: var(--color);
}

.serif {
  font-family: var(--serif);
}

/*----------------------------------------------------
	レスポンシブ
----------------------------------------------------*/
@media screen and (min-width: 641px) {
  .sp {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .sp-tab {
    display: none;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .pc-tab {
    display: none;
  }
}

@media screen and (max-width: 640px) {
  .tab {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .tab {
    display: none;
  }
}

/*----------------------------------------------------
	リンク
----------------------------------------------------*/
button,
a {
  color: var(--color);
  text-decoration: none;
  -webkit-transition: var(--duration) var(--easeTheme);
  transition: var(--duration) var(--easeTheme);
  cursor: pointer;
}
@media (hover: hover) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media (hover: none) {
  a, button {
    -webkit-touch-callout: none;
    -webkit-tap-highlight-color: transparent;
  }
}
[data-scroll-target] {
  content: "";
  display: block;
  position: relative;
  pointer-events: none;
  top: calc(-1 * var(--header-height));
}

/*----------------------------------------------------
	コンテナ
----------------------------------------------------*/
.l-container {
  margin-left: auto;
  margin-right: auto;
  width: 100%;
}
@media screen and (max-width: 640px) {
  .l-container {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .l-container {
    padding-left: 5.3333333333vw;
    padding-right: 5.3333333333vw;
  }
}
@media screen and (min-width: 1024px) {
  .l-container {
    padding-left: 6.0761346999vw;
    padding-right: 6.0761346999vw;
  }
}
/*----------------------------------------------------
	body
----------------------------------------------------*/
body {
  position: relative;
}
.l-body-wrap {
  width: 100%;
  min-height: 100%;
}
@media screen and (max-width: 1023px) {
  .l-body-wrap {
    overflow: hidden;
  }
}

/*----------------------------------------------------
	ヘッダー
----------------------------------------------------*/
.l-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
.l-header .l-header-logo {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  width: 8.8125rem;
  height: 3rem;
  padding-inline: 1rem;
  background: #fff;
  pointer-events: auto;
}
.l-header .l-header-logo__logo,
.l-header .l-header-logo__jr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.l-header .l-header-logo__logo img,
.l-header .l-header-logo__jr img {
  display: block;
  width: auto;
}
.l-header .l-header-logo__logo {
  width: 5.125rem;
}
.l-header .l-header-logo__jr {
  width: 1.25rem;
}
.l-header .l-header-menu {
  position: absolute;
  z-index: 10;
  top: 0.625rem;
  right: 0.375rem;
  pointer-events: auto;
}
@media screen and (min-width: 1024px) {
  .l-header .l-header-logo {
    gap: 0.625rem;
    width: 12.5rem;
    height: 4.25rem;
  }
  .l-header .l-header-logo__logo {
    width: 7.25rem;
  }
  .l-header .l-header-logo__jr {
    width: 1.8125rem;
  }
  .l-header .l-header-menu {
    top: 0.9375rem;
    right: 1.125rem;
    padding-inline: 1.25rem;
  }
}

/*----------------------------------------------------
	l-header-drawer
----------------------------------------------------*/
.l-header-drawer {
  position: absolute;
  right: 1.875rem;
  top: 1.875rem;
  opacity: 0;
  pointer-events: none;
}
.is-nav-closing .l-header-drawer, .is-nav-open .l-header-drawer {
  opacity: 1;
  pointer-events: auto;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer {
    right: 2.625rem;
    top: 2.625rem;
  }
}

.l-header-drawer__bg {
  display: block;
  width: 100vw;
  height: 100vh;
  position: absolute;
  right: -1.875rem;
  top: -1.875rem;
  pointer-events: none;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  -webkit-transition: var(--duration) var(--easeTheme);
  transition: var(--duration) var(--easeTheme);
}
.is-nav-open .l-header-drawer__bg {
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__bg {
    right: -2.625rem;
    top: -2.625rem;
  }
}

.l-header-drawer__wrap {
  position: relative;
  width: 18.28125rem;
  border-radius: 1.25rem;
  padding: 1rem 1.5rem 2.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#eb93bb), to(#52beed));
  background: linear-gradient(#eb93bb 0%, #52beed 100%);
  -ms-scroll-chaining: none;
      overscroll-behavior: none;
  opacity: 0;
  -webkit-transform: scale(0.8);
          transform: scale(0.8);
  -webkit-transition: var(--duration) var(--easeOutBack);
  transition: var(--duration) var(--easeOutBack);
  will-change: transform;
}
.is-nav-open .l-header-drawer__wrap {
  opacity: 1;
  -webkit-transform: scale(1);
          transform: scale(1);
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__wrap {
    width: 22.980625rem;
    padding: 1.25rem 1.75rem 2.5rem;
  }
}

.l-header-drawer__sns {
  margin-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__sns {
    margin-top: 2.5rem;
  }
}

.l-header-drawer__app {
  margin-top: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__app {
    margin-top: 2.5rem;
  }
}

.l-header-drawer__app-head {
  font-weight: bold;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}
.l-header-drawer__app-head:after {
  display: block;
  margin: 0.75rem auto 0;
  content: "";
  width: 1.5rem;
  height: 0.125rem;
  background: #fff;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__app-head {
    font-size: 0.875rem;
  }
  .l-header-drawer__app-head:after {
    margin-top: 1.25rem;
    width: 1.875rem;
    height: 0.1875rem;
  }
}

.l-header-drawer__app-list {
  margin-top: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1rem;
}
@media screen and (min-width: 1024px) {
  .l-header-drawer__app-list {
    margin-top: 1.25rem;
  }
}

/*----------------------------------------------------
	main
----------------------------------------------------*/
/*----------------------------------------------------
	フッター
----------------------------------------------------*/
.l-footer {
  background-color: #000;
  padding-block: 1.875rem;
}
@media screen and (min-width: 1024px) {
  .l-footer {
    padding-block: 2.3125rem;
  }
}

.l-footer__wrap {
  position: relative;
  padding-inline: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .l-footer__wrap {
    padding-inline: 0;
    max-width: 62.5rem;
    margin-inline: auto;
  }
}

.l-footer__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .l-footer__nav {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.l-footer__nav li {
  font-size: 0.875rem;
  line-height: 2;
}
@media screen and (min-width: 1024px) {
  .l-footer__nav li {
    font-size: 0.75rem;
    line-height: 1.5;
  }
  .l-footer__nav li:not(:last-child)::after {
    content: "|";
    display: inline-block;
    margin-inline: 2em;
    color: #aeaeae;
  }
}
.l-footer__nav a {
  color: #fff;
  font-weight: 400;
}

.l-footer__copyright {
  margin-top: 1.375rem;
  padding-top: 1.125rem;
  border-top: 1px solid #aeaeae;
  color: #fff;
  font-size: 0.75rem;
  line-height: 1.6;
  font-weight: 400;
}
@media screen and (min-width: 1024px) {
  .l-footer__copyright {
    margin-top: 2.0625rem;
    padding-top: 1.0625rem;
  }
}

.l-footer__totop.l-footer__totop {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #868686;
}
@media screen and (min-width: 1024px) {
  .l-footer__totop.l-footer__totop {
    display: none;
  }
}

/*----------------------------------------------------
	...
----------------------------------------------------*/
.p-top {
  opacity: 0;
  -webkit-transition: opacity 1s var(--easeTheme);
  transition: opacity 1s var(--easeTheme);
}
body.windowLoaded .p-top {
  opacity: 1;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	.p-top-mv
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top-story
----------------------------------------------------*/
.p-top-story {
  position: relative;
  padding: 3.75rem 0 0;
  background-image: url(../img/p-top-story-bg.webp);
  background-size: cover;
  background-position: center;
}
@media screen and (min-width: 1024px) {
  .p-top-story {
    padding: 6rem 0 0;
  }
}

.p-top-story__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-top-story__head {
  margin-bottom: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__head {
    margin-bottom: 3.5rem;
  }
}
.p-top-story__head img {
  display: block;
  width: 15.3125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__head img {
    width: 22.125rem;
  }
}

.p-top-story__desc {
  color: #fff;
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.08em;
  font-size: 1rem;
  line-height: 2;
}
.p-top-story__desc p + p {
  margin-top: 1.5em;
}
@media screen and (min-width: 1024px) {
  .p-top-story__desc {
    font-size: 1.75rem;
    line-height: 1.78;
  }
}

.p-top-story__map {
  position: relative;
  width: 100%;
  height: 60.625rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__map {
    height: 52.5rem;
    margin-top: 0;
  }
}

.p-top-story__map-map {
  padding-inline: 5.3333333333vw;
}
.p-top-story__map-map svg,
.p-top-story__map-map img {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.p-top-story__map-map {
  -webkit-perspective: 1400px;
          perspective: 1400px;
}
.p-top-story__map-map svg g {
  opacity: 0;
  transform-box: fill-box;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: opacity 0.7s var(--easeOutQuad), -webkit-transform 2s cubic-bezier(0.61, -0.13, 0.59, 1.29);
  transition: opacity 0.7s var(--easeOutQuad), -webkit-transform 2s cubic-bezier(0.61, -0.13, 0.59, 1.29);
  transition: opacity 0.7s var(--easeOutQuad), transform 2s cubic-bezier(0.61, -0.13, 0.59, 1.29);
  transition: opacity 0.7s var(--easeOutQuad), transform 2s cubic-bezier(0.61, -0.13, 0.59, 1.29), -webkit-transform 2s cubic-bezier(0.61, -0.13, 0.59, 1.29);
  -webkit-filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
          filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
}
.p-top-story__map-map [id=kyoto] {
  -webkit-transform: translate3d(-560px, -660px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(-560px, -660px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}
.p-top-story__map-map [id=gifu] {
  -webkit-transform: translate3d(460px, -820px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(460px, -820px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.05s;
          transition-delay: 0.05s;
}
.p-top-story__map-map [id=fukui] {
  -webkit-transform: translate3d(760px, -460px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(760px, -460px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}
.p-top-story__map-map [id=toyama] {
  -webkit-transform: translate3d(900px, 150px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(900px, 150px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}
.p-top-story__map-map [id=niigata] {
  -webkit-transform: translate3d(660px, 760px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(660px, 760px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.p-top-story__map-map [id=yamaguchi] {
  -webkit-transform: translate3d(150px, 900px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(150px, 900px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.25s;
          transition-delay: 0.25s;
}
.p-top-story__map-map [id=tottori] {
  -webkit-transform: translate3d(-460px, 820px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(-460px, 820px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.p-top-story__map-map [id=shimane] {
  -webkit-transform: translate3d(-820px, 400px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(-820px, 400px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.35s;
          transition-delay: 0.35s;
}
.p-top-story__map-map [id=okayama] {
  -webkit-transform: translate3d(-660px, -560px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(-660px, -560px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.p-top-story__map-map [id=hiroshima] {
  -webkit-transform: translate3d(560px, -720px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(560px, -720px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.45s;
          transition-delay: 0.45s;
}
.p-top-story__map-map [id=aichi] {
  -webkit-transform: translate3d(860px, -150px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(860px, -150px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.p-top-story__map-map [id=awaji] {
  -webkit-transform: translate3d(820px, 560px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(820px, 560px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.55s;
          transition-delay: 0.55s;
}
.p-top-story__map-map [id=hyogo] {
  -webkit-transform: translate3d(360px, 860px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(360px, 860px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.p-top-story__map-map [id=wakayama] {
  -webkit-transform: translate3d(-260px, 900px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(-260px, 900px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 0.65s;
          transition-delay: 0.65s;
}
.p-top-story__map-map [id=mie] {
  -webkit-transform: translate3d(-760px, 620px, 0) rotate3d(1, 1, 1, 220deg);
          transform: translate3d(-760px, 620px, 0) rotate3d(1, 1, 1, 220deg);
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}
.p-top-story__map-map [id=osaka] {
  -webkit-transform: translate3d(-900px, -260px, 0) rotate3d(1, 1, 1, -220deg);
          transform: translate3d(-900px, -260px, 0) rotate3d(1, 1, 1, -220deg);
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
@media screen and (min-width: 1024px) {
  .p-top-story__map-map {
    display: block;
    position: absolute;
    left: 50%;
    top: 42%;
    width: 45rem;
    padding-inline: 0;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
}

.p-top-story__map.is-visible .p-top-story__map-map svg g {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) rotate3d(1, 1, 1, 0deg);
          transform: translate3d(0, 0, 0) rotate3d(1, 1, 1, 0deg);
}

.p-top-story__map-area {
  position: relative;
}

.p-top-story__pin {
  position: absolute;
  width: 7.1875rem;
}
.p-top-story__pin img {
  display: block;
  width: 100%;
  -webkit-box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.55);
          box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.55);
}
.p-top-story__pin figcaption {
  position: absolute;
  left: -0.2em;
  bottom: 0;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(0deg);
          transform: rotate(0deg);
  font-family: var(--Josefin);
  font-size: 1rem;
  font-style: italic;
  letter-spacing: 0.05em;
  line-height: 0.9;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin figcaption {
    font-size: 2.3125rem;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin {
    width: 12.25rem;
  }
}

.p-top-story__pin--osaka {
  left: 1.5625rem;
  top: -2.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--osaka {
    left: 8.125rem;
    top: 3.9375rem;
  }
}

.p-top-story__pin--kanazawa {
  left: 1.6875rem;
  top: 19.625rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--kanazawa {
    left: 67.875rem;
    top: 2.375rem;
  }
}

.p-top-story__pin--tottori {
  left: 12.125rem;
  top: 11.375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--tottori {
    left: 2.75rem;
    top: 20.3125rem;
  }
}

.p-top-story__pin--shimane {
  left: 15rem;
  top: 21.5625rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--shimane {
    left: 71.875rem;
    top: 18.125rem;
  }
}

.p-top-story__pin--kobe {
  left: 3.25rem;
  top: 8rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--kobe {
    left: 15.4375rem;
    top: 35.5rem;
  }
}

.p-top-story__pin--kyoto {
  left: 13.25rem;
  top: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--kyoto {
    left: 31.75rem;
    top: 33.75rem;
  }
}

.p-top-story__pin--okayama {
  left: 5.9375rem;
  top: 29.875rem;
}
@media screen and (min-width: 1024px) {
  .p-top-story__pin--okayama {
    left: 60.125rem;
    top: 33.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top-cta
----------------------------------------------------*/
.p-top-cta {
  padding-block: 2.5rem 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta {
    margin-top: 9.25rem;
    padding-block: 3.75rem 3.75rem;
    border-top: 1px solid #000;
  }
}

.p-top-cta__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-top-cta__col {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__col {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: auto;
  }
}

.p-top-cta__pic {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__pic {
    display: block;
    width: 15.375rem;
    position: relative;
    line-height: 0;
    -ms-flex-item-align: start;
        align-self: flex-start;
  }
  .p-top-cta__pic img {
    position: absolute;
    bottom: 0;
    display: block;
    width: 100%;
    height: auto;
  }
}

@media screen and (min-width: 1024px) {
  .p-top-cta__col--sns .p-top-cta__pic {
    margin-left: 1.625rem;
  }
  .p-top-cta__col--sns .p-top-cta__pic img {
    bottom: -0.5rem;
  }
}

.p-top-cta__divider {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__divider {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    width: 1px;
    background: #000;
  }
}

.p-top-cta__share {
  margin-top: 2.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__share {
    /* margin-top: 1.8125rem; */

    /* X復活したら消すここから */
    margin-top: 0.5rem;
    border: #000 solid 1px;
    padding: 1.5rem 3rem;
    /* ここまで */
    
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    gap: 3.75rem;
  }
}

.p-top-cta__share-label {
  font-family: var(--Josefin);
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__share-label {
    font-size: 1.375rem;
  }
}

.p-top-cta__share-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.3125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__share-list {
    gap: 1.875rem;
  }
}

.p-top-cta__col--app {
  margin-top: 2.5625rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__col--app {
    margin-top: 0;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .p-top-cta__col--app .p-top-cta__pic {
    width: 14.5rem;
    -ms-flex-item-align: end;
        align-self: flex-end;
  }
}

.p-top-cta__app-title {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 30.0625rem;
  height: 3.8125rem;
  background: #fff;
  border: 1px solid #3e3a39;
  -webkit-transition: background-color 0.2s var(--easeTheme), color 0.2s var(--easeTheme);
  transition: background-color 0.2s var(--easeTheme), color 0.2s var(--easeTheme);
  font-family: "Source Han Sans JP", var(--sans);
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #3e3a39;
}

.p-top-cta__badges {
  margin-top: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  gap: 0.9375rem;
}
.p-top-cta__badges img {
  display: block;
  width: 8.25rem;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__badges {
    gap: 1.25rem;
  }
  .p-top-cta__badges img {
    width: 11.1875rem;
  }
}

.p-top-cta__note {
  margin-top: 1.25rem;
  font-size: 0.625rem;
  line-height: 1.6;
  color: #000;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-cta__note {
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    margin-top: 1.25rem;
  }
}

.p-top-cta .c-btn-official-x,
.p-top-cta .p-top-cta__app-title {
  width: 20.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta .c-btn-official-x,
  .p-top-cta .p-top-cta__app-title {
    width: 37.5rem;
  }
}

.p-top-cta .c-btn-official-x {
  height: 4.25rem;
  gap: 0.5rem;
}
.p-top-cta .c-btn-official-x svg {
  width: 1.25rem;
  height: 1.25rem;
}
.p-top-cta .c-btn-official-x span {
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta .c-btn-official-x {
    height: 7.4375rem;
    gap: 0.9375rem;
  }
  .p-top-cta .c-btn-official-x svg {
    width: 2.1875rem;
    height: 2.1875rem;
  }
  .p-top-cta .c-btn-official-x span {
    font-size: 1.75rem;
  }
}

.p-top-cta .p-top-cta__app-title {
  width: 20.9375rem;
  height: 3.1875rem;
  font-size: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-top-cta .p-top-cta__app-title {
    width: 30.0625rem;
    height: 3.8125rem;
    font-size: 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
.p-top-mv {
  position: relative;
  overflow: hidden;
}

.p-top-mv__bg {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}
.p-top-mv__bg img {
  width: 55.0625rem;
  max-width: none;
}
@media screen and (max-width: 640px) {
  .p-top-mv__bg img {
    position: absolute;
    left: calc(50% - 27.5rem);
  }
}
@media screen and (min-width: 641px) and (max-width: 1023px) {
  .p-top-mv__bg img {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__bg img {
    width: 100%;
  }
}

.p-top-mv__type {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 3rem;
  pointer-events: none;
}
.p-top-mv__type img {
  height: 2.875rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__type {
    top: 3.75rem;
  }
  .p-top-mv__type img {
    height: 10.5rem;
  }
}

.p-top-mv__copy {
  position: absolute;
  top: 18.24rem;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  z-index: 30;
}
.p-top-mv__copy p {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.25rem;
  height: 1.625rem;
  background: -webkit-gradient(linear, left top, left bottom, from(#eb93bb), to(#52beed));
  background: linear-gradient(#eb93bb 0%, #52beed 100%);
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  text-align: center;
  color: #fff;
}
.p-top-mv__copy p .p-top-mv__copy-bar {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.1875rem;
  height: 0.125rem;
  margin-inline: 0.25rem;
  background: #fff;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__copy {
    top: 40.9375rem;
    left: calc(50% - 37.5rem);
  }
  .p-top-mv__copy p {
    height: 3.25rem;
    font-size: 3.25rem;
  }
  .p-top-mv__copy p .p-top-mv__copy-bar {
    width: 6.375rem;
    height: 0.25rem;
  }
}

.p-top-mv__copy-pc {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__copy-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-top-mv__copy-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5625rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__copy-sp {
    display: none;
  }
}

.p-top-mv__type2 {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 37.25rem;
  pointer-events: none;
}
.p-top-mv__type2 img {
  max-width: none;
  height: 3.15rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__type2 {
    top: 37.375rem;
    left: 2.375rem;
  }
  .p-top-mv__type2 img {
    height: 10.65625rem;
  }
}

.p-top-mv__character-pic {
  position: absolute;
  opacity: 0;
  -webkit-transform: translateY(1.875rem) scale(0.8);
          transform: translateY(1.875rem) scale(0.8);
  -webkit-transition: opacity 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), transform 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
}
.p-top-mv__character-pic:nth-child(1) {
  -webkit-transition-delay: 0.19s;
          transition-delay: 0.19s;
}
.p-top-mv__character-pic:nth-child(2) {
  -webkit-transition-delay: 0.28s;
          transition-delay: 0.28s;
}
.p-top-mv__character-pic:nth-child(3) {
  -webkit-transition-delay: 0.37s;
          transition-delay: 0.37s;
}
.p-top-mv__character-pic:nth-child(4) {
  -webkit-transition-delay: 0.46s;
          transition-delay: 0.46s;
}
.p-top-mv__character-pic:nth-child(5) {
  -webkit-transition-delay: 0.55s;
          transition-delay: 0.55s;
}
.p-top-mv__character-pic:nth-child(6) {
  -webkit-transition-delay: 0.64s;
          transition-delay: 0.64s;
}
.p-top-mv__character-pic:nth-child(7) {
  -webkit-transition-delay: 0.73s;
          transition-delay: 0.73s;
}
.p-top-mv__character-pic:nth-child(8) {
  -webkit-transition-delay: 0.82s;
          transition-delay: 0.82s;
}
.p-top-mv__character-pic:nth-child(9) {
  -webkit-transition-delay: 0.91s;
          transition-delay: 0.91s;
}
.p-top-mv__character-pic:nth-child(10) {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}
.p-top-mv__character-pic:nth-child(11) {
  -webkit-transition-delay: 1.09s;
          transition-delay: 1.09s;
}
.p-top-mv__character-pic:nth-child(12) {
  -webkit-transition-delay: 1.18s;
          transition-delay: 1.18s;
}
body.windowLoaded .p-top-mv__character-pic {
  opacity: 1;
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
}

.p-top-mv__character-pic--mikado {
  z-index: 20;
  left: calc(50% - 5.125rem);
  top: 25.1875rem;
  width: 7.5625rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--mikado {
    width: 14.25rem;
    left: calc(50% - 12.125rem);
    top: 11.3125rem;
  }
}

.p-top-mv__character-pic--sui {
  z-index: 19;
  left: calc(50% - 0.4375rem);
  top: 24.5625rem;
  width: 7.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--sui {
    width: 14.419375rem;
    left: calc(50% - 3.3125rem);
    top: 10.125rem;
  }
}

.p-top-mv__character-pic--taiga {
  z-index: 18;
  left: calc(50% - 8.6875rem);
  top: 22.855rem;
  width: 8.52375rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__character-pic--taiga {
    z-index: 17;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--taiga {
    width: 15.98625rem;
    left: calc(50% - 19.1875rem);
    top: 10.3125rem;
  }
}

.p-top-mv__character-pic--tsugumi {
  z-index: 17;
  left: calc(50% - 12.25rem);
  top: 22.4375rem;
  width: 6.601875rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__character-pic--tsugumi {
    z-index: 18;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--tsugumi {
    z-index: 18;
    width: 12.380625rem;
    left: calc(50% - 25.1875rem);
    top: 12.75rem;
  }
}

.p-top-mv__character-pic--keito {
  z-index: 16;
  left: calc(50% - 11.8125rem);
  top: 7.0625rem;
  width: 6.344375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--keito {
    width: 11.815rem;
    left: calc(50% - 30.125rem);
    top: 9.75rem;
  }
}

.p-top-mv__character-pic--delta {
  z-index: 16;
  left: calc(50% + 2.5625rem);
  top: 22.625rem;
  width: 5.7075rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--delta {
    width: 10.566875rem;
    left: calc(50% + 5.125rem);
    top: 10.875rem;
  }
}

.p-top-mv__character-pic--tetora {
  z-index: 15;
  left: calc(50% + 5.5625rem);
  top: 20.6875rem;
  width: 5.62375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--tetora {
    width: 10.5875rem;
    left: calc(50% + 11.625rem);
    top: 11.125rem;
  }
}

.p-top-mv__character-pic--youji {
  z-index: 13;
  left: calc(50% - 5.3125rem);
  top: 4.6875rem;
  width: 5.833125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--youji {
    width: 11.000625rem;
    left: calc(50% - 36.3125rem);
    top: 10.625rem;
  }
}

.p-top-mv__character-pic--kyousuke {
  z-index: 12;
  left: calc(50% - 1.1875rem);
  top: 4.125rem;
  width: 5.833125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--kyousuke {
    width: 11.180625rem;
    left: calc(50% + 17.5625rem);
    top: 9.9375rem;
  }
}

.p-top-mv__character-pic--iori {
  z-index: 11;
  left: calc(50% - 8.9375rem);
  top: 6.9375rem;
  width: 5.82375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--iori {
    width: 10.850625rem;
    left: calc(50% - 42.6875rem);
    top: 12.125rem;
  }
}

.p-top-mv__character-pic--oto {
  z-index: 10;
  left: calc(50% + 5.125rem);
  top: 7.5625rem;
  width: 6.114375rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__character-pic--oto {
    z-index: 14;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--oto {
    width: 11.333125rem;
    left: calc(50% + 31.25rem);
    top: 10.9375rem;
  }
}

.p-top-mv__character-pic--yahiro {
  z-index: 9;
  left: calc(50% + 2.4375rem);
  top: 5.375rem;
  width: 5.790625rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__character-pic--yahiro {
    z-index: 13;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-mv__character-pic--yahiro {
    width: 11.03625rem;
    left: calc(50% + 25.4375rem);
    top: 9.6875rem;
  }
}

.p-top-mv__foot {
  margin-top: 40.375rem;
}
@media screen and (min-width: 1024px) {
  .p-top-mv__foot {
    margin-top: 47.9375rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top-character
----------------------------------------------------*/
.p-top-character {
  position: relative;
  padding-block: 3.75rem 5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-character {
    padding-block: 4.375rem 6.25rem;
  }
}

.p-top-character .l-container > img {
  display: block;
  margin-inline: auto;
}

.p-top-character__featured {
  margin-top: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-character__featured {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.625rem;
  }
}

.p-top-character__grid {
  margin-top: 1.5rem;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1.0625rem 1fr;
  grid-template-columns: repeat(2, 1fr);
  -webkit-column-gap: 1.0625rem;
     -moz-column-gap: 1.0625rem;
          column-gap: 1.0625rem;
  row-gap: 1.5rem;
}
.p-top-character__grid [data-character=tsugumi] {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}
@media screen and (min-width: 1024px) {
  .p-top-character__grid {
    margin-top: 2.625rem;
    -ms-grid-columns: 1fr 1.375rem 1fr 1.375rem 1fr 1.375rem 1fr 1.375rem 1fr;
    grid-template-columns: repeat(5, 1fr);
    -webkit-column-gap: 1.375rem;
       -moz-column-gap: 1.375rem;
            column-gap: 1.375rem;
    row-gap: 2.625rem;
  }
  .p-top-character__grid [data-character=tsugumi] {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}

.p-top-character__card {
  display: block;
}
.p-top-character__card img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-transition: -webkit-transform 0.3s var(--easeTheme);
  transition: -webkit-transform 0.3s var(--easeTheme);
  transition: transform 0.3s var(--easeTheme);
  transition: transform 0.3s var(--easeTheme), -webkit-transform 0.3s var(--easeTheme);
  will-change: transform;
}
@media (hover: none) {
  .p-top-character__card img:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .p-top-character__card img:hover, a:hover .p-top-character__card img {
    -webkit-transform: scale(1.06);
            transform: scale(1.06);
  }
}

.p-top-character__featured .p-top-character__card {
  width: 17.1875rem;
  max-width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-top-character__featured .p-top-character__card {
    width: 19.375rem;
  }
}

.p-top-character__grid .p-top-character__card {
  width: 100%;
}

.p-top-character__tags {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-character__tags {
    margin-top: 3.75rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	p-top-special
----------------------------------------------------*/
.p-top-special {
  position: relative;
  padding: 0 0 0;
  background-image: url(../img/p-top-special-bg.webp);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .p-top-special {
    padding: 0 0 0;
  }
}

.p-top-special__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .p-top-special__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 3.75rem;
    text-align: left;
  }
}

.p-top-special__head {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.p-top-special__head img {
  display: block;
  width: 15.3125rem;
}
@media screen and (min-width: 1024px) {
  .p-top-special__head img {
    width: 27.5rem;
  }
}

.p-top-special__desc {
  color: #000;
  line-height: 2;
  font-size: 0.875rem;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .p-top-special__desc {
    padding-top: 2.5rem;
    max-width: 37.5rem;
    font-size: 1.25rem;
    line-height: 2;
  }
}

.p-top-special__gallery {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-special__gallery {
    margin-top: 3.75rem;
  }
}

.p-top-special__gallery-items.swiper {
  overflow: hidden;
  padding-block: 0.5rem 3.75rem;
}
@media screen and (min-width: 1024px) {
  .p-top-special__gallery-items.swiper {
    padding-block: 1.5rem 9.125rem;
  }
}
.p-top-special__gallery-items.swiper .swiper-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-top-special__gallery-items.swiper .swiper-slide {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 13.75rem;
  -webkit-transition-property: opacity, -webkit-transform;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transition-timing-function: var(--easeOutSine);
          transition-timing-function: var(--easeOutSine);
}
@media screen and (min-width: 1024px) {
  .p-top-special__gallery-items.swiper .swiper-slide {
    width: 24.375rem;
  }
}
.p-top-special__gallery-items.swiper button {
  display: block;
  width: 100%;
  -webkit-box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 1.25rem rgba(0, 0, 0, 0.2);
  cursor: pointer;
  padding: 0;
}
.p-top-special__gallery-items.swiper button img {
  display: block;
  width: 100%;
  aspect-ratio: 776/1020;
  -o-object-fit: cover;
     object-fit: cover;
}

.p-top-special__gallery-ctrl {
  position: relative;
  z-index: 5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.25rem;
  margin-top: -1.25rem;
}
@media screen and (min-width: 1024px) {
  .p-top-special__gallery-ctrl {
    gap: 1.5rem;
    margin-top: -1.25rem;
  }
}

.p-top-special__gallery-btn {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 50%;
  background: transparent;
  border: 1px solid #000;
  cursor: pointer;
  -webkit-transition: background-color 0.2s var(--easeTheme), border-color 0.2s var(--easeTheme);
  transition: background-color 0.2s var(--easeTheme), border-color 0.2s var(--easeTheme);
}
.p-top-special__gallery-btn::before {
  content: "";
  width: 0.375rem;
  height: 0.375rem;
  border-style: solid;
  border-color: #000;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(-45deg) translateX(-0.0625rem);
          transform: rotate(-45deg) translateX(-0.0625rem);
  -webkit-transition: border-color 0.2s var(--easeTheme);
  transition: border-color 0.2s var(--easeTheme);
}
.p-top-special__gallery-btn--prev::before {
  -webkit-transform: rotate(135deg) translateX(-0.0625rem);
          transform: rotate(135deg) translateX(-0.0625rem);
}
@media (hover: none) {
  .p-top-special__gallery-btn:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .p-top-special__gallery-btn:hover, a:hover .p-top-special__gallery-btn {
    background: #000;
  }
  .p-top-special__gallery-btn:hover::before, a:hover .p-top-special__gallery-btn::before {
    border-color: #fff;
  }
}
@media screen and (min-width: 1024px) {
  .p-top-special__gallery-btn {
    margin-top: -1.875rem;
    width: 3.75rem;
    height: 3.75rem;
  }
  .p-top-special__gallery-btn::before {
    width: 0.75rem;
    height: 0.75rem;
  }
}

.p-top-special__gallery-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.375rem;
}
.p-top-special__gallery-dots button {
  width: 1rem;
  height: 1px;
  background: #000;
  opacity: 0.25;
  cursor: pointer;
  -webkit-transition: width 0.2s var(--easeTheme), opacity 0.2s var(--easeTheme), background-color 0.2s var(--easeTheme);
  transition: width 0.2s var(--easeTheme), opacity 0.2s var(--easeTheme), background-color 0.2s var(--easeTheme);
}
.p-top-special__gallery-dots button.is-active {
  width: 1.5rem;
  opacity: 1;
  background: #ff7cd6;
}

.p-top-special__tags {
  margin-top: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .p-top-special__tags {
    margin-top: 7.5rem;
  }
}

/*----------------------------------------------------
	p-character
----------------------------------------------------*/
.p-character {
  padding: 3.875rem 0 2.5rem;
  background-image: url(../img/bg-character.webp);
  background-repeat: repeat-y;
  background-position: top center;
  opacity: 0;
  -webkit-transform: translateY(1.5rem) scale(0.94);
          transform: translateY(1.5rem) scale(0.94);
  -webkit-transition: opacity 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), transform 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
}
body.windowLoaded .p-character {
  opacity: 1;
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
}
@media screen and (min-width: 1024px) {
  .p-character {
    padding: 4.375rem 0 5rem;
  }
}

.p-character__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media screen and (min-width: 1024px) {
  .p-character__wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 27.0625rem 1fr;
    grid-template-columns: 27.0625rem 1fr;
        grid-template-areas: "pic content" "foot foot";
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

.p-character__pic {
  grid-area: pic;
  position: relative;
  z-index: 5;
}
@media screen and (min-width: 1024px) {
  .p-character__pic {
    -ms-flex-item-align: stretch;
        -ms-grid-row-align: stretch;
        align-self: stretch;
    padding-right: 4.0625rem;
    margin-left: -1rem;
  }
}

.p-character__pic-inner {
  position: relative;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .p-character__pic-inner {
    position: sticky;
    top: 0;
  }
}

.p-character__figure {
  position: relative;
}
@media screen and (max-width: 1023px) {
  .p-character__figure {
    margin: 0 1.5625rem 0 -1rem;
  }
}

.p-character__photo {
  display: block;
  width: 100%;
}
.p-character__photo--zoom {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  opacity: 0;
  pointer-events: none;
}

.p-character__copy {
  position: absolute;
  right: 1.125rem;
  top: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.625rem;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-weight: bold;
  font-size: 1.375rem;
  color: #fff;
}
.p-character__copy p {
  padding: 0.5rem 0.125rem;
  letter-spacing: 0.13em;
  background: var(--color-character);
}
@media screen and (min-width: 1024px) {
  .p-character__copy {
    right: -5.75rem;
    top: 0.625rem;
    gap: 0.875rem;
    font-size: 2rem;
  }
  .p-character__copy p {
    padding: 0.75rem 0.1875rem;
  }
}

.p-character__expansion {
  position: absolute;
  left: 0;
  bottom: 0;
}
.p-character__prev,
.p-character__next {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 1;
}

.p-character__prev {
  left: -0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-character__prev {
    left: -3.125rem;
  }
}

.p-character__next {
  right: -0.5rem;
}
@media screen and (min-width: 1024px) {
  .p-character__next {
    right: -56.25rem;
  }
}

.p-character__content {
  position: relative;
  margin-top: 1.25rem;
  grid-area: content;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  padding: 3.125rem 1.25rem;
  border-radius: 1rem;
  background: #fff;
}
@media screen and (min-width: 1024px) {
  .p-character__content {
    margin-top: 3.625rem;
    gap: 2.5rem;
    padding: 4.375rem 5.1875rem 3.125rem 4.875rem;
    border-radius: 1.25rem;
  }
}

.p-character__close {
  position: absolute;
  right: 20px;
  top: 20px;
}

.p-character__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1rem;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-character__secret-SP,
.p-character__secret {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.625rem;
  cursor: pointer;
  font-size: 0.875rem;
  text-align: left;
}
@media screen and (min-width: 1024px) {
  .p-character__secret-SP,
  .p-character__secret {
    font-size: 1rem;
  }
}

@media screen and (min-width: 1024px) {
  .p-character__secret-SP {
    display: none;
  }
}

.p-character__secret {
  display: none;
}
@media screen and (min-width: 1024px) {
  .p-character__secret {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.p-character__secret-bar {
  position: relative;
  display: inline-block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.25rem 0.5rem;
  overflow: hidden;
  color: #000;
}
.p-character__secret-bar::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: var(--color-character);
  -webkit-transition: width 0.6s var(--easeTheme);
  transition: width 0.6s var(--easeTheme);
}
.p-character__secret-bar:nth-child(1)::before {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.p-character__secret-bar:nth-child(2)::before {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}
.p-character__secret-bar:nth-child(3)::before {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}
.p-character__secret-bar:nth-child(4)::before {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}
.p-character__secret-bar:nth-child(5)::before {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}
.p-character__secret-bar:nth-child(6)::before {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

.p-character__secret-SP.is-open .p-character__secret-bar::before,
.p-character__secret.is-open .p-character__secret-bar::before {
  width: 0;
}

.p-character__secret-SP.is-teased:not(.is-open) .p-character__secret-bar:nth-child(1)::before,
.p-character__secret.is-teased:not(.is-open) .p-character__secret-bar:nth-child(1)::before {
  -webkit-animation: pCharacterSecretTease 1s ease-in-out 3;
          animation: pCharacterSecretTease 1s ease-in-out 3;
}
.p-character__secret-SP.is-teased:not(.is-open) .p-character__secret-bar:nth-child(2)::before,
.p-character__secret.is-teased:not(.is-open) .p-character__secret-bar:nth-child(2)::before {
  -webkit-animation: pCharacterSecretTease 1s ease-in-out 3;
          animation: pCharacterSecretTease 1s ease-in-out 3;
}
.p-character__secret-SP.is-teased:not(.is-open) .p-character__secret-bar:nth-child(3)::before,
.p-character__secret.is-teased:not(.is-open) .p-character__secret-bar:nth-child(3)::before {
  -webkit-animation: pCharacterSecretTease 1s ease-in-out 3;
          animation: pCharacterSecretTease 1s ease-in-out 3;
}
.p-character__secret-SP.is-teased:not(.is-open) .p-character__secret-bar:nth-child(4)::before,
.p-character__secret.is-teased:not(.is-open) .p-character__secret-bar:nth-child(4)::before {
  -webkit-animation: pCharacterSecretTease 1s ease-in-out 3;
          animation: pCharacterSecretTease 1s ease-in-out 3;
}
.p-character__secret-SP.is-teased:not(.is-open) .p-character__secret-bar:nth-child(5)::before,
.p-character__secret.is-teased:not(.is-open) .p-character__secret-bar:nth-child(5)::before {
  -webkit-animation: pCharacterSecretTease 1s ease-in-out 3;
          animation: pCharacterSecretTease 1s ease-in-out 3;
}
.p-character__secret-SP.is-teased:not(.is-open) .p-character__secret-bar:nth-child(6)::before,
.p-character__secret.is-teased:not(.is-open) .p-character__secret-bar:nth-child(6)::before {
  -webkit-animation: pCharacterSecretTease 1s ease-in-out 3;
          animation: pCharacterSecretTease 1s ease-in-out 3;
}

@-webkit-keyframes pCharacterSecretTease {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}

@keyframes pCharacterSecretTease {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-character__spec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.9375rem;
}
@media screen and (min-width: 1024px) {
  .p-character__spec {
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: auto 0.9375rem auto 0.9375rem auto;
    grid-template-rows: repeat(3, auto);
    grid-auto-flow: column;
    row-gap: 0.9375rem;
    -webkit-column-gap: 2.5rem;
       -moz-column-gap: 2.5rem;
            column-gap: 2.5rem;
  }
}
.p-character__spec > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-character__relationships {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-character__relationships {
    margin-top: 1rem;
  }
}

.p-character__relationships-heading {
  margin-left: 0.375rem;
}
.p-character__relationships-heading svg {
  display: block;
  width: 9.375rem;
  height: auto;
}
@media screen and (min-width: 1024px) {
  .p-character__relationships-heading svg {
    width: 15.625rem;
  }
}

.p-character__relationships-card {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 4.625rem 0.9375rem 1fr;
  grid-template-columns: 4.625rem 1fr;
      grid-template-areas: "fig text";
  -webkit-column-gap: 0.9375rem;
     -moz-column-gap: 0.9375rem;
          column-gap: 0.9375rem;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  width: 100%;
  border-radius: 0.875rem;
}
@media screen and (min-width: 1024px) {
  .p-character__relationships-card {
    -ms-grid-columns: 9.375rem 1.25rem 1fr;
    grid-template-columns: 9.375rem 1fr;
    -webkit-column-gap: 1.25rem;
       -moz-column-gap: 1.25rem;
            column-gap: 1.25rem;
  }
}
.p-character__relationships-card figure {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  position: relative;
  grid-area: fig;
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .p-character__relationships-card figure {
    margin-top: 0;
  }
}

.p-character__relationships-card__link {
  display: block;
}
.p-character__relationships-card__link .p-character__relationships-card__thumb {
  display: block;
}
.p-character__relationships-card__link .p-character__relationships-card__thumb img {
  display: block;
  width: 100%;
  height: auto;
}
.p-character__relationships-card__link .c-link-arrow {
  position: absolute;
  left: 50%;
  bottom: -0.75rem;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  white-space: nowrap;
  -webkit-transition: opacity 0.2s var(--easeTheme);
  transition: opacity 0.2s var(--easeTheme);
}
@media screen and (min-width: 1024px) {
  .p-character__relationships-card__link .c-link-arrow {
    left: 58%;
    bottom: 0.3125rem;
  }
}
@media (hover: none) {
  .p-character__relationships-card__link:active {
    -webkit-transform: scale(0.965);
            transform: scale(0.965);
  }
}
@media (hover: hover) {
  .p-character__relationships-card__link:hover .c-link-arrow, a:hover .p-character__relationships-card__link .c-link-arrow {
    opacity: 0.7;
  }
}

.p-character__relationships-card > div {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
  position: relative;
  grid-area: text;
  background: var(--color-character-light);
  border-radius: 0.75rem;
  padding: 0.625rem 0.875rem;
}
.p-character__relationships-card > div::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: -0.625rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.625rem 0.625rem;
  border-color: transparent transparent var(--color-character-light) transparent;
}
@media screen and (min-width: 1024px) {
  .p-character__relationships-card > div {
    padding: 1rem 1.375rem;
  }
  .p-character__relationships-card > div::before {
    top: 50%;
    left: -1.125rem;
    border-width: 0 0 1.25rem 1.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.p-character__foot {
  margin-top: 2.5rem;
  grid-area: foot;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px){
  .p-character__pic {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .p-character__content {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
  }
  .p-character__foot {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
  }
}
@media screen and (min-width: 1024px) {
  .p-character__foot {
    margin-top: 5rem;
    gap: 2.625rem;
  }
}

.p-character__share {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
.p-character__share > p {
  font-family: var(--Josefin);
  font-size: 0.875rem;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (min-width: 1024px) {
  .p-character__share > p {
    font-size: 1.375rem;
  }
}
.p-character__share > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .p-character__share {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding-right: 0.25rem;
    gap: 3.625rem;
  }
  .p-character__share > div {
    gap: 2.25rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal[aria-hidden=true] {
  display: none;
  pointer-events: none;
}

.cm-modal.is-open {
  display: block;
}

.cm-modal__overlay {
  position: fixed;
  inset: 0;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}

.cm-modal__wrap {
  position: absolute;
  width: 100%;
  height: 100%;
}
.cm-modal__container {
  position: relative;
  margin: 1.25rem;
  padding: 2.5rem 1.25rem;
  height: calc(100% - 2.5rem);
  z-index: 20;
  background: #fff;
  color: var(--color);
  overflow-x: hidden;
  overflow-y: auto;
  border-radius: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal__container {
    margin: 1.5625rem 5rem;
    padding: 2.5rem 3.75rem;
    height: calc(100% - 3.125rem);
  }
}

.cm-modal__close {
  position: absolute;
  right: 2.1875rem;
  top: 2.125rem;
  z-index: 100;
}
@media screen and (min-width: 1024px) {
  .cm-modal__close {
    right: 7.6875rem;
    top: 5rem;
  }
}

/**************************\
  Demo Animation Style
\**************************/
@-webkit-keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes mmfadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes mmfadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@-webkit-keyframes mmslideIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.94) translateY(1.5rem);
            transform: scale(0.94) translateY(1.5rem);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    opacity: 0;
    -webkit-transform: scale(0.94) translateY(1.5rem);
            transform: scale(0.94) translateY(1.5rem);
  }
  to {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.94) translateY(1.5rem);
            transform: scale(0.94) translateY(1.5rem);
  }
}
@keyframes mmslideOut {
  from {
    opacity: 1;
    -webkit-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
  }
  to {
    opacity: 0;
    -webkit-transform: scale(0.94) translateY(1.5rem);
            transform: scale(0.94) translateY(1.5rem);
  }
}
.cm-modal[aria-hidden=false] .cm-modal__overlay {
  opacity: 0;
  -webkit-animation: mmfadeIn 0.3s 0.2s cubic-bezier(0, 0, 0.2, 1) forwards;
          animation: mmfadeIn 0.3s 0.2s cubic-bezier(0, 0, 0.2, 1) forwards;
}

.cm-modal[aria-hidden=false] .cm-modal__container {
  opacity: 0;
  -webkit-animation: mmslideIn 0.6s 0.2s var(--easeOutBack) forwards;
          animation: mmslideIn 0.6s 0.2s var(--easeOutBack) forwards;
}

.cm-modal[aria-hidden=true] .cm-modal__overlay {
  -webkit-animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
          animation: mmfadeOut 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
}

.cm-modal[aria-hidden=true] .cm-modal__container {
  -webkit-animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
          animation: mmslideOut 0.3s cubic-bezier(0, 0, 0.2, 1) forwards;
}

.cm-modal .cm-modal__container {
  will-change: transform;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area {
    gap: 4rem;
  }
}

.cm-modal-area__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__wrap {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 28.4375rem 4.125rem 1fr;
    grid-template-columns: 28.4375rem 1fr;
        grid-template-areas: "gallery title" "gallery name";
    -webkit-column-gap: 4.125rem;
       -moz-column-gap: 4.125rem;
            column-gap: 4.125rem;
    -ms-grid-rows: 1fr 1rem 1fr;
    grid-template-rows: 1fr 1fr;
    row-gap: 1rem;
    -ms-flex-line-pack: start;
        align-content: start;
  }
}

.cm-modal-area__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__title {
    grid-area: title;
    align-self: flex-end;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal-area__gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__gallery {
    grid-area: gallery;
    gap: 0.625rem;
  }
}

.cm-modal-area__gallery-main {
  width: 100%;
  overflow: hidden;
}
.cm-modal-area__gallery-main .swiper-slide {
  width: 100%;
  aspect-ratio: 295/388;
}
.cm-modal-area__gallery-main img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.16);
          box-shadow: 0 0 0.9375rem rgba(0, 0, 0, 0.16);
}

.cm-modal-area__gallery-thumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.375rem;
  overflow-x: auto;
}
.cm-modal-area__gallery-thumb button {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 3.375rem;
  height: 2.5rem;
  border-radius: 0.5rem;
  padding: 0;
  overflow: hidden;
  opacity: 0.5;
}
.cm-modal-area__gallery-thumb button img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cm-modal-area__gallery-thumb button.is-active {
  opacity: 1;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__gallery-thumb {
    gap: 0.5rem;
  }
  .cm-modal-area__gallery-thumb button {
    width: 5.25rem;
    height: 3.8125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal-area__name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__name {
    grid-area: name;
    align-self: flex-start;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
@media screen and (min-width: 1024px){
  .cm-modal-area__title {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .cm-modal-area__gallery {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
  }
  .cm-modal-area__name {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
}

.cm-modal-area__name-en {
  font-family: var(--Josefin);
  font-size: 1.5rem;
  color: var(--color-character);
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__name-en {
    font-size: 1.875rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
@media screen and (min-width: 1024px) {
  .cm-modal-area__desc {
    grid-area: desc;
    align-self: flex-start;
    margin-top: 0.625rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal-area__relation-title,
.cm-modal-area__talk-title {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.cm-modal-area__relation-title svg,
.cm-modal-area__talk-title svg {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: auto;
  height: 3.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-title svg,
  .cm-modal-area__talk-title svg {
    height: 6.125rem;
  }
}
.cm-modal-area__relation-title svg rect:nth-child(3),
.cm-modal-area__talk-title svg rect:nth-child(3) {
  fill: var(--color-character);
}
.cm-modal-area__relation-title::after,
.cm-modal-area__talk-title::after {
  content: "";
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-left: 1rem;
  height: 0.125rem;
  background-image: repeating-linear-gradient(90deg, var(--color-character) 0 0.625rem, transparent 0.625rem 1.25rem, var(--color-character) 1.25rem 1.875rem, transparent 1.875rem 2.5rem);
}

.cm-modal-area__talk-title svg {
  height: 3rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__talk-title svg {
    height: 5.125rem;
  }
}

.cm-modal-area__relation-title {
  margin-right: -8.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-title {
    margin-right: 0;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal-area__relation-talk {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-talk {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 2rem 35.25rem;
    grid-template-columns: minmax(0, 1fr) 35.25rem;
    margin-right: -2.5rem;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    row-gap: 4rem;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
  }
}

.cm-modal-area__relation {
  position: relative;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
  }
}

.cm-modal-area__relation-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.25rem;
  padding-right: 8.75rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-name {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 0.75rem;
    padding-right: 0;
    gap: 0.75rem;
  }
}

.cm-modal-area__relation-name-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 0.25rem;
  font-weight: bold;
  font-size: 1.25rem;
  letter-spacing: 0.15em;
  color: var(--color-character);
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-name-link {
    font-size: 2.5rem;
  }
}

.cm-modal-area__relation-name-text {
  text-decoration: underline;
  text-underline-offset: 0.25rem;
  text-decoration-thickness: 1px;
}

.cm-modal-area__relation-name-icon {
  margin-bottom: 0.25rem;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1.25rem;
  height: 1.25rem;
  border-radius: 50%;
  background: var(--color-character);
}
.cm-modal-area__relation-name-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.375rem;
  height: 0.375rem;
  border-style: solid;
  border-color: #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: translate(-65%, -50%) rotate(-45deg);
          transform: translate(-65%, -50%) rotate(-45deg);
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-name-icon {
    margin-bottom: 0.625rem;
  }
}

.cm-modal-area__relation-name-plus {
  font-size: 1.5rem;
  color: #000;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-name-plus {
    font-size: 2rem;
  }
}

.cm-modal-area__relation-desc {
  margin-top: 3.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-desc {
    margin-top: 1.625rem;
  }
}

@media screen and (min-width: 1024px) {
  .cm-modal-area__talk {
    position: relative;
    z-index: 2;
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
  }
}

.cm-modal-area__relation-pic {
  position: absolute;
  top: 1.25rem;
  right: -1.25rem;
  bottom: 0;
  width: 10rem;
  pointer-events: none;
}
.cm-modal-area__relation-pic img {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__relation-pic {
    position: sticky;
    top: 0;
    bottom: auto;
    right: auto;
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
    min-width: 0;
    width: 37.125rem;
    -ms-grid-row-align: start;
        align-self: start;
  }
  .cm-modal-area__relation-pic img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: calc(100vh - 280px);
    margin-inline: auto;
    -o-object-fit: unset;
       object-fit: unset;
    -o-object-position: unset;
       object-position: unset;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.cm-modal-area__talk-items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.25rem;
  margin-top: 1rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__talk-items {
    margin-top: 2.125rem;
    width: 33.5rem;
  }
}

.cm-modal-area__talk-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__talk-item {
    gap: 2.125rem;
  }
}
.cm-modal-area__talk-item figure,
.cm-modal-area__talk-item > div {
  opacity: 0;
  -webkit-transform: translateY(1rem) scale(0.9);
          transform: translateY(1rem) scale(0.9);
  -webkit-transition: opacity 0.5s var(--easeOutBack), -webkit-transform 0.5s var(--easeOutBack);
  transition: opacity 0.5s var(--easeOutBack), -webkit-transform 0.5s var(--easeOutBack);
  transition: opacity 0.5s var(--easeOutBack), transform 0.5s var(--easeOutBack);
  transition: opacity 0.5s var(--easeOutBack), transform 0.5s var(--easeOutBack), -webkit-transform 0.5s var(--easeOutBack);
}
.cm-modal-area__talk-item > div {
  -webkit-transition-delay: 0.15s;
          transition-delay: 0.15s;
}
.cm-modal-area__talk-item.is-visible figure,
.cm-modal-area__talk-item.is-visible > div {
  opacity: 1;
  -webkit-transform: translateY(0) scale(1);
          transform: translateY(0) scale(1);
}
.cm-modal-area__talk-item figure {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
  width: 3.125rem;
  height: 3.125rem;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__talk-item figure {
    width: 5.5rem;
    height: 5.5rem;
  }
}
.cm-modal-area__talk-item figure img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.cm-modal-area__talk-item > div {
  position: relative;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: var(--color-character-light);
  border-radius: 1rem;
  padding: 0.75rem 1rem;
}
.cm-modal-area__talk-item > div::before {
  content: "";
  position: absolute;
  top: 1.25rem;
  left: -0.625rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 0.625rem 0.625rem;
  border-color: transparent transparent var(--color-character-light) transparent;
}
@media screen and (max-width: 1023px) {
  .cm-modal-area__talk-item > div .c-paragraph {
    line-height: 1.8;
  }
}
@media screen and (min-width: 1024px) {
  .cm-modal-area__talk-item > div {
    padding: 1rem 1.375rem;
  }
  .cm-modal-area__talk-item > div::before {
    top: 1.25rem;
    left: -1.125rem;
    border-width: 0 0 1.25rem 1.25rem;
  }
}
.cm-modal-area__talk-item--reply {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.cm-modal-area__talk-item--reply > div::before {
  left: auto;
  right: -0.5rem;
  border-width: 0.5rem 0 0.5rem 0.625rem;
  border-color: transparent transparent transparent var(--color-character-light);
}
.cm-modal-area__talk-item--hanayagi > div {
  background: #dde0e3;
}
.cm-modal-area__talk-item--hanayagi > div::before {
  border-color: transparent transparent #dde0e3 transparent;
}
.cm-modal-area__talk-item--tetora > div {
  background: #e7edf7;
}
.cm-modal-area__talk-item--tetora > div::before {
  border-color: transparent transparent #e7edf7 transparent;
}
.cm-modal-area__talk-item--keito > div {
  background: #ECEFF9;
}
.cm-modal-area__talk-item--keito > div::before {
  border-color: transparent transparent transparent #ECEFF9;
}
.cm-modal-area__talk-item--saigawa > div {
  background: #dcc9d0;
}
.cm-modal-area__talk-item--saigawa > div::before {
  border-color: transparent transparent #dcc9d0 transparent;
}

/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-heading
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-name {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 1.25rem;
}
@media screen and (min-width: 1024px) {
  .c-heading-name {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 0.8125rem;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
  }
}

.c-heading-name__ja {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.c-heading-name__ja:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-character-light);
  -webkit-transform: rotate(6deg);
          transform: rotate(6deg);
}
.c-heading-name__ja > span {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.9375rem;
  height: 3.25rem;
  background: var(--color-character);
  font-weight: bold;
  font-size: 2.125rem;
  letter-spacing: 0.15em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-heading-name__ja > span {
    height: 5.375rem;
    font-size: 3.5625rem;
  }
}

.c-heading-name__en {
  font-family: var(--Josefin);
  font-weight: normal;
  font-size: 1.25rem;
  letter-spacing: 0.05em;
  color: var(--color-character);
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-area {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

.c-heading-area__ja {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
}
.c-heading-area__ja:before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-character);
  -webkit-transform: rotate(6deg);
          transform: rotate(6deg);
}
.c-heading-area__ja > span {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0 0.625rem;
  height: 4.375rem;
  background: #000;
  font-weight: bold;
  font-size: 3.25rem;
  letter-spacing: 0.15em;
  color: #fff;
}
@media screen and (min-width: 1024px) {
  .c-heading-area__ja > span {
    height: 7.25rem;
    padding: 0 1rem;
    font-size: 5.5rem;
  }
}
.c-heading-area__ja > span.small {
  font-size: 2.5rem;
  letter-spacing: 0;
}
@media screen and (min-width: 1024px) {
  .c-heading-area__ja > span.small {
    font-size: 4.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.25rem;
}

.c-heading__en {
  display: block;
  font-family: var(--Josefin);
  font-size: 1.25rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: var(--color-character);
}

.c-heading__ja {
  position: relative;
  display: inline-block;
  font-family: var(--sans);
  font-size: 3.5625rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #fff;
}
.c-heading__ja::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 8% -6%;
  background: var(--color-character);
  opacity: 0.486;
  -webkit-transform: rotate(-6deg);
          transform: rotate(-6deg);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-heading-badge {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 15.3125rem;
  height: 5.375rem;
}
@media screen and (min-width: 1024px) {
  .c-heading-badge {
    width: 22.125rem;
    height: 7.8125rem;
  }
}

.c-heading-badge__back {
  position: absolute;
  inset: -3%;
  background: #ff7cd6;
  -webkit-transform: rotate(1deg);
          transform: rotate(1deg);
}

.c-heading-badge__front {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: #fff;
  -webkit-transform: rotate(-8deg);
          transform: rotate(-8deg);
}
.c-heading-badge__front span {
  font-family: var(--Josefin);
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  background: -webkit-gradient(linear, left top, right top, from(#eb93bb), to(#52beed));
  background: linear-gradient(90deg, #eb93bb, #52beed);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
@media screen and (min-width: 1024px) {
  .c-heading-badge__front span {
    font-size: 3.5rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-link-arrow
----------------------------------------------------*/
.c-link-arrow {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.5rem;
  cursor: pointer;
  font-family: var(--sans);
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--color-character);
  text-decoration: underline;
}

.c-link-arrow__icon {
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  width: 1.209375rem;
  height: 1.209375rem;
  border-radius: 50%;
  background: var(--color-character);
}
.c-link-arrow__icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.325rem;
  height: 0.325rem;
  border-style: solid;
  border-color: #fff;
  border-width: 0 1px 1px 0;
  -webkit-transform: translate(-65%, -50%) rotate(-45deg);
          transform: translate(-65%, -50%) rotate(-45deg);
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	...
----------------------------------------------------*/
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-marquee
----------------------------------------------------*/
.c-marquee {
  overflow: hidden;
  background: #000;
  height: 1.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 1024px) {
  .c-marquee {
    height: 3.125rem;
  }
}

.c-marquee__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 2rem;
  white-space: nowrap;
  will-change: transform;
  -webkit-animation: marqueeLeft 80s linear infinite;
          animation: marqueeLeft 80s linear infinite;
  font-size: 0.75rem;
  font-family: "Bitcount Prop Single", system-ui;
  font-weight: normal;
}
@media screen and (min-width: 1024px) {
  .c-marquee__list {
    font-size: 1rem;
    -webkit-animation-duration: 80s;
            animation-duration: 80s;
  }
}
.c-marquee__list span {
  color: var(--color-character);
}

@-webkit-keyframes marqueeLeft {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes marqueeLeft {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-tag
----------------------------------------------------*/
.c-tag {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-width: 7.5rem;
  height: 1.625rem;
  padding-inline: 0.75rem;
  border-radius: 3.75rem;
  background: #fff;
  border: 1px solid var(--color-character);
  -webkit-box-shadow: 0.1875rem 0.1875rem 0 0 #000;
          box-shadow: 0.1875rem 0.1875rem 0 0 #000;
  white-space: nowrap;
  font-family: var(--Josefin);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--color-character);
}

.c-tag--character {
  text-transform: capitalize;
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
.c-tag--round {
  min-width: 0;
  height: 2.125rem;
  padding-inline: 1rem;
  border-radius: 62.4375rem;
  background: #fff;
  border: none;
  -webkit-box-shadow: 0.1875rem 0.1875rem 0 0 #000;
          box-shadow: 0.1875rem 0.1875rem 0 0 #000;
  font-family: var(--sans);
  font-size: 0.9375rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-transform: none;
  color: var(--color-character);
}
@media screen and (min-width: 1024px) {
  .c-tag--round {
    height: 2.5625rem;
    padding-inline: 1.5rem;
    font-size: 1.125rem;
  }
}

/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	c-ticker
----------------------------------------------------*/
.c-ticker {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.75rem;
  overflow: hidden;
  padding-bottom: 0.375rem;
}
@media screen and (min-width: 1024px) {
  .c-ticker {
    gap: 1rem;
  }
}

.c-ticker__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  gap: 0.75rem;
  will-change: transform;
  -webkit-animation: tickerLeft 140s linear infinite;
          animation: tickerLeft 140s linear infinite;
}
.c-ticker__list .c-tag {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  height: 3rem;
  min-width: auto;
  padding-inline: 1.25rem;
  -webkit-box-shadow: 0.375rem 0.375rem 0 0 #000;
          box-shadow: 0.375rem 0.375rem 0 0 #000;
  font-size: 1rem;
}
.c-ticker__list .c-tag--sm {
  height: 1.875rem;
  padding: 0.75rem 0.75rem 0.6rem 0.75rem;
  -webkit-box-shadow: 0.25rem 0.25rem 0 0 #000;
          box-shadow: 0.25rem 0.25rem 0 0 #000;
  font-size: 0.625rem;
}
@media screen and (min-width: 1024px) {
  .c-ticker__list .c-tag--sm {
    height: 3rem;
    padding: 1.25rem 1.25rem 1rem 1.25rem;
    -webkit-box-shadow: 0.375rem 0.375rem 0 0 #000;
            box-shadow: 0.375rem 0.375rem 0 0 #000;
    font-size: 1rem;
  }
}
.c-ticker__list + .c-ticker__list {
  -webkit-animation-name: tickerRight;
          animation-name: tickerRight;
}
@media screen and (min-width: 1024px) {
  .c-ticker__list {
    -webkit-animation-duration: 140s;
            animation-duration: 140s;
  }
}

@-webkit-keyframes tickerLeft {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes tickerLeft {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@-webkit-keyframes tickerRight {
  from {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@keyframes tickerRight {
  from {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  to {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
/*::::::::::::::::::::::::::::::::::::::::::::::::::*/
/*----------------------------------------------------
	汎用クラス
----------------------------------------------------*/
.bold,
.strong {
  font-weight: bold;
}

.u-hide {
  display: none;
}

.u-breakLine {
  display: inline-block;
}

.u-center {
  text-align: center;
}

.u-only-sp {
  display: block !important;
}
@media screen and (min-width: 641px) {
  .u-only-sp {
    display: none !important;
  }
}

.u-only-pc {
  display: none !important;
}
@media screen and (min-width: 641px) {
  .u-only-pc {
    display: block !important;
  }
}

.u-color-accent {
  color: var(--color-accent);
}

.u-color-character {
  color: var(--color-character);
  font-weight: bold;
}

.u-template {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 5rem;
  padding-bottom: 6.25rem;
}
.u-template > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
}

.u-gap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: var(--gap);
}

.is-disabled {
  opacity: 0.7;
  pointer-events: none;
}

.u-budoux {
  word-break: keep-all;
  overflow-wrap: anywhere;
}

[data-delay="0.1"] {
  -webkit-transition-delay: 0.1s;
          transition-delay: 0.1s;
}

[data-delay="0.2"] {
  -webkit-transition-delay: 0.2s;
          transition-delay: 0.2s;
}

[data-delay="0.3"] {
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

[data-delay="0.4"] {
  -webkit-transition-delay: 0.4s;
          transition-delay: 0.4s;
}

[data-delay="0.5"] {
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

[data-delay="0.6"] {
  -webkit-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

[data-delay="0.7"] {
  -webkit-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

[data-delay="0.8"] {
  -webkit-transition-delay: 0.8s;
          transition-delay: 0.8s;
}

[data-delay="0.9"] {
  -webkit-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

[data-delay="1"] {
  -webkit-transition-delay: 1s;
          transition-delay: 1s;
}

[data-delay="1.1"] {
  -webkit-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

[data-delay="1.2"] {
  -webkit-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

[data-delay="1.3"] {
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

[data-delay="1.4"] {
  -webkit-transition-delay: 1.4s;
          transition-delay: 1.4s;
}

[data-delay="1.5"] {
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

[data-delay="1.6"] {
  -webkit-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

[data-delay="1.7"] {
  -webkit-transition-delay: 1.7s;
          transition-delay: 1.7s;
}

[data-delay="1.8"] {
  -webkit-transition-delay: 1.8s;
          transition-delay: 1.8s;
}

[data-delay="1.9"] {
  -webkit-transition-delay: 1.9s;
          transition-delay: 1.9s;
}

[data-delay="2"] {
  -webkit-transition-delay: 2s;
          transition-delay: 2s;
}

[data-delay="2.1"] {
  -webkit-transition-delay: 2.1s;
          transition-delay: 2.1s;
}

[data-delay="2.2"] {
  -webkit-transition-delay: 2.2s;
          transition-delay: 2.2s;
}

[data-delay="2.3"] {
  -webkit-transition-delay: 2.3s;
          transition-delay: 2.3s;
}

[data-delay="2.4"] {
  -webkit-transition-delay: 2.4s;
          transition-delay: 2.4s;
}

[data-delay="2.5"] {
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}

[data-delay="2.6"] {
  -webkit-transition-delay: 2.6s;
          transition-delay: 2.6s;
}

[data-delay="2.7"] {
  -webkit-transition-delay: 2.7s;
          transition-delay: 2.7s;
}

[data-delay="2.8"] {
  -webkit-transition-delay: 2.8s;
          transition-delay: 2.8s;
}

[data-delay="2.9"] {
  -webkit-transition-delay: 2.9s;
          transition-delay: 2.9s;
}

[data-delay="3"] {
  -webkit-transition-delay: 3s;
          transition-delay: 3s;
}

.js-visible {
  opacity: 0;
  -webkit-transform: translateY(1.5625rem);
          transform: translateY(1.5625rem);
  -webkit-transition: opacity 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), transform 0.8s var(--easeOutBack);
  transition: opacity 0.8s var(--easeOutBack), transform 0.8s var(--easeOutBack), -webkit-transform 0.8s var(--easeOutBack);
}
.js-visible.is-visible {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.__loop {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.__loop figure {
  -webkit-animation: loopLeft linear 30s infinite;
          animation: loopLeft linear 30s infinite;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.__loop img {
  width: auto;
  max-width: none;
  height: 18.75rem;
}
@media screen and (min-width: 1024px) {
  .__loop figure {
    -webkit-animation-duration: 50s;
            animation-duration: 50s;
  }
  .__loop img {
    height: 32.875rem;
  }
}

@-webkit-keyframes loopLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}

@keyframes loopLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  to {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
}
@-webkit-keyframes loopRight {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes loopRight {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
            transform: translate3d(-100%, 0, 0);
  }
  to {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@-webkit-keyframes btnArrow {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  30% {
    -webkit-transform: translate3d(70%, 0, 0);
            transform: translate3d(70%, 0, 0);
  }
  30.1% {
    -webkit-transform: translate3d(-70%, 0, 0);
            transform: translate3d(-70%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}
@keyframes btnArrow {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
  30% {
    -webkit-transform: translate3d(70%, 0, 0);
            transform: translate3d(70%, 0, 0);
  }
  30.1% {
    -webkit-transform: translate3d(-70%, 0, 0);
            transform: translate3d(-70%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
  }
}