@charset "UTF-8";
:root {
  --color-bg: #fff;
  --color-footer-bg: #fff;
  --text-black:#224AC4;
  --main-gray-color:#F4F4F4;
  --gray02:#DCDCDC;
  --color-primary:#265CFF;
  --color-secondary:#DE49CF;
  --color-tertiary:#FF69B4;
  --color-danger:#F80055;
  --font-langJa:"BIZ UDPGothic", sans-serif;
  --font-langEn: "Inter", sans-serif;
  --font-langNum: "Inter", sans-serif;
  --pc-width:1440;
  --contents-width:1226;
  --contents-width-px:calc(var(--contents-width) * 1px);
  --radius-sm: 30px;
  --radius-md: 64px;
  --radius-lg: 80px;
}
@media (max-width: 767px) {
  :root {
    --radius-md: 40px;
    --radius-lg: 40px;
    --radius-sm: 20px;
  }
}

html {
  width: 100%;
  min-height: 100%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  font-size: 62.5%;
}

body {
  width: 100%;
  min-height: 100%;
  height: 100%;
  font-family: var(--font-langJa);
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: 1.6rem;
  line-height: 1.5;
  color: var(--text-black);
  background-color: #fff;
  background-image: url(../img/common/bg.png);
  background-size: 500px 500px;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
  text-rendering: optimizeLegibility;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
@media (max-width: 767px) {
  body {
    font-size: 1.5rem;
  }
}

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

@media (min-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
img, svg {
  max-width: 100%;
  height: auto;
}

[class$=-thumb] img {
  width: 100%;
  height: auto;
}

:where(:focus-visible) {
  outline: 3px solid Highlight;
  outline-offset: 2px;
}

button, input, optgroup, select, textarea {
  -webkit-appearance: auto;
  -moz-appearance: auto;
       appearance: auto;
}

input, textarea, select {
  font-size: 16px;
  font-family: var(--font-langJa);
}

fieldset {
  min-width: 0;
  margin: 0;
  border: 0;
  padding: 0;
}

legend {
  width: 100%;
  margin: 0;
  padding: 0;
}

.l-main {
  position: relative;
  display: block;
  flex-grow: 1;
  padding-top: 184px;
}
@media (max-width: 767px) {
  .l-main {
    padding-top: 122px;
  }
}

.home .l-main {
  padding-top: 0;
  overflow: hidden;
}

.l-container {
  display: flex;
  flex-direction: column;
  min-height: 100%;
}

.l-inner {
  margin: 0 auto;
  width: 89%;
  max-width: var(--contents-width-px);
}
@media (max-width: 767px) {
  .l-inner {
    width: 94%;
  }
}
.l-inner.--small {
  max-width: 810px;
}
.l-inner.--medium {
  max-width: 1144px;
}
.l-inner.--discl {
  max-width: 1184px;
}
.l-inner.--profb {
  max-width: 1224px;
}
.l-inner.--large {
  max-width: 1336px;
  width: 95.4285714286%;
}
.l-inner.--fluid {
  width: 100%;
  max-width: 100%;
}

.l-flex {
  display: flex;
  flex-wrap: wrap;
}

/**********************
* utility
**********************/
.is-hidden {
  display: none !important;
}

.pc-only {
  display: block;
}

.sp-only {
  display: none;
}

.tabsp-only {
  display: none;
}

@media (max-width: 960px) {
  .pc-only {
    display: none;
  }
  .tabsp-only {
    display: block;
  }
}
@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
  .sp-only {
    display: block;
  }
}
/* screen reader */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.u-link {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.u-link:hover, .u-link:active, .u-link:focus {
  text-decoration: none;
}

.u-en {
  font-family: var(--font-langEn);
  font-weight: 300;
  font-style: normal;
}

.u-en02 {
  font-family: "Inter Tight", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}

.u-tal {
  text-align: left;
}

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

.u-tar {
  text-align: right;
}

.u-fwb {
  font-weight: 700;
}

.u-red {
  color: #FF0000;
}

.u-theme-color {
  color: var(--color-primary);
}

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

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

.bg-white {
  background-color: #fff;
}

.bg-navy {
  background: linear-gradient(90deg, #042A60 0%, #084294 100%);
}

.bg-blue {
  background-color: #F3F9FF;
}

.bg-theme-color {
  background-color: var(--color-primary);
}

.bg-secondary-color {
  background-color: var(--color-secondary);
}

.bg-tertiary-color {
  background-color: var(--color-tertiary);
}

.u-upcs {
  text-transform: uppercase;
}

/**********************
* sns link
***********************/
.sns-menu {
  color: var(--color-primary);
  font-size: 1.4rem;
  font-weight: 500;
  font-family: var(--font-langEn);
}
.sns-menu a {
  display: block;
  position: relative;
}
.sns-menu a::before {
  content: "";
  display: block;
  width: 2em;
  height: 2em;
  background: url(../img/common/icon_line.svg) no-repeat center/contain;
}
.sns-menu [data-type=line]::before {
  background-image: url(../img/common/icon_line.svg);
}
.sns-menu [data-type=x]::before {
  background-image: url(../img/common/icon_x.svg);
}
.sns-menu [data-type=blog]::before {
  background-image: url(../img/common/icon_ameba.svg);
}
.sns-menu [data-type=note]::before {
  background-image: url(../img/common/icon_note.svg);
}
.sns-menu [data-type=ig]::before {
  background-image: url(../img/common/icon_ig.png);
}

.msc-menu {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2em;
}
@media (max-width: 767px) {
  .msc-menu {
    gap: 1.75em 2em;
  }
}
.msc-menu li {
  position: relative;
}
.msc-menu a {
  display: block;
}
.msc-menu a > img {
  width: 100%;
  height: auto;
}
.msc-menu [data-type=spotify] {
  width: 32px;
}
.msc-menu [data-type=awa] {
  width: 28px;
}
.msc-menu [data-type=apm] {
  width: 28px;
}
.msc-menu [data-type=lm] {
  width: 148px;
}
.msc-menu [data-type=amm] {
  width: 150px;
}
.msc-menu [data-type=ytm] {
  width: 84px;
}

.l-header .sns-menu,
.mv-wrap .sns-menu {
  margin-top: 40px;
  margin-left: 0;
  width: 304px;
}
.l-header .sns-menu a,
.mv-wrap .sns-menu a {
  padding: 1em 1.5em;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0 1em;
  border-radius: 80px;
  border: 1px solid #B8B8E5;
  font-size: 1.5rem;
}
.l-header .sns-menu a::after,
.mv-wrap .sns-menu a::after {
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  -webkit-mask-image: url(../img/common/arrow_tr.svg);
          mask-image: url(../img/common/arrow_tr.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--color-primary);
}
.l-header .sns-menu li:not(:first-child),
.mv-wrap .sns-menu li:not(:first-child) {
  margin-top: 10px;
}
@media (max-width: 960px) {
  .l-header .sns-menu,
.mv-wrap .sns-menu {
    width: 40px;
    margin-left: 0;
    margin-top: 20px;
  }
  .l-header .sns-menu a,
.mv-wrap .sns-menu a {
    padding: 0;
    border: none;
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
  .l-header .sns-menu a::after,
.mv-wrap .sns-menu a::after {
    display: none;
  }
  .l-header .sns-menu a span,
.mv-wrap .sns-menu a span {
    display: none;
  }
  .l-header .sns-menu li:not(:first-child),
.mv-wrap .sns-menu li:not(:first-child) {
    margin-top: 20px;
  }
}
.l-header .msc-menu,
.mv-wrap .msc-menu {
  margin-top: 40px;
  margin-left: 0;
}
@media (max-width: 960px) {
  .l-header .msc-menu,
.mv-wrap .msc-menu {
    margin-top: 40px;
    margin-left: 0;
    justify-content: center;
  }
}

.mv-wrap .sns-menu {
  margin-top: 9%;
}
@media (max-width: 960px) {
  .mv-wrap .sns-menu {
    margin-top: 110px;
  }
}
.mv-wrap .msc-menu {
  margin-top: 2%;
}
@media (max-width: 960px) {
  .mv-wrap .msc-menu {
    margin-top: 14%;
  }
}

.l-header .msc-menu {
  margin: 94px auto 0;
  justify-content: center;
}

.l-footer .sns-menu {
  margin: 71px auto 0;
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 8px;
}
.l-footer .sns-menu li {
  width: 124px;
  text-align: center;
  border: 1px solid #B8B8E5;
  border-radius: 8px;
}
.l-footer .sns-menu a {
  padding: 1.25em 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
}
.l-footer .msc-menu {
  margin: 71px auto 0;
  justify-content: center;
}

@media (max-width: 767px) {
  .l-footer .sns-menu {
    margin: 32px auto 0;
    font-size: 1.2rem;
    max-width: 100%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .l-footer .sns-menu li {
    width: 100%;
  }
  .l-footer .sns-menu a {
    padding: 2em 0;
  }
  .l-footer .msc-menu {
    margin: 52px auto 0;
  }
}
/**********************
* header
***********************/
.l-header {
  position: fixed;
  top: 0%;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 100;
  transition: 0.75s height ease-in-out;
  transition-property: opacity, height, background-color;
  padding: 0px;
}
.l-header .l-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  padding: 0 20px 0 20px;
  height: 100%;
  width: 100%;
  max-width: 100%;
  gap: 0 4%;
}

.header-logo {
  position: relative;
  padding-left: 1em;
  display: flex;
  align-items: center;
  justify-content: center;
}
.header-logo img {
  width: 100%;
}

.header-logo__link {
  position: relative;
  display: block;
  max-width: 223px;
}
.header-logo__link img {
  width: 100%;
  height: auto;
}
.header-logo__link:hover, .header-logo__link:focus {
  opacity: 0.8;
}

@media (max-width: 1200px) {
  .l-header {
    height: 92px;
  }
  .l-header::before {
    top: 0;
    left: 4%;
    width: 5px;
    height: 97px;
  }
  .l-header .l-inner {
    padding: 0;
    align-items: center;
  }
  .header-logo {
    width: 147px;
  }
  .header-logo__link {
    max-width: 198px;
  }
}
/*****
* SP drawer
**********************/
.header-nav__grid {
  margin: 0 auto;
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: auto auto auto;
  grid-template-rows: auto auto auto;
  gap: 0px 0%;
  grid-template-areas: "g03 g01 g02" "g04 g04 g04" "g05 g05 g05";
  width: 92%;
}
@media (max-width: 960px) {
  .header-nav__grid {
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto auto auto;
    gap: 0px 0%;
    grid-template-areas: "g03 g01" "g03 g02" "g04 g04" "g05 g05";
    width: 89%;
  }
}
.header-nav__grid .g05 {
  grid-area: g05;
}
.header-nav__grid .g04 {
  grid-area: g04;
}
.header-nav__grid .g03 {
  grid-area: g03;
}
.header-nav__grid .g01 {
  grid-area: g01;
}
.header-nav__grid .g02 {
  grid-area: g02;
}

.header-nav__sp {
  display: grid;
  justify-items: center;
  align-items: center;
  padding-top: 106px;
  padding-bottom: 100px;
  background-color: #fff;
  background-image: url(../img/common/bg.png);
  background-size: 500px 500px;
}
@media (max-width: 960px) {
  .header-nav__sp {
    align-items: start;
  }
}
.header-nav__sp .gnav {
  margin-left: 15.87%;
  display: block;
  width: 100%;
}
@media (max-width: 960px) {
  .header-nav__sp .gnav {
    margin-left: 6%;
  }
}
.header-nav__sp .gnav__item {
  width: 100%;
  display: flex;
  font-size: 1.8rem;
  font-style: normal;
  font-weight: 700;
  flex-direction: column;
  text-align: center;
}
.header-nav__sp .gnav__item + .gnav__item {
  margin-top: 1.5em;
}
.header-nav__sp .gnav__link {
  position: relative;
  display: block;
  padding: 0 1em 0 0;
  max-height: 141px;
}
.header-nav__sp .gnav__link span {
  position: relative;
}
.header-nav__sp .gnav__link:hover, .header-nav__sp .gnav__link:focus, .header-nav__sp .gnav__link:active {
  opacity: 0.6;
}
.header-nav__sp .menu-map-title {
  margin: 0 auto 0 0;
  width: 87%;
  position: relative;
  top: -3%;
  right: -3%;
}
@media (max-width: 960px) {
  .header-nav__sp .menu-map-title {
    top: 0;
    right: 0;
    margin-left: 0;
    width: 92%;
    max-width: 400px;
  }
}
.header-nav__sp .menu-map-title .arrow {
  position: absolute;
  right: 12%;
  bottom: 3%;
  pointer-events: none;
}
@media (max-width: 960px) {
  .header-nav__sp .menu-map-title .arrow {
    right: 2%;
    bottom: 4%;
  }
}
.header-nav__sp .sns-menu {
  margin: 0;
  align-content: center;
  justify-self: right;
}
@media (max-width: 960px) {
  .header-nav__sp .sns-menu {
    align-content: start;
    justify-self: left;
  }
}

.header-nav__yuruchara {
  align-content: center;
}

/* メニュー表示設定*/
.header-nav__sp {
  position: fixed;
  top: 0;
  right: 0;
  color: var(--text-black);
  background-color: #fff;
  width: 100%;
  height: 100vh;
  transition: 0.3s ease-out 0s;
  transition-property: opacity, visibility;
  z-index: 100;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  opacity: 0;
  visibility: hidden;
}

.is-drawerActive .header-nav__sp {
  opacity: 1;
  visibility: visible;
}

.hamburger {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 101;
  outline: 0;
  border: 0;
  width: 115px;
  height: 115px;
}
@media (max-width: 767px) {
  .hamburger {
    align-self: center;
    width: 85px;
    height: 85px;
  }
}
.hamburger .icon {
  position: relative;
  margin-left: 2px;
  display: block;
  width: 95px;
  height: 85px;
  aspect-ratio: 1/1;
}
@media (max-width: 767px) {
  .hamburger .icon {
    width: 65px;
    height: 65px;
  }
}
.hamburger .text {
  text-align: center;
  text-transform: uppercase;
  font-size: 15px;
}
@media (max-width: 767px) {
  .hamburger .text {
    font-size: 10px;
  }
}
.hamburger:hover .icon, .hamburger:focus .icon {
  -webkit-animation-play-state: running;
          animation-play-state: running;
}

.is-drawerActive .hamburger .text {
  margin: 0;
  opacity: 1;
}
.is-drawerActive .l-header {
  box-shadow: none;
  border-radius: 0;
}

/**********************
* footer
***********************/
.l-footer {
  margin-top: auto;
  padding: 36px 0;
}

.footer-letter {
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer-letter dt {
  padding-right: 2em;
}
.footer-letter dd {
  border-left: 1px solid #B8B8E5;
  padding-left: 2em;
}

.footer-letter-list {
  margin-top: 1em;
}

.c-copy {
  margin: 71px auto 0;
  text-align: center;
  font-size: 1.4rem;
  font-weight: 500;
  font-family: var(--font-langEn);
}

@media (max-width: 767px) {
  .l-footer {
    margin-top: auto;
    padding: 20px 0;
  }
  .l-footer::after {
    content: "";
    display: block;
    width: 100%;
    aspect-ratio: 402/151;
  }
  .l-footer .l-inner {
    width: 82%;
  }
  .footer-letter {
    flex-direction: column;
  }
  .footer-letter dt {
    padding-right: 0;
    text-align: left;
    align-self: flex-start;
    padding-bottom: 0.5em;
  }
  .footer-letter dd {
    padding-top: 1em;
    padding-left: 0;
    border-left: none;
    border-top: 1px solid #B8B8E5;
  }
  .footer-letter-list {
    margin-top: 0.5em;
  }
  .c-copy {
    margin: 56px auto 0;
    text-align: center;
    font-size: 1rem;
  }
}
/**********************
* common
***********************/
.c-button01 {
  position: relative;
  display: flex;
  color: var(--color-primary);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 700;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: color ease-in 0.3s;
  background: url(../img/common/bg_button01.jpg) no-repeat left top;
  background-size: 100%;
  border-radius: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  transition-property: color, background transform;
  transition: transform 0.3s ease-in-out;
}
.c-button01:hover, .c-button01:focus {
  transform: scale(1.1);
}
.c-button01[data-color=y] {
  background-image: url(../img/common/bg_button04.png);
}

.c-button03 {
  position: relative;
  padding: 1em 2em 1em 1em;
  display: flex;
  justify-content: center;
  color: var(--color-primary);
  width: 141px;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  font-family: "Inter Tight", "BIZ UDPGothic", sans-serif;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: color ease-in 0.3s;
  background: url(../img/common/bg_button03.png) no-repeat center/cover;
  border-radius: 70px;
  overflow: hidden;
  transition-property: color, background transform;
  transition: transform 0.3s ease-in-out;
}
.c-button03:hover, .c-button03:focus {
  transform: scale(1.1);
}
.c-button03::before {
  content: "";
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.25em;
  height: 1.25em;
  background: url(../img/common/button_dot.svg) no-repeat center/contain;
}
.c-button03:hover, .c-button03:focus {
  background-position: right top;
}
.c-button03[data-size=m] {
  padding: 1.75em 1em;
  width: 205px;
}
.c-button03[data-size=l] {
  font-size: 1.8rem;
  padding: 1.75em 1em;
  max-width: 235px;
}
.c-button03[data-size=l]::before {
  content: "";
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.25em;
  height: 1.25em;
  -webkit-mask-image: url(../img/common/arrow_r.svg);
          mask-image: url(../img/common/arrow_r.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--color-primary);
}
@media (max-width: 767px) {
  .c-button03[data-size=l] {
    display: flex;
    width: 100%;
    font-size: 1.5rem;
  }
}

.c-button04 {
  position: relative;
  padding: 1em 2em 1em 1em;
  display: flex;
  justify-content: center;
  color: var(--color-primary);
  width: 169px;
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 600;
  line-height: 1.25;
  text-align: center;
  font-family: "Inter Tight", "BIZ UDPGothic", sans-serif;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: color ease-in 0.3s;
  transition-property: color, background transform;
  background: url(../img/common/bg_button03.png) no-repeat center/cover;
  border-radius: 70px;
  overflow: hidden;
  transition: transform 0.3s ease-in-out;
}
.c-button04:hover, .c-button04:focus {
  transform: scale(1.1);
}
.c-button04::before {
  content: "";
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.25em;
  height: 1.25em;
  background: url(../img/common/button_dot.svg) no-repeat center/contain;
}
.c-button04[data-size=m] {
  padding: 1.75em 1em;
  width: 205px;
}
.c-button04[data-size=l] {
  font-size: 1.8rem;
  padding: 1.5em 1em;
  width: 402px;
}
.c-button04[data-size=l]::before {
  content: "";
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.25em;
  height: 1.25em;
  -webkit-mask-image: url(../img/common/arrow_r.svg);
          mask-image: url(../img/common/arrow_r.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--color-primary);
}
.c-button04[data-icon=blank]::before {
  right: 1em;
  -webkit-mask-image: url(../img/common/icon_blank.svg);
          mask-image: url(../img/common/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--color-primary);
  width: 1em;
  height: 1em;
}
.c-button04[data-icon=arrow]::before {
  -webkit-mask-image: url(../img/common/arrow_r.svg);
          mask-image: url(../img/common/arrow_r.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--color-primary);
}
.c-button04[data-icon=contact] {
  text-align: center;
  justify-content: center;
}
.c-button04[data-icon=contact]::before {
  content: "";
  position: absolute;
  right: 1.5em;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1.75em;
  height: 1.75em;
  -webkit-mask-image: url(../img/common/icon_contact.svg);
          mask-image: url(../img/common/icon_contact.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background-color: var(--color-primary);
}

.c-text-nodata {
  padding: 2em 0;
}

.u-text-s {
  font-size: 1.6rem;
  line-height: 180%;
}
@media (max-width: 767px) {
  .u-text-s {
    font-size: 1.5rem;
  }
}

.u-text-m {
  font-size: 1.8rem;
  line-height: 180%;
}
@media (max-width: 767px) {
  .u-text-m {
    font-size: 1.6rem;
  }
}

.u-text-l {
  font-size: 2rem;
  line-height: 180%;
}
@media (max-width: 767px) {
  .u-text-l {
    font-size: 1.8rem;
  }
}

.u-heading-l {
  font-size: 4rem;
  font-weight: 700;
  line-height: 120%;
}
@media (max-width: 767px) {
  .u-heading-l {
    font-size: 2.8rem;
  }
}

.u-heading-l02 {
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 120%;
}
@media (max-width: 767px) {
  .u-heading-l02 {
    font-size: 3.2rem;
  }
}

.u-heading-m {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 130%;
}
@media (max-width: 767px) {
  .u-heading-m {
    font-size: 2.6rem;
  }
}

.u-heading-m02 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 130%;
}
@media (max-width: 767px) {
  .u-heading-m02 {
    font-size: 2.2rem;
  }
}

.u-heading-m03 {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 130%;
}
@media (max-width: 767px) {
  .u-heading-m03 {
    font-size: 2rem;
  }
}

.u-heading-s {
  font-size: 2rem;
  font-weight: 700;
  line-height: 150%;
}
@media (max-width: 767px) {
  .u-heading-s {
    font-size: 1.8rem;
  }
}

.c-label-m {
  font-size: 1.8rem;
  line-height: 170%;
}
@media (max-width: 767px) {
  .c-label-m {
    font-size: 1.8rem;
  }
}

.c-label-s {
  font-size: 1.6rem;
  line-height: 170%;
}
@media (max-width: 767px) {
  .c-label-s {
    font-size: 1.6rem;
  }
}

.c-caption-s {
  font-size: 1.2rem;
  line-height: 130%;
}
@media (max-width: 767px) {
  .c-caption-s {
    font-size: 1.2rem;
  }
}

.c-caption-m {
  font-size: 1.4rem;
  line-height: 150%;
}
@media (max-width: 767px) {
  .c-caption-m {
    font-size: 1.4rem;
  }
}

.c-tag-s {
  font-size: 1.4rem;
  line-height: 160%;
}
@media (max-width: 767px) {
  .c-tag-s {
    font-size: 1.4rem;
  }
}

.c-tag-m {
  font-size: 1.6rem;
  line-height: 160%;
}
@media (max-width: 767px) {
  .c-tag-m {
    font-size: 1.6rem;
  }
}

.c-tag-l {
  font-size: 2rem;
  line-height: 140%;
}
@media (max-width: 767px) {
  .c-tag-l {
    font-size: 2rem;
  }
}

@media (max-width: 767px) {
  .u-text-s-sp {
    font-size: 1.4rem;
    line-height: 180%;
  }
  .u-text-m-sp {
    font-size: 1.6rem;
    line-height: 180%;
  }
  .u-text-l-sp {
    font-size: 2rem;
    line-height: 180%;
  }
  .c-tag-s-sp {
    font-size: 1.4rem;
    line-height: 160%;
  }
  .c-tag-m-sp {
    font-size: 1.6rem;
    line-height: 160%;
  }
  .c-tag-l-sp {
    font-size: 2rem;
    line-height: 140%;
  }
}
.c-contents-wrap {
  padding: 90px 0 153px;
}
.c-page-title01 {
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 20px;
  color: #fff;
}
.c-page-title01.--center {
  align-items: center;
  text-align: center;
}

.c-page-title01-en {
  width: 100%;
  height: auto;
}
.c-page-title01-en img {
  width: 100%;
}

.c-page-title01.menu-dg-title {
  text-align: left;
  gap: 3px;
}
.c-page-title01.menu-dg-title .c-page-title01-en {
  max-width: 564px;
  width: 85.3252647504%;
}
@media (max-width: 767px) {
  .c-page-title01.menu-dg-title .c-page-title01-en {
    max-width: 269px;
  }
}
.c-page-title01.menu-dg-title .c-page-title01-ja {
  font-size: clamp(1.4rem,1.57vw,2.2rem);
}
@media (max-width: 767px) {
  .c-page-title01.menu-dg-title .c-page-title01-ja {
    font-size: min(2.98vw,12px);
  }
}
.c-page-title01.menu-pf-title {
  text-align: left;
  gap: 3px;
}
.c-page-title01.menu-pf-title .c-page-title01-en {
  max-width: 279px;
  width: 42.208774584%;
}
@media (max-width: 767px) {
  .c-page-title01.menu-pf-title .c-page-title01-en {
    max-width: 143px;
  }
}
.c-page-title01.menu-pf-title .c-page-title01-ja {
  font-size: clamp(1.4rem,1.57vw,2.2rem);
}
@media (max-width: 767px) {
  .c-page-title01.menu-pf-title .c-page-title01-ja {
    font-size: min(2.98vw,12px);
  }
}
.c-page-title01.menu-tp-title {
  text-align: left;
  gap: 3px;
}
.c-page-title01.menu-tp-title .c-page-title01-en {
  max-width: 284px;
  width: 42.965204236%;
}
@media (max-width: 767px) {
  .c-page-title01.menu-tp-title .c-page-title01-en {
    max-width: 126px;
  }
}
.c-page-title01.menu-tp-title .c-page-title01-ja {
  font-size: clamp(1.4rem,1.57vw,2.2rem);
}
@media (max-width: 767px) {
  .c-page-title01.menu-tp-title .c-page-title01-ja {
    font-size: min(2.98vw,12px);
  }
}
.c-page-title01.top-tp-title {
  text-align: left;
  gap: 3px;
}
.c-page-title01.top-tp-title .c-page-title01-en {
  max-width: 150px;
}
@media (max-width: 767px) {
  .c-page-title01.top-tp-title .c-page-title01-en {
    max-width: 126px;
  }
}
.c-page-title01.top-dg-title {
  gap: 3px;
}
@media (max-width: 767px) {
  .c-page-title01.top-dg-title .c-page-title01-en {
    max-width: 300px;
  }
}
.c-page-title01.top-pf-title {
  gap: 3px;
}
.c-page-title01.top-pf-title .c-page-title01-en {
  max-width: 293px;
}
@media (max-width: 767px) {
  .c-page-title01.top-pf-title .c-page-title01-en {
    max-width: 158px;
  }
}
.c-page-title01.top-mv-title .c-page-title01-en {
  max-width: 293px;
}
@media (max-width: 767px) {
  .c-page-title01.top-mv-title .c-page-title01-en {
    max-width: 158px;
  }
}
.c-page-title01.top-ig-title {
  gap: 3px;
}
.c-page-title01.top-ig-title .c-page-title01-en {
  max-width: 450px;
}
@media (max-width: 767px) {
  .c-page-title01.top-ig-title .c-page-title01-en {
    max-width: 158px;
  }
}
.c-page-title01.top-sc-title .c-page-title01-en {
  max-width: 384px;
}
@media (max-width: 767px) {
  .c-page-title01.top-sc-title .c-page-title01-en {
    max-width: 158px;
  }
}
.c-page-title01.page-dg-title {
  gap: 3px;
}
.c-page-title01.page-dg-title .c-page-title01-en {
  max-width: 553px;
}
@media (max-width: 767px) {
  .c-page-title01.page-dg-title .c-page-title01-en {
    max-width: 300px;
  }
}
.c-page-title01.page-pf-title {
  gap: 3px;
}
.c-page-title01.page-pf-title .c-page-title01-en {
  max-width: 289px;
}
@media (max-width: 767px) {
  .c-page-title01.page-pf-title .c-page-title01-en {
    max-width: 158px;
  }
}
.c-page-title01.page-tp-title {
  gap: 3px;
}
.c-page-title01.page-tp-title .c-page-title01-en {
  max-width: 274px;
}
@media (max-width: 767px) {
  .c-page-title01.page-tp-title .c-page-title01-en {
    max-width: 138px;
  }
}

.c-page-title01-ja {
  position: relative;
  padding-left: 1em;
  font-size: 2rem;
  font-size: clamp(1.6rem,1.42vw,2rem);
  font-weight: 700;
  line-height: 180%;
  color: var(--text-black);
}
@media (max-width: 767px) {
  .c-page-title01-ja {
    font-size: min(3.48vw,14px);
  }
}
.c-page-title01-ja::before {
  position: absolute;
  left: 0;
  top: 0.65em;
  content: "";
  display: block;
  background: var(--color-tertiary);
  width: 10px;
  height: 10px;
  border-radius: 10px;
}
@media (max-width: 767px) {
  .c-page-title01-ja::before {
    width: 6px;
    height: 6px;
    border-radius: 6px;
  }
}

.c-list01 li {
  position: relative;
  padding-left: 1em;
}
.c-list01 li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}
.c-list01[data-type=purple-dot] li::before {
  color: var(--color-secondary);
}
.c-list01[data-type=asterisk] li {
  position: relative;
  padding-left: 1em;
  line-height: 1.5em;
}
.c-list01[data-type=asterisk] li::before {
  content: "※";
}

.c-list02 li {
  padding-left: 1em;
  text-indent: -1em;
}

.c-num-list01 {
  counter-reset: number 0;
}
.c-num-list01 li {
  position: relative;
  padding-left: 3.5em;
}
.c-num-list01 li:nth-child(n+2) {
  margin-top: 2.5em;
}
.c-num-list01 li::before {
  content: counter(number);
  counter-increment: number 1;
  position: absolute;
  left: 0;
  top: 0.1em;
  display: block;
  width: 2em;
  height: 2em;
  text-align: center;
  color: var(--color-primary);
  border-radius: 100%;
  border: 1px solid var(--color-primary);
}

.c-dl01 {
  display: flex;
  flex-wrap: wrap;
}
.c-dl01 dt {
  margin-top: 1em;
  width: 6em;
  font-weight: 700;
  color: var(--color-primary);
}
.c-dl01 dd {
  margin-top: 1em;
  padding-left: 1em;
  position: relative;
  width: calc(100% - 6em);
}

.c-dl02 dt {
  font-weight: 700;
  color: var(--color-primary);
}
.c-dl02 dd {
  padding-top: 0.5em;
}
.c-dl02 dd + dt {
  padding-top: 1em;
}

.c-frame01 {
  position: relative;
  padding: 1em;
  background-color: rgba(255, 255, 255, 0.3);
  border-radius: var(--radius-lg);
}
.c-frame01::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  padding: 13px;
  background: linear-gradient(0deg, rgb(218, 198, 255) 0%, rgb(107, 243, 243) 32%, rgb(246, 255, 180) 65%, rgb(210, 255, 202) 82%, rgb(166, 215, 255) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
@media (max-width: 767px) {
  .c-frame01::before {
    padding: 5px;
    border-radius: 30px;
  }
}

.c-frame02 {
  position: relative;
  padding: 5px;
  background: rgba(255, 255, 255, 0.7);
  border-radius: var(--radius-lg);
}
.c-frame02::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--radius-lg);
  padding: 5px;
  background: linear-gradient(0deg, rgb(38, 92, 255) 0%, rgb(222, 73, 207) 100%);
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}
@media (max-width: 767px) {
  .c-frame02::before {
    padding: 3px;
  }
}

.c-frame03 {
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid #265CFF;
  box-shadow: 186px 238px 121px rgba(179, 232, 255, 0.01), 105px 134px 102px rgba(179, 232, 255, 0.05), 47px 60px 76px rgba(179, 232, 255, 0.09), 12px 15px 42px rgba(179, 232, 255, 0.1);
  border-radius: var(--radius-lg);
}

.c-thumb01 {
  border: 1px solid #265CFF;
  border-radius: var(--radius-md);
  overflow: hidden;
}

.c-thumb02 {
  border: 1px solid #265CFF;
  border-radius: var(--radius-sm);
  overflow: hidden;
}

.c-label01 {
  display: block;
  font-size: 1.4rem;
  padding: 0.25em 1em;
  border-radius: 13px;
}
.c-label01.status-1 {
  background-color: #DB6262;
  color: #fff;
}
.c-label01.status-2 {
  background-color: #848484;
  color: #fff;
}
.c-label01.status-3 {
  background-color: var(--color-primary);
  color: #fff;
}

/**************
* fixed menu
***************/
.fixed-menu {
  position: fixed;
  top: auto;
  right: 0;
  bottom: 0;
  z-index: 90;
  height: auto;
  width: calc(213 / 1400 * 100%);
  max-width: 213px;
}
@media (max-width: 767px) {
  .fixed-menu {
    aspect-ratio: 351/151;
    width: 80%;
    max-width: 503px;
  }
}
@media only screen and (max-width: 960px) and (orientation: landscape) {
  .fixed-menu {
    aspect-ratio: 351/151;
    max-width: 213px;
  }
}
.fixed-menu .balloon01 {
  width: calc(213 / 213 * 100%);
  aspect-ratio: 213/151;
  animation: pukapuka 1.5s ease-in-out 0s infinite alternate-reverse;
}
@media (max-width: 767px) {
  .fixed-menu .balloon01 {
    position: absolute;
    top: 0;
    left: 0;
    width: 51%;
  }
}
.fixed-menu .balloon01 a {
  display: block;
}
.fixed-menu .balloon01 img {
  width: 100%;
}
.fixed-menu .balloon02 {
  margin-top: 4%;
  width: calc(153 / 213 * 100%);
  aspect-ratio: 153/124;
  animation: pukapuka2 1.75s ease-in-out 0s infinite alternate-reverse;
}
@media (max-width: 767px) {
  .fixed-menu .balloon02 {
    position: absolute;
    right: 0;
    top: 0;
    width: 39%;
  }
}
.fixed-menu .balloon02 a {
  display: block;
}
.fixed-menu .balloon02 img {
  width: 100%;
}
.fixed-menu .daifuku {
  width: calc(331 / 413 * 100%);
  aspect-ratio: 331/324;
  pointer-events: none;
}
@media (max-width: 767px) {
  .fixed-menu .daifuku {
    position: absolute;
    bottom: 0;
    left: 39%;
    width: 30%;
  }
}

@-webkit-keyframes pukapuka {
  0% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(20px);
  }
}

@keyframes pukapuka {
  0% {
    transform: translateY(-20px);
  }
  100% {
    transform: translateY(20px);
  }
}
@-webkit-keyframes pukapuka2 {
  0% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(-20px);
  }
}
@keyframes pukapuka2 {
  0% {
    transform: translateY(20px);
  }
  100% {
    transform: translateY(-20px);
  }
}
@-webkit-keyframes daifuku {
  0% {
    background-position: 50% 0;
  }
  15% {
    background-position: 100% 0;
  }
  25% {
    background-position: 100% 0;
  }
  50% {
    background-position: 0 0;
  }
}
@keyframes daifuku {
  0% {
    background-position: 50% 0;
  }
  15% {
    background-position: 100% 0;
  }
  25% {
    background-position: 100% 0;
  }
  50% {
    background-position: 0 0;
  }
}
/* スマホMV下のエリア */
.mv-daifuku {
  display: none;
  margin-top: 4%;
  margin-left: auto;
  position: relative;
  height: auto;
  aspect-ratio: 351/151;
  width: 80%;
  max-width: 503px;
}
@media (max-width: 960px) {
  .mv-daifuku {
    display: block;
  }
}
.mv-daifuku .balloon01 {
  position: absolute;
  top: 0;
  left: 0;
  width: 51%;
  aspect-ratio: 213/151;
  animation: pukapuka 1.5s ease-in-out 0s infinite alternate-reverse;
}
.mv-daifuku .balloon01 a {
  display: block;
}
.mv-daifuku .balloon01 img {
  width: 100%;
}
.mv-daifuku .balloon02 {
  margin-top: 4%;
  position: absolute;
  right: 0;
  top: 0;
  width: 39%;
  aspect-ratio: 153/124;
  animation: pukapuka2 1.75s ease-in-out 0s infinite alternate-reverse;
}
.mv-daifuku .balloon02 a {
  display: block;
}
.mv-daifuku .balloon02 img {
  width: 100%;
}
.mv-daifuku .daifuku {
  position: absolute;
  aspect-ratio: 331/324;
  bottom: 0;
  left: 39%;
  width: 30%;
  pointer-events: none;
}

/* 横メニュー */
.fixed-menu02 {
  position: fixed;
  top: auto;
  right: 0;
  bottom: 0;
  z-index: 90;
  height: auto;
  width: 64px;
}
@media (max-width: 767px) {
  .fixed-menu02 {
    width: 40px;
  }
}
.fixed-menu02 .balloon01 {
  color: #fff;
  background: var(--color-primary);
  font-size: 14px;
  font-weight: 700;
  border-radius: 32px 0 0 32px;
}
@media (max-width: 767px) {
  .fixed-menu02 .balloon01 {
    font-size: 12px;
  }
}
.fixed-menu02 .balloon01 a {
  padding: 24px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fixed-menu02 .balloon01 span {
  display: inline-block;
  position: relative;
  writing-mode: vertical-rl;
  color: #fff;
}
.fixed-menu02 .balloon01 img {
  width: 28px;
  height: auto;
  aspect-ratio: 28/84;
}
@media (max-width: 767px) {
  .fixed-menu02 .balloon01 img {
    width: 24px;
  }
}
.fixed-menu02 .balloon02 {
  margin-top: 8px;
  color: #fff;
  background: #DE49CF;
  font-size: 18px;
  font-weight: 700;
  border-radius: 32px 0 0 32px;
}
@media (max-width: 767px) {
  .fixed-menu02 .balloon02 {
    font-size: 16px;
  }
}
.fixed-menu02 .balloon02 span {
  display: inline-block;
  position: relative;
  writing-mode: vertical-rl;
  color: #fff;
}
.fixed-menu02 .balloon02 a {
  padding: 24px 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fixed-menu02 .daifuku {
  margin-top: 8px;
  width: 70px;
  aspect-ratio: 331/324;
  pointer-events: none;
}

/* 
PC版、mvのみ吹き出し版、それ以外は横バナー
SP時は全て吹き出しバージョン
*/
body:not(.home) .fixed-menu {
  display: none;
}
body:not(.home) .fixed-menu02 {
  display: block;
}
@media (max-width: 960px) {
  body:not(.home) .fixed-menu {
    display: block;
  }
  body:not(.home) .fixed-menu02 {
    display: none;
  }
}

body.home .fixed-menu {
  display: block;
}
body.home .fixed-menu02 {
  display: none;
}
@media (max-width: 960px) {
  body.home .fixed-menu {
    display: none;
  }
  body.home .fixed-menu02 {
    display: none;
  }
}

body.home.is-mv-hide .fixed-menu {
  display: none;
}
body.home.is-mv-hide .fixed-menu02 {
  display: block;
}
@media (max-width: 960px) {
  body.home.is-mv-hide .fixed-menu {
    display: block;
  }
  body.home.is-mv-hide .fixed-menu02 {
    display: none;
  }
}

/**************
* fanclub modal pc only
***************/
/**********************
* map title animation
************************/
.c-map-title {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  gap: 0px 0px;
  margin: 0 auto;
}
.c-map-title > .g01 {
  position: relative;
  z-index: 2;
  grid-area: 1/1/2/2;
}
.c-map-title > .g02 {
  position: relative;
  z-index: 1;
  grid-area: 1/1/2/2;
  -webkit-animation: scale-pulse03 1s ease-in-out infinite alternate;
          animation: scale-pulse03 1s ease-in-out infinite alternate;
}
.c-map-title .star {
  aspect-ratio: 73/94;
  width: 11.6129032258%;
}
.c-map-title .star img {
  width: 100%;
}
.c-map-title .star01 {
  position: absolute;
  right: -1%;
  top: 19%;
  -webkit-animation: scale-pulse 1.2s ease-in-out infinite alternate;
          animation: scale-pulse 1.2s ease-in-out infinite alternate;
}
.c-map-title .star02 {
  position: absolute;
  left: 63%;
  top: -2%;
  -webkit-animation: scale-pulse 1.2s ease-in-out infinite alternate;
          animation: scale-pulse 1.2s ease-in-out infinite alternate;
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.c-map-title .star03 {
  position: absolute;
  left: -2%;
  bottom: 9%;
  -webkit-animation: scale-pulse 1.2s ease-in-out infinite alternate;
          animation: scale-pulse 1.2s ease-in-out infinite alternate;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.c-map-title .arrow {
  width: 10.3225806452%;
}
.c-map-title img {
  width: 100%;
}

@-webkit-keyframes scale-pulse {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.5);
  }
}

@keyframes scale-pulse {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.5);
  }
}
@-webkit-keyframes scale-pulse02 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.3);
  }
}
@keyframes scale-pulse02 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(0.3);
  }
}
@-webkit-keyframes scale-pulse03 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
@keyframes scale-pulse03 {
  from {
    transform: scale(1);
  }
  to {
    transform: scale(1.1);
  }
}
.top-map-thumb {
  aspect-ratio: 799/535;
  overflow: hidden;
}
@media (max-width: 960px) {
  .top-map-thumb {
    margin-top: 40px;
  }
}
.top-map-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/***********************
* anchorlink list
************************/
.c-anchor-menu {
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 98%;
  gap: 1em 2em;
}
@media (max-width: 767px) {
  .c-anchor-menu {
    gap: 1em;
  }
}
.c-anchor-menu li {
  position: relative;
}
.c-anchor-link {
  position: relative;
  padding: 1.5em 1em 2em 1em;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 283px;
  height: 80px;
  text-align: center;
  border-radius: var(--radius-md);
  font-size: 1.8rem;
  color: var(--color-primary);
  background: url(../img/common/bg_button05.png) no-repeat center/cover;
  transition: transform ease-in-out 0.3s;
}
@media (max-width: 767px) {
  .c-anchor-link {
    font-size: 1.6rem;
    width: 100%;
    height: auto;
  }
}
.c-anchor-link::before {
  content: "";
  position: absolute;
  bottom: 0.5em;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background: url(../img/common/arrow_d.svg) no-repeat center/contain;
  width: 1.25em;
  height: 1.25em;
}
.c-anchor-link:hover {
  transform: scale(1.1);
}

/*************************
* TOP
**************************/
/*mv*/
.mv-wrap {
  position: relative;
  padding: 0 4%;
}
@media (max-width: 960px) {
  .mv-wrap {
    padding-top: 92px;
    padding: 0;
  }
}

.mv-inner {
  position: relative;
  margin: 0 auto;
  padding: 0 2% 0 9%;
  display: grid;
  grid-template-columns: 1fr 56%;
  grid-template-rows: auto auto auto;
  gap: 0px 0px;
  aspect-ratio: 1752/1003;
  justify-content: space-between;
}
.mv-inner .g01 {
  grid-area: 1/1/2/3;
  position: relative;
  z-index: 3;
}
.mv-inner .g02 {
  grid-area: 1/1/4/3;
}
.mv-inner .g03 {
  grid-area: 2/1/3/2;
  position: relative;
  z-index: 2;
}
.mv-inner .g04 {
  grid-area: 3/1/4/3;
}
@media (max-width: 960px) {
  .mv-inner {
    padding: 0 0 0 4%;
    aspect-ratio: auto;
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto auto;
    gap: 0px 3%;
  }
  .mv-inner .g03 {
    grid-area: 1/1/2/2;
  }
  .mv-inner .g02 {
    grid-area: 1/2/3/3;
  }
  .mv-inner .g01 {
    align-content: end;
    grid-area: 2/1/3/3;
  }
  .mv-inner .g05 {
    grid-area: 3/1/4/3;
  }
  .mv-inner .g04 {
    grid-area: 4/1/5/3;
  }
}

/* photo */
.mv-inner::before {
  position: absolute;
  display: block;
  content: "";
  width: 55%;
  right: 2%;
  top: 0;
  aspect-ratio: 239/291;
  background: url(../img/top/mv_photo_pc.webp) no-repeat top right/contain;
}
@media (max-width: 960px) {
  .mv-inner::before {
    top: 92px;
    right: 0;
    background-image: url(../img/top/mv_photo_sp.png);
    aspect-ratio: 622/863;
    width: 75%;
  }
}

.mv-title {
  position: relative;
  padding-top: 10%;
  width: 42%;
  z-index: 2;
}
@media (max-width: 960px) {
  .mv-title {
    padding-top: 10%;
    width: 83%;
  }
}
.mv-title img {
  width: 100%;
}

@-webkit-keyframes fillBar {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}

@keyframes fillBar {
  from {
    width: 0%;
  }
  to {
    width: 100%;
  }
}
.mv-scroll {
  position: absolute;
  left: 2%;
  bottom: -6%;
  height: calc(134/14 * 1em);
  font-size: 14px;
  font-size: min(1vw,14px);
  writing-mode: vertical-rl;
  pointer-events: none;
}
.mv-scroll .text {
  position: absolute;
  left: -26px;
  top: -32px;
  bottom: auto;
}

/* 線のアニメーション部分 */
.mv-scroll::before {
  -webkit-animation: scroll 2s infinite;
          animation: scroll 2s infinite;
  background-color: #FFFF99;
  position: absolute;
  top: 0;
  right: -0.5em;
  content: "";
  margin: auto;
  width: 16px;
  height: 16px;
  border: 1px solid var(--color-primary);
  border-radius: 10px;
  z-index: 2;
}

/* 線の背景色 */
.mv-scroll::after {
  background-color: var(--color-primary);
  bottom: 0;
  content: "";
  height: calc(134/14 * 1em);
  right: -2.5em;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}

/* 線のアニメーション */
@-webkit-keyframes scroll {
  0% {
    transform: scale(1, 1);
    top: -8px;
  }
  50% {
    transform: scale(1, 1);
  }
  51% {
    transform: scale(1, 1);
  }
  100% {
    top: 100%;
    transform: scale(0, 0);
  }
}
@keyframes scroll {
  0% {
    transform: scale(1, 1);
    top: -8px;
  }
  50% {
    transform: scale(1, 1);
  }
  51% {
    transform: scale(1, 1);
  }
  100% {
    top: 100%;
    transform: scale(0, 0);
  }
}
@media (max-width: 960px) {
  .mv-scroll {
    left: 9%;
    bottom: 9.5%;
    height: calc(134/14 * 1em);
    font-size: 14px;
    font-size: min(3.48vw,14px);
  }
}
.mv-wrap .pl-img {
  position: absolute;
  z-index: 1;
}
.mv-wrap .pl-img img {
  width: 100%;
  height: auto;
}
.mv-wrap .p01 {
  top: 54.5%;
  left: 39.5%;
  width: 5%;
}
@media (max-width: 960px) {
  .mv-wrap .p01 {
    top: 35.5%;
    left: 20.5%;
    width: 9%;
  }
}
.mv-wrap .p02 {
  top: 25.25%;
  right: 1.5%;
  width: 3%;
}
@media (max-width: 960px) {
  .mv-wrap .p02 {
    top: 7.25%;
    right: 15.5%;
    width: 5%;
  }
}
.mv-wrap .p03 {
  top: 58.5%;
  left: 32%;
  width: 2.5%;
}
@media (max-width: 960px) {
  .mv-wrap .p03 {
    top: 11.5%;
    right: 3%;
    left: auto;
    width: 4%;
  }
}
.mv-wrap .p04 {
  bottom: 24.5%;
  left: 48.25%;
  width: 4%;
}
@media (max-width: 960px) {
  .mv-wrap .p04 {
    bottom: 33.5%;
    left: auto;
    right: 24.25%;
    width: 7%;
  }
}
.mv-wrap .p05 {
  top: 55.5%;
  left: -0.5%;
  width: 6%;
}
@media (max-width: 960px) {
  .mv-wrap .p05 {
    width: 7%;
    top: 61.5%;
    left: auto;
    right: 5.5%;
  }
}
.mv-wrap .p06 {
  top: 56.5%;
  left: -3.5%;
  width: 9%;
}
@media (max-width: 960px) {
  .mv-wrap .p06 {
    top: 62.5%;
    right: 8%;
    width: 7%;
    left: auto;
  }
}
.mv-wrap .p07 {
  top: 16.5%;
  left: 29.5%;
  width: 4%;
}
@media (max-width: 960px) {
  .mv-wrap .p07 {
    top: 51.5%;
    left: 37.5%;
    width: 5%;
  }
}
.mv-wrap .p08 {
  top: 36.5%;
  left: 1%;
  width: 3%;
}
@media (max-width: 960px) {
  .mv-wrap .p08 {
    top: 4.5%;
    left: 47%;
    width: 5%;
  }
}
.mv-wrap .p09 {
  display: none;
}
.mv-wrap .p10 {
  bottom: 13.5%;
  left: 54.8%;
  width: 2%;
}
@media (max-width: 960px) {
  .mv-wrap .p10 {
    bottom: 38.5%;
    right: 12.8%;
    left: auto;
    width: 3%;
  }
}
.mv-wrap .p11 {
  top: 6.25%;
  left: 37%;
  width: 7%;
}
@media (max-width: 960px) {
  .mv-wrap .p11 {
    top: 1.25%;
    left: 68%;
    width: 11%;
  }
}
.mv-wrap .p12 {
  top: -0.75%;
  left: 37%;
  width: 12.5%;
}
@media (max-width: 960px) {
  .mv-wrap .p12 {
    top: 0.25%;
    left: 71%;
    width: 15%;
  }
}
.mv-wrap .p13 {
  bottom: 22.25%;
  right: 5%;
  width: 4.5%;
}
@media (max-width: 960px) {
  .mv-wrap .p13 {
    display: none;
  }
}
.mv-wrap .p14 {
  top: 2.25%;
  right: 14%;
  width: 2.5%;
}
@media (max-width: 960px) {
  .mv-wrap .p14 {
    display: none;
  }
}
.mv-wrap .p15 {
  bottom: 26.25%;
  left: 36%;
  width: 2%;
}
@media (max-width: 960px) {
  .mv-wrap .p15 {
    display: none;
  }
}
.mv-wrap .p16 {
  top: 43.25%;
  right: -1%;
  width: 6.5%;
}
@media (max-width: 960px) {
  .mv-wrap .p16 {
    display: none;
  }
}
.mv-wrap .p17 {
  top: 45.25%;
  right: 0;
  width: 8.5%;
}
@media (max-width: 960px) {
  .mv-wrap .p17 {
    display: none;
  }
}

/**********************
* top 共通
***********************/
.top-view-more {
  width: 141px;
  height: 141px;
}
@media (max-width: 767px) {
  .top-view-more {
    width: 100px;
    height: 100px;
  }
}

/**********************
* top banner
***********************/
.banner-slider {
  margin-top: min(158px, 11.2857142857%);
  position: relative;
  padding: 55px 0 55px;
}
@media (max-width: 960px) {
  .banner-slider {
    margin-top: 0;
    padding: 70px 0 70px;
  }
}

.banner-slider .swiper-button-next, .banner-slider .swiper-button-prev {
  top: 46%;
  width: 5%;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../img/top/bnr_bg_btn.png) no-repeat center/cover;
  border-radius: 100%;
}
@media (max-width: 960px) {
  .banner-slider .swiper-button-next, .banner-slider .swiper-button-prev {
    top: 53%;
    width: 14.4%;
  }
}
.banner-slider .swiper-button-next {
  right: 6px;
}
.banner-slider .swiper-button-prev {
  left: 18px;
}
.banner-slider .swiper-button-next:after, .banner-slider .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
}
.banner-slider .swiper-button-next:after {
  background: url(../img/top/bnr_next.svg) no-repeat center/cover;
}
.banner-slider .swiper-button-prev:after {
  background: url(../img/top/bnr_prev.svg) no-repeat center/cover;
}
.banner-slider .swiper-pagination-bullet {
  margin: 0 10px !important;
  width: 12px !important;
  height: 12px !important;
}
@media (max-width: 960px) {
  .banner-slider .swiper-pagination-bullet {
    margin: 0 6px !important;
    width: 8px !important;
    height: 8px !important;
  }
}
.banner-slider .swiper-pagination-bullet {
  background-color: #b3b3b3;
}
.banner-slider .swiper-pagination-bullet-active {
  background-color: hotpink;
}
.banner-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/**********************
* pickup
***********************/
.top-topics {
  padding: 80px 0;
}
@media (max-width: 960px) {
  .top-topics {
    padding: 70px 0 90px;
  }
}

.top-frame01 {
  padding: 72px calc(56/1336 * 100%);
}
@media (max-width: 960px) {
  .top-frame01 {
    padding: 40px 6%;
  }
}

.top-pickup-grid {
  display: grid;
  grid-template-columns: calc(461 / 1224 * 100%) calc(696 / 1224 * 100%);
  grid-template-rows: auto auto;
  gap: 64px calc(67 / 1224 * 100%);
  grid-template-areas: "g01 g01" "g02 g03";
}
.top-pickup-grid > .g01 {
  grid-area: g01;
}
.top-pickup-grid > .g02 {
  grid-area: g02;
}
.top-pickup-grid > .g03 {
  grid-area: g03;
}
@media (max-width: 960px) {
  .top-pickup-grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 32px 0;
    grid-template-areas: "g01" "g02" "g03";
  }
}

.pickup-title {
  position: relative;
  margin: 0 auto;
  text-align: center;
  width: 400px;
}
@media (max-width: 960px) {
  .pickup-title {
    margin: 0 auto;
    width: 52%;
  }
}
.pickup-title span {
  position: relative;
  z-index: 1;
}
.pickup-title::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 0;
  transform: translateX(-50%);
  display: inline-block;
  width: 400px;
  aspect-ratio: 553/191;
  background: url(../img/top/title_bg_pickup.svg) no-repeat top center/contain;
}
@media (max-width: 960px) {
  .pickup-title::before {
    left: 60%;
    width: 195%;
    background-image: url(../img/top/title_bg_pickup_sp.svg);
  }
}
.pickup-title::after {
  content: "";
  margin: 10px auto 0;
  display: block;
  width: 50px;
  height: 1px;
  background-color: var(--color-secondary);
}

.pickup-body {
  display: flex;
  flex-direction: column;
  gap: 40px 0;
}

.pickup-post-contents p + p {
  margin-top: 1em;
}
.pickup-post-contents a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.pickup-post-contents a:hover, .pickup-post-contents a:active, .pickup-post-contents a:focus {
  text-decoration: none;
}

.pickup-post-title {
  color: var(--color-secondary);
}

.pickup-thumb {
  overflow: hidden;
  aspect-ratio: 411/553;
  border-radius: 64px;
  border: 1px solid var(--color-primary);
}
@media (max-width: 960px) {
  .pickup-thumb {
    border-radius: 32px;
    aspect-ratio: 338/400;
  }
}
.pickup-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

/**********************
* topics TOP/アーカイブ共通
***********************/
.top-topics-grid {
  margin-top: 80px;
  display: flex;
  align-items: center;
  gap: 0 40px;
}
@media (max-width: 960px) {
  .top-topics-grid {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 40px 40px;
    grid-template-areas: "t01 t02" "t03 t03";
  }
  .top-topics-grid > .t01 {
    grid-area: t01;
  }
  .top-topics-grid > .t02 {
    grid-area: t02;
    margin-left: auto;
  }
  .top-topics-grid > .t03 {
    grid-area: t03;
  }
}

.top-tp-title {
  flex-shrink: 0;
}

.top-topics-button {
  flex-shrink: 0;
}

.c-topics-card {
  border-bottom: 1px solid #B8B8E5;
}
.c-topics-card:first-child {
  border-top: 1px solid #B8B8E5;
}
.c-topics-card .link {
  position: relative;
  padding: 1em 0;
  display: grid;
  grid-template-columns: 6.5em auto calc(440 / 802 * 100%);
  grid-template-rows: auto auto;
  gap: 1em;
  grid-template-areas: "g01 g02 g04" "g03 g03 g04";
}
.c-topics-card .link .g01 {
  align-self: center;
  grid-area: g01;
}
.c-topics-card .link .g02 {
  grid-area: g02;
}
.c-topics-card .link .g03 {
  grid-area: g03;
}
.c-topics-card .link .g04 {
  align-self: center;
  grid-area: g04;
}
@media (max-width: 767px) {
  .c-topics-card .link {
    grid-template-columns: 8em auto;
    grid-template-rows: auto auto auto;
    gap: 0.75em;
    grid-template-areas: "g01 g02" "g03 g03" "g04 g04";
  }
}
.c-topics-card .link::before {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  display: inline-block;
  width: 1.75em;
  height: 1.75em;
  background-color: var(--color-primary);
  -webkit-mask-image: url(../img/common/arrow_r.svg);
          mask-image: url(../img/common/arrow_r.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}
@media (max-width: 767px) {
  .c-topics-card .link::before {
    top: 75%;
  }
}
.c-topics-card .date {
  color: var(--color-primary);
}
.c-topics-card .category span {
  display: inline-block;
  padding: 0 0.5em;
  text-align: center;
  text-transform: uppercase;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
}
.c-topics-card .title {
  color: var(--color-secondary);
}
.c-topics-card .text {
  padding-right: 3em;
  color: var(--text-black);
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

/**********************
* schedule
***********************/
.top-schedule {
  padding: calc(145 / 1400 * 100%) 0 calc(70 / 1400 * 100%);
  background: url(../img/top/bg_sch_m.png) no-repeat top center/cover;
}
@media (max-width: 767px) {
  .top-schedule {
    background: url(../img/top/bg_sch.png) no-repeat top center/cover;
  }
}
@media (max-width: 767px) {
  .top-schedule {
    padding: 16.8% 0 48%;
    background-image: url(../img/top/bg_sch_sp.png);
    background-position: left top;
  }
}
@media (min-width: 961px) {
  .top-schedule .l-inner {
    width: 88%;
  }
}

.top-schedule-grid {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0px 80px;
  grid-template-areas: "g01 g02" "g03 g03";
}
.top-schedule-grid .g01 {
  grid-area: g01;
}
.top-schedule-grid .g02 {
  grid-area: g02;
  margin-left: auto;
}
.top-schedule-grid .g03 {
  grid-area: g03;
}
@media (max-width: 767px) {
  .top-schedule-grid {
    gap: 0px 30px;
  }
}

.schedule-wrap {
  margin-top: 72px;
  width: 100%;
  aspect-ratio: 1228/782;
  background-color: #3C3C3C;
}
.schedule-wrap iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .schedule-wrap {
    margin-top: 18px;
    aspect-ratio: 3/5;
  }
}

/**********************
* discography
***********************/
.top-dg {
  padding: 110px 0 140px;
}
@media (max-width: 960px) {
  .top-dg {
    padding: 55px 0 70px;
  }
}

.top-frame02 {
  padding: 72px min(145px, 6.36%) 72px min(145px, 10.85%);
}
@media screen and (min-width: 961px) and (max-width: 1400px) {
  .top-frame02 {
    padding: 72px 4% 72px;
  }
}
@media (max-width: 960px) {
  .top-frame02 {
    padding: 37px calc(56 / 1400 * 100%);
  }
}

.top-dg-grid {
  justify-content: center;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto;
  gap: 0px calc(80 / 1400 * 100%);
  grid-template-areas: "g01 g02";
}
.top-dg-grid .g01 {
  grid-area: g01;
}
.top-dg-grid .g02 {
  grid-area: g02;
}

.top-dg-slider-area {
  margin-top: 58px;
  display: grid;
  grid-template-columns: calc(656 / 1244 * 100%) 1fr;
  grid-template-rows: auto auto;
  gap: 0px calc(64 / 1244 * 100%);
  grid-template-areas: "g01 g02" "g01 g03";
}
.top-dg-slider-area .g01 {
  grid-area: g01;
}
.top-dg-slider-area .g02 {
  grid-area: g02;
  align-self: center;
}
.top-dg-slider-area .g03 {
  grid-area: g03;
}
@media screen and (min-width: 961px) and (max-width: 1400px) {
  .top-dg-slider-area {
    grid-template-columns: 50% 1fr;
  }
}
@media (max-width: 960px) {
  .top-dg-slider-area {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
    grid-template-areas: "g01" "g02" "g03";
  }
}

.top-dg-main .top-dg-main-wrapper {
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  overflow: hidden;
}
.top-dg-main .top-dg-main-slide:not(.is-active) {
  visibility: hidden;
  opacity: 0;
}
.top-dg-main .top-dg-main-slide {
  grid-area: stack;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  will-change: opacity;
}
.top-dg-main .category span {
  display: inline-block;
  padding: 0 0.5em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 8px;
}
.top-dg-main .title {
  margin-top: 10px;
}

.top-dg-links {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 2%;
}
.top-dg-links .top-dg-links-slide:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  display: none;
}
.top-dg-links .top-dg-links-slide {
  transition: opacity 0.35s ease, visibility 0.35s ease;
  will-change: opacity;
}
.top-dg-links .top-dg-button-next, .top-dg-links .top-dg-button-prev {
  margin-top: 0;
  width: 100px;
  height: 100px;
  background: url(../img/top/disc_bg_btn.svg) no-repeat center/cover;
  border-radius: 100%;
  transition: transform 0.3s ease-in-out;
  flex-shrink: 0;
}
.top-dg-links .top-dg-button-next:hover, .top-dg-links .top-dg-button-prev:hover {
  transform: scale(1.05);
}
.top-dg-links .top-dg-links-wrapper {
  order: 2;
  width: 100%;
  max-width: 195px;
}
.top-dg-links .top-dg-button-next {
  order: 3;
}
.top-dg-links .top-dg-button-prev {
  order: 1;
}
.top-dg-links .top-dg-button-next:after, .top-dg-links .top-dg-button-prev:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}
.top-dg-links .top-dg-button-next:after {
  background: url(../img/top/disc_next.svg) no-repeat center/cover;
}
.top-dg-links .top-dg-button-prev:after {
  background: url(../img/top/disc_prev.svg) no-repeat center/cover;
}

@media screen and (min-width: 961px) and (max-width: 1400px) {
  .top-dg-links .top-dg-button-next, .top-dg-links .top-dg-button-prev {
    width: 90px;
    height: 90px;
  }
}
@media (max-width: 960px) {
  .top-dg-links .top-dg-button-next, .top-dg-links .top-dg-button-prev {
    width: 68px;
    height: 68px;
  }
}
.top-dg-links-wrapper {
  position: relative;
  display: grid;
  grid-template-areas: "stack";
}

.dg-slide-more > * {
  margin: 0 auto;
  width: 100% !important;
}

.top-dg-thumbnail {
  position: relative;
  display: grid;
  grid-template-areas: "stack";
}
.top-dg-thumbnail .top-dg-thumb-slide:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.top-dg-thumbnail .top-dg-thumb-slide {
  grid-area: stack;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 24px;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  will-change: opacity;
}
.top-dg-thumbnail .top-dg-thumb-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-dg-thumb-wrapper {
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  overflow: hidden;
}

/**********************
* profile
***********************/
.top-pf {
  padding: 80px 0;
}
@media (max-width: 960px) {
  .top-pf {
    padding: 65px 0 70px;
  }
}
@media (min-width: 961px) {
  .top-pf .l-inner {
    width: 88%;
  }
}

.top-pf-grid {
  display: grid;
  grid-template-columns: 59.807073955% 1fr;
  grid-template-rows: auto auto auto;
  gap: 0 calc(72/1224 * 100%);
  grid-template-areas: "g03 g01" "g03 g02" "g03 g04";
}
.top-pf-grid .g01 {
  grid-area: g01;
}
.top-pf-grid .g02 {
  grid-area: g02;
}
.top-pf-grid .g03 {
  grid-area: g03;
}
.top-pf-grid .g04 {
  grid-area: g04;
}
@media (max-width: 960px) {
  .top-pf-grid {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: auto auto;
    grid-template-rows: auto auto auto;
    gap: 0px 0%;
    grid-template-areas: "g03 g03" "g01 g04" "g02 g02";
  }
}

.top-pf-thumb {
  aspect-ratio: 744/599;
  overflow: hidden;
}
@media (max-width: 960px) {
  .top-pf-thumb {
    margin-top: 0;
    border-radius: 16px;
    aspect-ratio: 378/317;
  }
}
.top-pf-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.top-pf-body {
  margin-top: 100px;
}
@media (max-width: 960px) {
  .top-pf-body {
    margin-top: 40px;
  }
}

.top-pf-button {
  margin: 40px auto 0;
}
@media (max-width: 960px) {
  .top-pf-button {
    margin: 30px 0 0 auto;
  }
}

/**********************
* map
***********************/
.top-map {
  padding: calc(160 / 1400 * 100%) 0 calc(160 / 1400 * 100%);
  background: url(../img/top/bg_map_m.png) no-repeat center/100%;
}
@media screen and (min-width: 961px) and (max-width: 1400px) {
  .top-map {
    background: url(../img/top/bg_map.png) no-repeat center/100%;
  }
}
@media (max-width: 960px) {
  .top-map {
    padding: calc(164 / 402 * 100%) 0 calc(108 / 402 * 100%);
    background-size: cover;
    background-image: url(../img/top/bg_map_sp.png);
    background-position: top left;
  }
}

.top-map-grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 61.4615384615%;
  grid-template-rows: 48% auto auto;
  gap: 0px 0px;
  grid-template-areas: ". g02" "g03 g02" "g04 g02";
}
.top-map-grid > .g02 {
  grid-area: g02;
}
.top-map-grid > .g03 {
  grid-area: g03;
}
.top-map-grid > .g04 {
  grid-area: g04;
}
@media (max-width: 960px) {
  .top-map-grid {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
    gap: 0px 0%;
    grid-template-areas: "g02" "g03" "g04";
  }
}

.top-map-title-wrap {
  position: absolute;
  left: -3%;
  top: -52%;
  width: 50%;
  max-width: 668px;
}
@media (max-width: 960px) {
  .top-map-title-wrap {
    position: absolute;
    left: 0;
    top: -49%;
    width: 100%;
  }
}

.top-map-title {
  position: relative;
}

.top-map-thumb {
  aspect-ratio: 799/535;
  overflow: hidden;
}
@media (max-width: 960px) {
  .top-map-thumb {
    margin-top: 40px;
  }
}
.top-map-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media (max-width: 960px) {
  .top-map-body {
    margin-top: 28px;
  }
}
.top-map-body > * {
  width: 80%;
  margin-left: auto;
}
@media (max-width: 960px) {
  .top-map-body > * {
    width: 100%;
  }
}

.top-map-button {
  margin: 34px auto 0;
}
/***
* movie
*****/
.top-movie {
  padding: 80px 0;
}

.top-movie-grid {
  display: grid;
  grid-template-columns: auto auto auto auto;
  grid-template-rows: auto auto;
  gap: 0px calc(80 / 1400 * 100%);
  grid-template-areas: ". g01 g02 ." "g03 g03 g03 g03";
}
.top-movie-grid .g03 {
  grid-area: g03;
}
.top-movie-grid .g01 {
  grid-area: g01;
}
.top-movie-grid .g02 {
  grid-area: g02;
}
@media (max-width: 767px) {
  .top-movie-grid {
    margin: 0 auto;
    width: 92%;
    grid-template-columns: auto auto;
    grid-template-areas: "g01 g02" "g03 g03";
  }
  .top-movie-grid .g02 {
    margin-left: auto;
  }
}

.movie-slider {
  padding: 70px 0 85px;
  position: relative;
}
@media (max-width: 767px) {
  .movie-slider {
    padding: 35px 0 47px;
  }
}
.movie-slider .swiper-button-next, .movie-slider .swiper-button-prev {
  top: 39%;
  width: 6%;
  height: auto;
  aspect-ratio: 1/1;
  background: url(../img/top/movie_bg_btn.png) no-repeat center/cover;
  border-radius: 100%;
}
@media (max-width: 767px) {
  .movie-slider .swiper-button-next, .movie-slider .swiper-button-prev {
    width: 11.7333333333%;
    height: auto;
  }
}
.movie-slider .swiper-button-next {
  right: 21%;
}
.movie-slider .swiper-button-prev {
  left: 21%;
}
@media (min-width: 1700px) {
  .movie-slider .swiper-button-next {
    right: 30%;
  }
  .movie-slider .swiper-button-prev {
    left: 30%;
  }
}
@media (min-width: 2000px) {
  .movie-slider .swiper-button-next {
    right: 34%;
  }
  .movie-slider .swiper-button-prev {
    left: 34%;
  }
}
@media (max-width: 767px) {
  .movie-slider .swiper-button-next {
    right: -13px;
  }
  .movie-slider .swiper-button-prev {
    left: -13px;
  }
}
.movie-slider .swiper-button-next:after, .movie-slider .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
}
.movie-slider .swiper-button-next:after {
  background: url(../img/top/movie_next.png) no-repeat center/cover;
}
.movie-slider .swiper-button-prev:after {
  background: url(../img/top/movie_prev.png) no-repeat center/cover;
}
.movie-slider .swiper-pagination-bullet {
  margin: 0 10px !important;
  width: 12px !important;
  height: 12px !important;
}
.movie-slider .swiper-pagination-bullet {
  background-color: #b3b3b3;
}
.movie-slider .swiper-pagination-bullet-active {
  background-color: hotpink;
}
.movie-slider .swiper-slide {
  display: flex;
  flex-direction: column-reverse;
}
.movie-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.movie-slide__title {
  margin-top: 1em;
  font-size: 1.8rem;
  font-weight: 700;
}

/**********************
* sns
***********************/
.top-sns {
  padding: 0 0;
}
@media (max-width: 767px) {
  .top-sns {
    padding-bottom: 80px;
  }
}

.top-sns-grid {
  display: grid;
  grid-template-columns: auto 48%;
  grid-template-rows: auto 1fr;
  gap: 45px calc(120/1144 * 100%);
  grid-template-areas: "g01 g02" "g03 g02";
}
.top-sns-grid .g01 {
  grid-area: g01;
}
.top-sns-grid .g02 {
  grid-area: g02;
}
.top-sns-grid .g03 {
  grid-area: g03;
}
@media (max-width: 767px) {
  .top-sns-grid {
    grid-template-columns: auto auto;
    grid-template-areas: "g01 g03" "g02 g02";
  }
  .top-sns-grid .g03 {
    margin-left: auto;
  }
}

/**********************
* contact
***********************/
.c-contact {
  position: relative;
  padding: calc(138 / 1920 * 100%) 0 calc(120 / 1920 * 100%);
  overflow: hidden;
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .c-contact {
    padding: calc(138 / 1400 * 100%) 0 calc(120 / 1400 * 100%);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .c-contact {
    padding: calc(138 / 1200 * 100%) 0 calc(120 / 1200 * 100%);
  }
}
@media screen and (min-width: 961px) and (max-width: 1000px) {
  .c-contact {
    padding: calc(138 / 1000 * 100%) 0 calc(120 / 1000 * 100%);
  }
}
@media screen and (max-width: 960px) {
  .c-contact {
    padding: calc(138 / 960 * 100%) 0 0;
  }
}

.c-contact-bg .pl-img {
  position: absolute;
  z-index: 2;
}
.c-contact-bg .pl-img img {
  width: 100%;
  height: auto;
}
.c-contact-bg .p01 {
  top: 33.5%;
  right: 44.5%;
}
@media (max-width: 960px) {
  .c-contact-bg .p01 {
    top: 59.5%;
    right: 2.5%;
  }
}
.c-contact-bg .p02 {
  top: 48.25%;
  right: 21.5%;
}
@media (max-width: 960px) {
  .c-contact-bg .p02 {
    top: -0.75%;
    right: 17.5%;
  }
}
.c-contact-bg .p03 {
  top: 39.5%;
  left: 19%;
}
@media (max-width: 960px) {
  .c-contact-bg .p03 {
    top: 86.5%;
    right: 3%;
    left: auto;
  }
}
.c-contact-bg .p04 {
  bottom: 13.5%;
  right: 22.25%;
}
@media (max-width: 960px) {
  .c-contact-bg .p04 {
    bottom: 21.5%;
    right: 12.25%;
  }
}
.c-contact-bg .p05 {
  bottom: -7.5%;
  left: 22.5%;
}
@media (max-width: 960px) {
  .c-contact-bg .p05 {
    bottom: 36.5%;
    left: 12.5%;
  }
}
.c-contact-bg .p06 {
  bottom: -13.5%;
  left: 20%;
}
@media (max-width: 960px) {
  .c-contact-bg .p06 {
    bottom: 31.5%;
    left: 5%;
  }
}
.c-contact-bg .p07 {
  bottom: 15.5%;
  left: 20.5%;
}
@media (max-width: 960px) {
  .c-contact-bg .p07 {
    bottom: 13.5%;
    left: 8.5%;
  }
}
.c-contact-bg .p08 {
  top: 57.5%;
  left: 17%;
}
@media (max-width: 960px) {
  .c-contact-bg .p08 {
    top: 63.5%;
    left: 24%;
  }
}
.c-contact-bg .p09 {
  bottom: 39.5%;
  right: 19%;
}
@media (max-width: 960px) {
  .c-contact-bg .p09 {
    bottom: 23.5%;
    right: auto;
    left: 4%;
  }
}
.c-contact-bg .p10 {
  top: 42.5%;
  right: 43.8%;
}
@media (max-width: 960px) {
  .c-contact-bg .p10 {
    top: 34.5%;
    right: 9.8%;
  }
}
.c-contact-bg .p11 {
  top: 7.25%;
  left: 45%;
}
@media (max-width: 960px) {
  .c-contact-bg .p11 {
    top: -0.75%;
    left: 31%;
  }
}
.c-contact-bg .p12 {
  top: 7.25%;
  left: 45%;
}
@media (max-width: 960px) {
  .c-contact-bg .p12 {
    top: -4.75%;
    left: 29%;
  }
}

.c-contact-bg {
  position: relative;
  aspect-ratio: 1920/612;
  z-index: 0;
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .c-contact-bg {
    aspect-ratio: 1400/612;
  }
}
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .c-contact-bg {
    aspect-ratio: 1200/612;
  }
}
@media screen and (min-width: 961px) and (max-width: 1000px) {
  .c-contact-bg {
    aspect-ratio: 1000/612;
  }
}
@media screen and (max-width: 960px) {
  .c-contact-bg {
    aspect-ratio: 432/745;
  }
}
.c-contact-bg::before {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  display: block;
  width: 100%;
  aspect-ratio: 1920/612;
  background: url(../img/common/img_contact03.png) no-repeat top center/contain;
  height: auto;
  z-index: 2;
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .c-contact-bg::before {
    aspect-ratio: 1400/612;
    background-image: url(../img/common/img_contact03_m.png);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .c-contact-bg::before {
    aspect-ratio: 1200/612;
    background-image: url(../img/common/img_contact03_s.png);
  }
}
@media screen and (min-width: 961px) and (max-width: 1000px) {
  .c-contact-bg::before {
    aspect-ratio: 1000/612;
    background-image: url(../img/common/img_contact03_ss.png);
  }
}
@media screen and (max-width: 960px) {
  .c-contact-bg::before {
    aspect-ratio: 402/684;
    background-image: url(../img/common/img_contact03_sp.png);
    background-size: cover;
  }
}
.c-contact-bg::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  display: block;
  height: auto;
  width: 100%;
  aspect-ratio: 1920/612;
  background: url(../img/common/img_contact02.png) no-repeat top center/contain;
  z-index: 1;
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .c-contact-bg::after {
    aspect-ratio: 1400/612;
    background-image: url(../img/common/img_contact02_m.png);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .c-contact-bg::after {
    aspect-ratio: 1200/612;
    background-image: url(../img/common/img_contact02_s.png);
  }
}
@media screen and (min-width: 961px) and (max-width: 1000px) {
  .c-contact-bg::after {
    aspect-ratio: 1000/612;
    background-image: url(../img/common/img_contact02_ss.png);
  }
}
@media screen and (max-width: 960px) {
  .c-contact-bg::after {
    aspect-ratio: 402/684;
    background-image: url(../img/common/img_contact02_sp.png);
    background-size: cover;
  }
}

.c-contact-grid {
  padding: calc(135 / 1400 * 100%) 0 calc(40 / 1400 * 100%);
  position: relative;
  z-index: 3;
  flex-direction: column;
  display: flex;
  height: 100%;
  max-width: 1010px;
}
@media screen and (min-width: 1201px) and (max-width: 1400px) {
  .c-contact-grid {
    padding: calc(160 / 1400 * 100%) 0 calc(40 / 1400 * 100%);
  }
}
@media screen and (min-width: 1001px) and (max-width: 1200px) {
  .c-contact-grid {
    padding: calc(135 / 1200 * 100%) 0 calc(40 / 1200 * 100%);
  }
}
@media screen and (min-width: 961px) and (max-width: 1000px) {
  .c-contact-grid {
    padding: calc(135 / 1000 * 100%) 0 calc(40 / 1000 * 100%);
  }
}
@media screen and (max-width: 960px) {
  .c-contact-grid {
    padding: calc(135 / 960 * 100%) 0 calc(40 / 960 * 100%);
  }
}
@media screen and (max-width: 960px) {
  .c-contact-grid {
    padding: calc(135 / 960 * 100%) 0 0;
    width: 100%;
    max-width: 100%;
  }
}

.c-contact-title {
  width: calc(505 / 1400 * 100%);
  max-width: 505px;
}
@media (max-width: 960px) {
  .c-contact-title {
    margin: 0 auto 0;
    width: calc(342 / 402 * 100%);
    max-width: 342px;
  }
}
.c-contact-title img {
  width: 100%;
}

.c-contact-text {
  margin-top: calc(40 / 1400 * 100%);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
}
@media (max-width: 960px) {
  .c-contact-text {
    margin-top: calc(18 / 402 * 100%);
    margin-left: auto;
    margin-right: auto;
    font-size: min(3.98vw,16px);
  }
}

.c-contact-button {
  margin-top: calc(40 / 1920 * 100%);
}
@media (max-width: 960px) {
  .c-contact-button {
    margin-top: calc(18 / 402 * 100%);
    margin-left: auto;
    margin-right: auto;
    width: 82.5870646766%;
    max-width: 332px;
  }
}
.c-contact-button > .c-button04[data-icon=contact] {
  margin: 0 auto 0 0;
  font-size: min(1.28vw,18px);
  background-image: url(../img/common/bg_button04.png);
}
@media (max-width: 960px) {
  .c-contact-button > .c-button04[data-icon=contact] {
    font-size: min(4.47vw,18px);
    width: 100%;
  }
  .c-contact-button > .c-button04[data-icon=contact]::before {
    right: 1.5em;
  }
}

/**********************
* page
***********************/
.c-full-contents {
  margin: 0 calc(50% - 50vw);
  width: 100vw;
}

@media (max-width: 767px) {
  .c-full-contents-sp {
    margin-right: calc(50% - 50vw) !important;
    margin-left: calc(50% - 50vw) !important;
    width: 100vw !important;
  }
}
/**********************
* ディスコグラフィー
***********************/
/**********************
* profile
***********************/
.pf-contents-outer {
  overflow: hidden;
}

.pf-contents01 {
  padding-top: 70px;
}

.pf-slider {
  position: relative;
}
.pf-slider .swiper-button-next, .pf-slider .swiper-button-prev {
  aspect-ratio: 1/1;
  width: 6.2857142857%;
  height: auto;
  background: url(../img/top/bnr_bg_btn.png) no-repeat center/cover;
  border-radius: 100%;
}
.pf-slider .swiper-button-next {
  top: 46%;
  right: 12%;
}
.pf-slider .swiper-button-prev {
  top: 46%;
  left: 12%;
}
.pf-slider .swiper-button-next:after, .pf-slider .swiper-button-prev:after {
  content: "";
  width: 100%;
  height: 100%;
}
.pf-slider .swiper-button-next:after {
  background: url(../img/top/bnr_next.svg) no-repeat center/cover;
}
.pf-slider .swiper-button-prev:after {
  background: url(../img/top/bnr_prev.svg) no-repeat center/cover;
}
.pf-slider .swiper-slide {
  transition: transform 0.3s ease-in-out;
}
.pf-slider .swiper-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pf-slider .swiper-slide:not(.swiper-slide-active) {
  transform: scale(0.75);
}
@media (max-width: 767px) {
  .pf-slider .swiper-slide:not(.swiper-slide-active) {
    transform: scale(0.9);
  }
}

.pf-grid01 {
  margin-top: 80px;
  position: relative;
  z-index: 5;
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  gap: 60px calc(122/1144 * 100%);
  grid-template-areas: "g01 g03" "g02 g03";
}
.pf-grid01 .g01 {
  grid-area: g01;
}
.pf-grid01 .g02 {
  grid-area: g02;
}
.pf-grid01 .g03 {
  grid-area: g03;
}

.pf-slide {
  aspect-ratio: 926/554;
  border-radius: 30px;
}
.pf-slide img {
  width: 100%;
}

.pf-data {
  margin: -150px 0 0 0;
  padding: 16px 6.5%;
  border-radius: 30px 30px 0 0;
  background: url(../img/common/bg.png);
}

.pf-thumb {
  aspect-ratio: 487/409;
}
.pf-thumb img {
  width: 100%;
  height: auto;
}

.pf-message p + p {
  margin-top: 1.75em;
}

@media (max-width: 767px) {
  .pf-contents01 {
    padding-top: 35px;
  }
  .pf-slider .swiper-button-next, .pf-slider .swiper-button-prev {
    top: 44%;
    width: 13.9303482587%;
  }
  .pf-slider .swiper-button-next {
    right: 2%;
  }
  .pf-slider .swiper-button-prev {
    left: 2%;
  }
  .pf-grid01 {
    margin-top: 0px;
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
    gap: 60px calc(122/1144 * 100%);
    grid-template-areas: "g01" "g02" "g03";
  }
  .pf-grid01 .g01 {
    grid-area: g01;
  }
  .pf-grid01 .g02 {
    grid-area: g02;
  }
  .pf-grid01 .g03 {
    grid-area: g03;
  }
  .pf-data {
    margin: 0;
    padding: 16px 0;
  }
  .pf-slide {
    aspect-ratio: 306/257;
    border-radius: 16px;
  }
  .pf-slide img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .pf-thumb {
    aspect-ratio: 306/257;
  }
  .pf-thumb img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.pf-anchor-menu {
  margin-top: 135px;
}

.pf-contents02 {
  margin-top: 80px;
}
.pf-contents02 > * + * {
  margin-top: 80px;
}

.pf-subtitle01 {
  text-align: center;
  height: 46px;
}
.pf-subtitle01 > img {
  width: auto;
  height: 100%;
}
.pf-subtitle01 + * {
  margin-top: 64px;
}

.pf-frame02 {
  padding: 104px 40px;
}

.pf-loop-wrapper {
  padding-bottom: 92px;
  display: grid;
  grid-template-areas: "stack";
}
.pf-loop-wrapper > * {
  grid-area: stack;
}

.pf-loop-body {
  align-self: self-end;
  position: relative;
  margin-left: auto;
  bottom: -92px;
  z-index: 5;
  padding: 20px 6.5% 20px;
  width: 59.5785440613%;
  border-radius: 30px 30px;
  background: url(../img/common/bg.png);
}

.pf-loop-slider {
  position: relative;
  z-index: 4;
}
.pf-loop-slider .loop-wrap {
  display: flex;
  overflow: hidden;
  width: 3840px;
}
.pf-loop-slider .loop {
  display: flex;
  width: 1920px;
}
.pf-loop-slider .loop:nth-child(1) {
  -webkit-animation: infinity-scroll-right 60s -30s linear infinite;
          animation: infinity-scroll-right 60s -30s linear infinite;
}
.pf-loop-slider .loop:nth-child(2) {
  -webkit-animation: infinity-scroll-right2 60s linear infinite;
          animation: infinity-scroll-right2 60s linear infinite;
}
.pf-loop-slider .loop img {
  width: 24000%;
  height: auto;
}
.pf-loop-slider .loop-wrap:nth-child(even) .loop:nth-child(1) {
  -webkit-animation: infinity-scroll-left 60s -30s linear infinite;
          animation: infinity-scroll-left 60s -30s linear infinite;
}
.pf-loop-slider .loop-wrap:nth-child(even) .loop:nth-child(2) {
  -webkit-animation: infinity-scroll-left2 60s linear infinite;
          animation: infinity-scroll-left2 60s linear infinite;
}

@-webkit-keyframes infinity-scroll-left {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes infinity-scroll-left {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@-webkit-keyframes infinity-scroll-left2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@keyframes infinity-scroll-left2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}
@-webkit-keyframes infinity-scroll-right {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes infinity-scroll-right {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(100%);
  }
}
@-webkit-keyframes infinity-scroll-right2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes infinity-scroll-right2 {
  0% {
    transform: translateX(-200%);
  }
  to {
    transform: translateX(0);
  }
}
@media (max-width: 767px) {
  .pf-anchor-menu {
    margin-top: 60px;
    width: 100%;
    gap: 10px 10px;
  }
  .pf-anchor-menu li {
    width: calc(50% - 10px);
  }
  .pf-anchor-menu .c-anchor-link {
    padding: 1em 1em 1.5em 1em;
    font-size: 1.6rem;
  }
  .pf-anchor-menu .c-anchor-link::before {
    width: 1em;
    height: 1em;
  }
  .pf-contents02 {
    margin-top: 40px;
  }
  .pf-contents02 > * + * {
    margin-top: 40px;
  }
  .pf-subtitle01 {
    height: 30px;
    width: auto;
  }
  .pf-subtitle01 + * {
    margin-top: 40px;
  }
  .pf-frame02 {
    padding: 40px 6%;
  }
  .pf-loop-wrapper {
    padding-bottom: 0;
    display: block;
  }
  .pf-loop-body {
    margin-top: -44px;
    padding: 20px 6.5%;
    border-radius: 20px 20px;
    bottom: 0;
    width: 100%;
  }
  .pf-loop-slider .loop-wrap {
    width: 1800px;
  }
  .pf-loop-slider .loop {
    display: flex;
    width: 900px;
  }
  .pf-loop-slider .loop:nth-child(1) {
    -webkit-animation: infinity-scroll-right 60s -30s linear infinite;
            animation: infinity-scroll-right 60s -30s linear infinite;
  }
  .pf-loop-slider .loop:nth-child(2) {
    -webkit-animation: infinity-scroll-right2 60s linear infinite;
            animation: infinity-scroll-right2 60s linear infinite;
  }
  .pf-loop-slider .loop img {
    width: 11250%;
    height: auto;
  }
}
* + .pf-card01 {
  margin-top: 80px;
}
@media (max-width: 767px) {
  * + .pf-card01 {
    margin-top: 40px;
  }
}

.pf-card01 {
  display: grid;
  grid-template-areas: "stack";
}
.pf-card01 > * {
  grid-area: stack;
}
.pf-card01.--nomal .pf-card01-thumb {
  position: relative;
  left: -9%;
}
.pf-card01.--nomal .pf-card01-body {
  position: relative;
  margin-left: auto;
  left: 27px;
}
.pf-card01.--reverse .pf-card01-thumb {
  position: relative;
  margin-left: auto;
  right: -9%;
}
.pf-card01.--reverse .pf-card01-body {
  position: relative;
  right: 27px;
}

.pf-card01-thumb {
  aspect-ratio: 776/500;
  width: 74.3295019157%;
}
.pf-card01-thumb img {
  width: 100%;
  height: auto;
}

.pf-card01-body {
  position: relative;
  z-index: 2;
  margin-top: 96px;
  padding: 30px 6.5% 20px;
  width: 49.8084291188%;
  border-radius: 30px 30px;
  background: url(../img/common/bg.png);
}
.pf-card01-body > * + * {
  margin-top: 2em;
}

.pf-yurudol-button {
  margin-top: 80px;
}
.pf-yurudol-button > * {
  margin: 0 auto;
  width: 100%;
}

@media (max-width: 767px) {
  .pf-frame02 {
    padding: 50px 6%;
  }
  .pf-card01 {
    display: block;
  }
  .pf-card01.--nomal .pf-card01-thumb {
    left: auto;
  }
  .pf-card01.--nomal .pf-card01-body {
    margin-left: auto;
    left: 0;
    right: auto;
  }
  .pf-card01.--reverse .pf-card01-thumb {
    position: relative;
    margin-left: 0;
    right: auto;
    left: auto;
  }
  .pf-card01.--reverse .pf-card01-body {
    left: 0;
    right: auto;
  }
  .pf-card01-body {
    margin-top: -44px;
    padding: 20px 6.5%;
    width: 100%;
    border-radius: 20px 20px;
  }
  .pf-card01-body > * + * {
    margin-top: 1.25em;
  }
  .pf-yurudol-button {
    margin-top: 40px;
  }
}
.pf-card02 {
  padding-bottom: 92px;
  display: grid;
  align-items: flex-start;
  grid-template-areas: "stack";
}
.pf-card02 > * {
  grid-area: stack;
}

.pf-card02-thumb {
  position: relative;
  left: -8.5%;
  aspect-ratio: 896/534;
  width: 85.8237547893%;
}
.pf-card02-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.pf-card02-body {
  position: relative;
  bottom: -92px;
  margin-top: auto;
  margin-left: auto;
  padding: 30px 6.5% 20px;
  width: 49.8084291188%;
  border-radius: var(--radius-md) var(--radius-md);
  background: url(../img/common/bg.png);
}
.pf-card02-body > * + * {
  margin-top: 2em;
}

.pf-dl-edu {
  margin-top: 1em;
}
.pf-dl-edu dt, .pf-dl-edu dd {
  margin-top: 0;
}
.pf-dl-edu dt {
  width: 4.75em;
}

.pf-box-small {
  margin: 80px auto 0;
  max-width: 766px;
}

.pf-box-list04 {
  margin-top: 1em;
}

@media (max-width: 767px) {
  .pf-card02 {
    display: block;
    padding-bottom: 0;
  }
  .pf-card02-thumb {
    left: 0;
    width: 100%;
    aspect-ratio: 766/500;
  }
  .pf-card02-body {
    margin-top: -20px;
    padding: 40px 6.5%;
    bottom: 0;
    width: 100%;
  }
  .pf-dl-edu > dt {
    width: 5em;
  }
  .pf-dl-edu dd {
    width: calc(100% - 5em);
  }
  .pf-box-small {
    margin-top: 30px;
  }
}
.pf-media-dl01 {
  display: flex;
}
.pf-media-dl01 > dt {
  padding-right: 3em;
  flex-shrink: 0;
}
.pf-media-dl01 > dd {
  padding-left: 2.5em;
  border-left: 1px solid #B8B8E5;
}

.pf-media-dl01 + .pf-media-dl01 {
  margin-top: 80px;
}

.pf-media-dl02 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5em 4.5%;
}

.pf-media-dl02-wrap.third {
  grid-column: span 3;
}
.pf-media-dl02-wrap.one-third {
  grid-column: span 1;
}
.pf-media-dl02-wrap.two-third {
  grid-column: span 2;
}

.pf-media-button {
  margin-top: 1em;
}

@media (max-width: 767px) {
  .pf-media-dl01 {
    flex-direction: column;
  }
  .pf-media-dl01 > dt {
    padding-right: 0;
    padding-bottom: 1em;
  }
  .pf-media-dl01 > dd {
    padding-left: 0;
    padding-top: 1em;
    border-top: 1px solid #B8B8E5;
    border-left: none;
  }
  .pf-media-dl02 {
    grid-template-columns: repeat(1, 1fr);
  }
  .pf-media-dl02-wrap.third, .pf-media-dl02-wrap.one-third, .pf-media-dl02-wrap.two-third {
    grid-column: span 3;
  }
  .pf-media-button > * {
    margin: 0 auto;
  }
}
/**********************
* topics archive
***********************/
.topics-category .category-list {
  margin: 30px 0 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 20px;
}
@media (max-width: 767px) {
  .topics-category .category-list {
    margin: 40px 0 0;
    gap: 8px;
  }
}
.topics-category .category-item {
  display: inline-block;
  padding: 0;
  text-align: center;
  text-transform: uppercase;
  background: #FFF;
  color: var(--color-primary);
  border: 1px solid var(--color-primary);
  transition: transform 0.3s ease-in-out;
}
.topics-category .category-item.is-current {
  background: var(--color-primary);
  color: #FFF;
}
.topics-category .category-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0em 1em;
  text-align: center;
}
@media (max-width: 767px) {
  .topics-category .category-item a {
    padding: 0em 0.75em;
  }
}
.topics-category .category-item a:hover, .topics-category .category-item a:focus {
  transform: scale(1.1);
}

.topics-category + .archive-list {
  margin-top: 30px;
}
@media (max-width: 767px) {
  .topics-category + .archive-list {
    margin-top: 24px;
  }
}

/**********************
* news detail
***********************/
.page-tp {
  padding-bottom: 50px;
}
.page-tp .l-inner {
  max-width: 834px;
}

.post-header {
  margin-top: 55px;
  padding-bottom: 1em;
  border-bottom: 1px solid #B8B8E5;
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 1em 1em;
  grid-template-areas: "g01 g02" "g03 g03";
}
.post-header .g01 {
  grid-area: g01;
  align-self: center;
}
.post-header .g02 {
  grid-area: g02;
}
.post-header .g03 {
  grid-area: g03;
}
@media (max-width: 767px) {
  .post-header {
    margin-top: 40px;
  }
}

.page-date {
  align-self: center;
  display: block;
  color: var(--color-primary);
}

.post-category span {
  align-self: center;
  display: inline-block;
  padding: 0 0.5em;
  text-align: center;
  text-transform: uppercase;
  border: 1px solid var(--color-primary);
}

.post-title {
  color: var(--color-secondary);
}

.post-contents {
  margin-top: 40px;
  padding-bottom: 1em;
  font-size: 1.8rem;
  line-height: 160%;
  word-break: break-all;
  border-bottom: 1px solid #B8B8E5;
}
@media (max-width: 767px) {
  .post-contents {
    margin-top: 20px;
  }
}
.post-contents h1 {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1.76;
}
.post-contents h2 {
  padding: 0.5em 0 0.5em;
  font-size: 2.2rem;
  font-weight: 700;
  text-wrap: wrap;
  border-bottom: 1px solid var(--text-black);
}
.post-contents h3 {
  position: relative;
  padding-left: 1.5em;
  font-size: 2rem;
  font-weight: 700;
  text-wrap: wrap;
}
.post-contents h3:before {
  content: "■";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  color: var(--color-primary);
}
.post-contents h4 {
  position: relative;
  font-size: 1.8rem;
  font-weight: 700;
}
.post-contents h5 {
  font-weight: 700;
}
.post-contents b, .post-contents strong {
  font-weight: 700;
}
.post-contents > * + * {
  margin-top: 1.75em;
}
.post-contents p {
  font-size: 1.8rem;
}
.post-contents ul > li {
  position: relative;
  padding-left: 1em;
}
.post-contents ol > li {
  position: relative;
}
.post-contents ul > li:before {
  content: "・";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 2px;
  color: inherit;
}
.post-contents ol {
  margin-left: 1.25em;
  list-style-type: decimal;
}
.post-contents a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.post-contents a:hover, .post-contents a:active, .post-contents a:focus {
  text-decoration: none;
}
.post-contents blockquote {
  width: 100%;
  padding: 1em;
  border: 1px solid var(--text-black);
}
.post-contents cite {
  display: block;
  color: #7B7B7B;
  font-size: 0.8em;
  text-align: right;
}
.post-contents img {
  width: auto;
  max-width: 100%;
  height: auto;
}

.post-thumb {
  position: relative;
  width: 100%;
  height: auto;
}

.post-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.post-links {
  margin-top: 30px;
  display: flex;
  justify-content: center;
  gap: 0 1em;
}

.post-links .post-links__item {
  position: relative;
}

.post-links .post-links__item:nth-child(n+2) {
  margin-left: 20px;
}

.post-links .post-links__item.back {
  width: 118px;
}
@media (max-width: 767px) {
  .post-links .post-links__item.back {
    width: 94px;
  }
}
.post-links .post-links__item.next,
.post-links .post-links__item.prev {
  display: flex;
  align-items: center;
  justify-content: center;
}
.post-links .post-links__item.next a,
.post-links .post-links__item.prev a {
  display: block;
  width: 30px;
  height: 30px;
}
.post-links .post-links__item.next {
  background: url(../img/topics/next.svg) no-repeat center/contain;
}
.post-links .post-links__item.next a {
  padding-right: 1.25em;
}

.post-links .post-links__item.prev {
  background: url(../img/topics/prev.svg) no-repeat center/contain;
}
.post-links .post-links__item.prev a {
  padding-left: 1.25em;
}

.post-links a {
  position: relative;
  color: inherit;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.4;
  min-height: 4em;
  width: 100%;
}

/**********************
* discography archive
***********************/
.discography-category .category-list {
  margin: 30px 0 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 20px;
}
@media (max-width: 767px) {
  .discography-category .category-list {
    gap: 10px 10px;
  }
}
.discography-category .category-item {
  display: inline-block;
  padding: 0;
  width: 200px;
  text-align: center;
  text-transform: uppercase;
  background: url(../img/common/bg_button05.png) no-repeat center/cover;
  color: var(--color-primary);
  border-radius: 100px;
  transition: transform 0.3s ease-in-out;
}
@media (max-width: 767px) {
  .discography-category .category-item {
    width: calc(50% - 10px);
  }
}
.discography-category .category-item:hover, .discography-category .category-item:focus {
  transform: scale(1.1);
}
.discography-category .category-item a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 1em 1em;
  text-align: center;
  font-size: 1.6rem;
}
@media (max-width: 767px) {
  .discography-category .category-item a {
    font-size: 1.5rem;
  }
}

.discography-category + .discography-list {
  margin-top: 80px;
}

.discography-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px 4%;
}

.discography-card .link {
  display: grid;
  grid-template-columns: 9em auto;
  grid-template-rows: auto auto auto;
  gap: 10px 12px;
  grid-template-areas: "g04 g04" "g01 g02" "g03 g03";
}
.discography-card .link .g04 {
  grid-area: g04;
}
.discography-card .link .g01 {
  align-self: center;
  grid-area: g01;
}
.discography-card .link .g02 {
  grid-area: g02;
}
.discography-card .link .g03 {
  grid-area: g03;
}
.discography-card .link:hover {
  opacity: 0.8;
}
.discography-card .category span {
  display: inline-block;
  padding: 0em 1em;
  color: #fff;
  background-color: var(--color-primary);
  text-transform: uppercase;
  border-radius: 4px;
}
@media (max-width: 767px) {
  .discography-card .category span {
    padding: 0em 0.5em;
  }
}
@media (max-width: 767px) {
  .discography-card .title {
    font-size: 1.8rem;
  }
}
.discography-card .thumb img {
  width: 100%;
}

.discography-button {
  margin-top: 80px;
}
.discography-button > * {
  margin: 0 auto;
}
@media (max-width: 767px) {
  .discography-button > * {
    width: 94px;
  }
}

@media (max-width: 767px) {
  .discography-category + .discography-list {
    margin-top: 40px;
  }
  .discography-list {
    grid-template-columns: repeat(1, 1fr);
    gap: 40px 0;
  }
  .discography-button {
    margin-top: 40px;
  }
}
/**********************
* discography detail
***********************/
.dg-frame01 {
  margin-top: 40px;
  padding: 112px 11% 70px;
}

.post-dg-text {
  margin-top: 2em;
}

.post-dg-slider-area {
  margin-top: 56px;
  display: grid;
  grid-template-columns: calc(681 / 1244 * 100%) 1fr;
  grid-template-rows: auto 1fr;
  gap: 0px calc(64 / 1244 * 100%);
  grid-template-areas: "g01 g02" "g03 g02";
}
.post-dg-slider-area .g01 {
  grid-area: g01;
}
.post-dg-slider-area .g02 {
  grid-area: g02;
}
.post-dg-slider-area .g03 {
  grid-area: g03;
}
.post-dg-slider-area .post-dg-dots {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 12px;
}
.post-dg-slider-area .post-dg-dots button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  background: #ccc;
  padding: 0;
}
.post-dg-slider-area .post-dg-dots button.is-active {
  background: var(--color-secondary);
}
.post-dg-slider-area .post-dg-dots button:focus {
  background: var(--color-secondary);
}

.post-dg-main .post-dg-main-wrapper {
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  overflow: hidden;
}
.post-dg-main .post-dg-main-slide:not(.is-active) {
  display: none;
}
.post-dg-main .post-dg-main-slide {
  grid-area: stack;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  will-change: opacity;
  display: block;
}
.post-dg-main .category span {
  display: inline-block;
  padding: 0 0.5em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
}
.post-dg-main .title {
  margin-top: 10px;
}
.post-dg-main .music {
  margin-top: 1em;
}

.post-dg-thumbnail {
  position: relative;
}
.post-dg-thumbnail .post-dg-links-slide:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  display: none;
}
.post-dg-thumbnail .post-dg-links-slide {
  transition: opacity 0.35s ease, visibility 0.35s ease;
  will-change: opacity;
}
.post-dg-thumbnail .post-dg-button-next, .post-dg-thumbnail .post-dg-button-prev {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  margin-top: 0;
  width: 56px;
  height: 56px;
  background: url(../img/discography/disc_bg_btn.png) no-repeat center/cover;
  border-radius: 100%;
}
.post-dg-thumbnail .post-dg-button-next {
  right: -25px;
}
.post-dg-thumbnail .post-dg-button-prev {
  left: -25px;
}
.post-dg-thumbnail .post-dg-button-next:after, .post-dg-thumbnail .post-dg-button-prev:after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
}
.post-dg-thumbnail .post-dg-button-next:after {
  -webkit-mask-image: url(../img/discography/btn_next.svg);
          mask-image: url(../img/discography/btn_next.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background: #fff;
}
.post-dg-thumbnail .post-dg-button-prev:after {
  -webkit-mask-image: url(../img/discography/btn_prev.svg);
          mask-image: url(../img/discography/btn_prev.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  background: #fff;
}

.post-dg-links-wrapper {
  position: relative;
  display: grid;
  grid-template-areas: "stack";
}
.post-dg-links-wrapper .post-dg-links-slide:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.post-dg-links-wrapper .post-dg-links-slide {
  grid-area: stack;
}

.post-dg-thumbnail {
  position: relative;
  display: grid;
  grid-template-areas: "stack";
}
.post-dg-thumbnail .post-dg-thumb-slide:not(.is-active) {
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
}
.post-dg-thumbnail .post-dg-thumb-slide {
  grid-area: stack;
  aspect-ratio: 1/1;
  overflow: hidden;
  border-radius: 0;
  transition: opacity 0.35s ease, visibility 0.35s ease;
  will-change: opacity;
}
.post-dg-thumbnail .post-dg-thumb-slide img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.post-dg-thumb-wrapper {
  display: grid;
  grid-template-areas: "stack";
  position: relative;
  overflow: hidden;
}

@media (max-width: 767px) {
  .dg-frame01 {
    margin-top: 40px;
    padding: 40px 5.5% 40px;
  }
  .post-dg-text {
    margin-top: 1em;
  }
  .post-dg-slider-area {
    margin-top: 12px;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 20px;
    grid-template-areas: "g01" "g03" "g02";
  }
  .post-dg-main .post-dg-main-wrapper {
    display: grid;
    grid-template-areas: "stack";
    position: relative;
    overflow: hidden;
  }
  .post-dg-main .post-dg-main-slide:not(.is-active) {
    visibility: hidden;
    opacity: 0;
  }
  .post-dg-main .post-dg-main-slide {
    grid-area: stack;
    transition: opacity 0.35s ease, visibility 0.35s ease;
    will-change: opacity;
  }
  .post-dg-main .category span {
    display: inline-block;
    padding: 0 0.5em;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
  }
  .post-dg-main .title {
    margin-top: 10px;
  }
  .post-dg-thumbnail .post-dg-button-next, .post-dg-thumbnail .post-dg-button-prev {
    position: absolute;
    top: 50%;
    width: 56px;
    height: 56px;
  }
  .post-dg-thumbnail .post-dg-button-next {
    right: -8%;
  }
  .post-dg-thumbnail .post-dg-button-prev {
    left: -8%;
  }
  .post-dg-thumbnail .post-dg-button-next:after, .post-dg-thumbnail .post-dg-button-prev:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
  }
  .post-dg-thumbnail .post-dg-thumb-slide {
    border-radius: 0;
  }
}
/***********************
* map
************************/
.map-nodata {
  margin-top: 80px;
}

.map-grid {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto auto;
  gap: 60px 4%;
}
.map-grid .g01 {
  grid-area: 1/1/3/2;
}
.map-grid .g02 {
  grid-area: 1/2/2/3;
}
.map-grid .g03 {
  grid-area: 2/1/4/3;
}

.map-title {
  position: relative;
  top: -28%;
  width: 100%;
  display: grid;
  grid-template-columns: auto;
  grid-template-rows: auto;
  gap: 0px 0px;
}
.map-title .g01 {
  position: relative;
  z-index: 2;
  grid-area: 1/1/2/2;
}
.map-title .g02 {
  position: relative;
  z-index: 1;
  grid-area: 1/1/2/2;
}

.map-frame01 {
  padding: 77px 8% 70px 11%;
}

.map-category-pc {
  aspect-ratio: 1144/905;
  background: url(../img/map/map.svg) no-repeat center/contain;
}

.map-category-sp {
  display: none;
}

.map-category-group {
  position: absolute;
}
.map-category-group.area01 {
  left: 58.2%;
  top: 15%;
}
.map-category-group.area02 {
  left: 75.2%;
  top: 37.5%;
}
.map-category-group.area03 {
  left: 49%;
  top: 15%;
}
.map-category-group.area04 {
  left: 64.5%;
  top: 58%;
}
.map-category-group.area05 {
  left: 49%;
  top: 66%;
}
.map-category-group.area06 {
  left: 39.7%;
  top: 19%;
}
.map-category-group.area07 {
  left: 30.3%;
  top: 27.5%;
}
.map-category-group.area08 {
  left: 34%;
  top: 66%;
}
.map-category-group.area09 {
  left: 12.7%;
  top: 58%;
}
.map-category-group.area10 {
  left: 15%;
  top: 34.5%;
}
.map-category-group.area11 {
  right: 12%;
  bottom: 12.4%;
}
.map-category-group a + a {
  margin-top: 4px;
}
.map-category-group a {
  position: relative;
  display: block;
  padding: 0.125em 0;
  width: 106px;
  text-align: center;
  background-color: #fff;
  border: 1px solid #B8B8E5;
  border-radius: 6px;
  color: var(--text-black);
  font-size: clamp(1.2rem,1.28vw,1.8rem);
  font-weight: 700;
  overflow: hidden;
}
.map-category-group a::after {
  position: absolute;
  right: 0.5em;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  background: url(../img/map/map_arrow.svg) no-repeat center/contain;
}

.map-list {
  margin-top: 60px;
}
.map-list > * + * {
  margin-top: 80px;
}

.map-area-wrapper {
  padding-bottom: 60px;
  border: 1px solid #B8B8E5;
  border-radius: 6px;
}
.map-area-wrapper > *:not(.map-area) {
  margin-left: auto;
  margin-right: auto;
  width: 92%;
}

.map-area {
  padding: 0.5em 32px;
  background: linear-gradient(90deg, #C991FF 0%, #5FAFFF 100%);
  border-radius: 3px 3px 0px 0px;
  color: #fff;
}

.map-pf {
  margin-top: 40px;
  padding: 0.5em 32px;
  background-color: #EBF3FF;
  color: var(--color-primary);
  border-bottom: 1px solid var(--color-primary);
}

.map-city {
  margin-top: 40px;
  position: relative;
  padding-left: 1em;
  color: var(--color-primary);
}
.map-city::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "";
  display: block;
  width: 5px;
  height: 34px;
  border-radius: 3px;
  background-color: var(--color-primary);
}

.map-item {
  margin: 20px auto 0;
  width: 92%;
  display: flex;
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: 0 4%;
  padding: 40px 6%;
  background: #FFFFFF;
  box-shadow: 0px 46px 18px rgba(139, 71, 144, 0.01), 0px 26px 15px rgba(139, 71, 144, 0.05), 0px 11px 11px rgba(139, 71, 144, 0.09), 0px 3px 6px rgba(139, 71, 144, 0.1);
  border-radius: 32px;
}
.map-item + .map-city {
  margin-top: 64px;
}

.map-thumb {
  position: relative;
  width: 40%;
  aspect-ratio: 1/1;
}
.map-thumb .frame {
  width: 100%;
  height: 100%;
  border: 1px solid #265CFF;
  border-radius: var(--radius-sm);
  transform-origin: top center;
  -webkit-animation-duration: 2s;
          animation-duration: 2s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
  -webkit-animation-iteration-count: 1;
          animation-iteration-count: 1;
  overflow: hidden;
}
.map-thumb img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.map-thumb.is-show .frame {
  -webkit-animation-name: swing;
          animation-name: swing;
}
.map-thumb::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border: solid 1px #265CFF;
  border-radius: 30px;
  display: block;
  width: 16px;
  height: 16px;
  z-index: 2;
  background: #fff;
  transform: translate(-50%, -50%);
}

@-webkit-keyframes swing {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  10% {
    transform: translateX(0);
  }
  20% {
    transform: rotate(15deg);
    opacity: 1;
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-3deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@keyframes swing {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  10% {
    transform: translateX(0);
  }
  20% {
    transform: rotate(15deg);
    opacity: 1;
  }
  40% {
    transform: rotate(-10deg);
  }
  60% {
    transform: rotate(5deg);
  }
  80% {
    transform: rotate(-3deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.map-body {
  width: 56%;
}

.map-info .map-info-row {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.map-info .map-info-row::after {
  content: "";
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #265cff 0%, #265cff 23%, #b8b8e5 23%, #b8b8e5 100%);
}
.map-info dt {
  padding: 16px 0;
  text-align: center;
  width: 95px;
}
.map-info dd {
  padding: 16px;
  width: calc(100% - 95px);
}
.map-info .u-kurenaido {
  font-size: 3.2rem;
  font-family: "Zen Kurenaido", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.map-comment {
  margin-top: 1em;
}

@media (max-width: 767px) {
  .map .l-inner {
    width: 100%;
  }
  .map-grid {
    grid-template-columns: auto;
    grid-template-rows: auto auto auto;
    gap: 40px 0px;
    grid-template-areas: "g01" "g02" "g03";
  }
  .map-grid .g01 {
    grid-area: g01;
  }
  .map-grid .g02 {
    grid-area: g02;
  }
  .map-grid .g03 {
    grid-area: g03;
  }
  .map-title {
    position: relative;
    top: 0;
    margin: 0 auto;
    width: 88%;
    max-width: 390px;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    gap: 0px 0px;
  }
  .map-title .g01 {
    position: relative;
    z-index: 2;
    grid-area: 1/1/2/2;
  }
  .map-title .g02 {
    position: relative;
    z-index: 1;
    grid-area: 1/1/2/2;
  }
  .map-lead {
    padding: 0 3%;
  }
  .map-frame01 {
    padding: 0;
    width: 100%;
  }
  .map-frame01::before {
    display: none;
  }
  .map-category-pc {
    display: none;
  }
  .map-category-sp {
    border-top: 1px solid #B8B8E5;
    display: block;
  }
  .map-acc__summary {
    position: relative;
    padding: 0.25em 1em;
    cursor: pointer;
    transition: background ease-in-out 0.3s;
    border-bottom: 1px solid #B8B8E5;
  }
  .map-acc__summary ::-webkit-details-marker {
    display: none;
  }
  .map-acc__summary::marker {
    display: none;
    content: "";
  }
  .map-acc__summary::after {
    position: absolute;
    left: auto;
    right: 0.5em;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 1.5em;
    height: 1.5em;
    background: url(../img/map/toggle.svg) no-repeat center/contain;
  }
  .map-acc[open] .map-acc__summary {
    background-color: rgba(164, 206, 255, 0.4);
  }
  .map-acc[open] .map-acc__summary::after {
    transform: translateY(-50%) rotate(180deg);
  }
  .map-acc__detail {
    position: relative;
  }
  .map-acc__detail a {
    position: relative;
    display: block;
    padding: 0.25em 2em;
    width: 100%;
    border-bottom: 1px solid #B8B8E5;
    overflow: hidden;
  }
  .map-acc__detail a::after {
    position: absolute;
    right: 1em;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    -webkit-mask-image: url(../img/common/arrow_r.svg);
            mask-image: url(../img/common/arrow_r.svg);
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    background-color: var(--color-primary);
  }
  .map-list {
    margin-top: 30px;
  }
  .map-list > * + * {
    margin-top: 40px;
  }
  .map-area-wrapper {
    padding-bottom: 40px;
  }
  .map-area {
    padding: 0.75em 0.75em;
  }
  .map-pf {
    margin-top: 40px;
    padding: 0.5em 32px;
    background-color: #EBF3FF;
    border-bottom: 1px solid var(--color-primary);
  }
  .map-city {
    margin-top: 46px;
    padding-top: 0.25em;
    position: relative;
    padding-left: 1em;
    color: var(--color-primary);
    width: 85% !important;
  }
  .map-city::before {
    width: 3px;
    height: 34px;
    border-radius: 3px;
  }
  .map-item {
    margin: 20px auto 0;
    flex-direction: column-reverse;
    gap: 10px;
    padding: 40px 4%;
    border-radius: 20px;
  }
  .map-item + .map-city {
    margin-top: 64px;
  }
  .map-thumb {
    width: 100%;
    border-radius: 20px;
  }
  .map-body {
    width: 100%;
  }
  .map-info .map-info-row::after {
    background: linear-gradient(90deg, #265cff 0%, #265cff 23%, #b8b8e5 23%, #b8b8e5 100%);
  }
  .map-info dt {
    padding: 0.5em 0;
    text-align: center;
    width: 55px;
    font-size: 1.3rem;
  }
  .map-info dd {
    padding: 0.5em 1em;
    width: calc(100% - 55px);
    font-size: 1.6rem;
  }
  .map-info .u-kurenaido {
    font-size: 2.4rem;
  }
}
/*************************
* pagination
**************************/
* + .c-pagination {
  margin-top: 60px;
}
@media (max-width: 767px) {
  * + .c-pagination {
    margin-top: 50px;
  }
}

.c-pagination {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
}
.c-pagination .navigation.pagination .screen-reader-text {
  display: none;
}
.c-pagination .navigation.pagination .nav-links {
  text-align: center;
}
.c-pagination .navigation.pagination .nav-links .page-numbers {
  display: inline-block;
  margin: 0 3px;
  padding: 0;
  width: 70px;
  height: 70px;
  line-height: 70px;
  color: var(--color-primary);
  background-color: transparent;
  transition: background-color 0.3s ease-in-out;
  transition-property: background-color, color, border;
  text-align: center;
  font-weight: 400;
  border-radius: 100%;
}
@media (max-width: 767px) {
  .c-pagination .navigation.pagination .nav-links .page-numbers {
    width: 46px;
    height: 46px;
    line-height: 46px;
  }
}
.c-pagination .navigation.pagination .nav-links .page-numbers:focus, .c-pagination .navigation.pagination .nav-links .page-numbers:active, .c-pagination .navigation.pagination .nav-links .page-numbers:hover {
  color: #fff;
  background-color: var(--color-primary);
}
.c-pagination .navigation.pagination .nav-links .page-numbers.current {
  color: #fff;
  background-color: var(--color-primary);
  border: none;
}
.c-pagination .navigation.pagination .nav-links .page-numbers.current:focus, .c-pagination .navigation.pagination .nav-links .page-numbers.current:active, .c-pagination .navigation.pagination .nav-links .page-numbers.current:hover {
  background-color: var(--color-primary);
}
.c-pagination .navigation.pagination .nav-links .page-numbers.next,
.c-pagination .navigation.pagination .nav-links .page-numbers.prev {
  padding: 0;
  width: 71px;
  height: 71px;
  line-height: 71px;
  background-color: transparent;
  border: none;
}
@media (max-width: 767px) {
  .c-pagination .navigation.pagination .nav-links .page-numbers.next,
.c-pagination .navigation.pagination .nav-links .page-numbers.prev {
    width: 46px;
    height: 46px;
    line-height: 46px;
  }
}
.c-pagination .navigation.pagination .nav-links .page-numbers.next:focus, .c-pagination .navigation.pagination .nav-links .page-numbers.next:active, .c-pagination .navigation.pagination .nav-links .page-numbers.next:hover,
.c-pagination .navigation.pagination .nav-links .page-numbers.prev:focus,
.c-pagination .navigation.pagination .nav-links .page-numbers.prev:active,
.c-pagination .navigation.pagination .nav-links .page-numbers.prev:hover {
  opacity: 0.8;
}
.c-pagination .navigation.pagination .nav-links .page-numbers.next svg,
.c-pagination .navigation.pagination .nav-links .page-numbers.prev svg {
  margin: 0;
  padding: 0;
  vertical-align: middle;
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .c-pagination .navigation.pagination .nav-links .page-numbers {
    display: inline-block;
    margin: 0 2px;
  }
}
/***********************
* 404
************************/
.p-404-nodata-text {
  padding: 1em 0;
}

.p-404-nodata-button {
  margin-top: 30px;
}

/***********************
* totop
************************/
.c-totop {
  position: fixed;
  bottom: 80px;
  right: 4%;
  width: 65px;
  height: 65px;
  z-index: 80;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease-in-out;
  transition-property: opacity, visibility;
  border-radius: 50%;
  background-color: var(--color-primary);
  cursor: pointer;
}
@media (max-width: 960px) {
  .c-totop {
    width: 48px;
    height: 48px;
  }
}
.c-totop.is-show {
  opacity: 1;
  visibility: visible;
}

/*******************
* modal
*******************/
html {
  scrollbar-gutter: stable;
}

html:has(.modal.is-open),
body:has(.modal.is-open) {
  overflow: hidden;
}

.modal {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, helvetica neue, helvetica, ubuntu, roboto, noto, segoe ui, arial, sans-serif;
}

.modal__overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  background: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal__container {
  position: relative;
  background-color: #fff;
  margin: 0 auto;
  padding: 0;
  width: 90%;
  max-width: 891px;
  max-height: 591px;
  border-radius: 8px;
  box-sizing: border-box;
}

.modal__header {
  position: absolute;
  right: -2.5%;
  top: -5.5%;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.modal__close {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: #fff;
  width: 74px;
  aspect-ratio: 1/1;
}
.modal__close img {
  width: 100%;
}

.modal__content {
  padding: 30px 40px;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.8);
  width: 100%;
  height: 81vh;
  overflow-y: auto;
  overflow-x: auto;
}
.modal__content a {
  color: var(--color-primary);
  text-decoration: underline;
  text-underline-offset: 0.25em;
}
.modal__content a:hover, .modal__content a:active, .modal__content a:focus {
  text-decoration: none;
}

/**************************\
  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 {
    transform: translateY(10%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes mmslideIn {
  from {
    transform: translateY(10%);
  }
  to {
    transform: translateY(0);
  }
}
@-webkit-keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-5%);
  }
}
@keyframes mmslideOut {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-5%);
  }
}
/* fc modal */
.modal-fc {
  display: none;
  width: 841px;
  border-radius: 32px;
}

.modal-fc.is-open {
  display: block;
}
@media (max-width: 960px) {
  .modal-fc.is-open {
    display: none;
  }
}

.modal-fc[aria-hidden=false] .modal__overlay {
  -webkit-animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmfadeIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

.modal-fc[aria-hidden=false] .modal__container {
  -webkit-animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
          animation: mmslideIn 0.3s cubic-bezier(0, 0, 0.2, 1);
}

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

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

.modal-fc .modal__container,
.modal-fc .modal__overlay {
  will-change: transform;
}

.modal-fc .modal__content {
  padding: 80px 0;
  color: var(--text-black);
  margin: 0 auto;
  max-width: 747px;
}

.fc-modal-flex {
  margin: 0 auto;
  display: flex;
  max-width: 636px;
}

.fc-modal-qr {
  margin-left: auto;
  align-content: end;
  width: 147px;
}
.fc-modal-qr img {
  width: 100%;
}

.fc-modal-yufunoyu {
  margin-right: auto;
  align-content: start;
  width: 449px;
}
.fc-modal-yufunoyu img {
  width: 100%;
}

.fc-modal-info {
  margin-top: 56px;
  padding: 1em 2em;
  font-size: 1.8rem;
  border-radius: 8px;
  background-color: #EFEFF7;
}

.fc-modal-list {
  margin-top: 24px;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5em 1em;
}
.fc-modal-list dt {
  width: 3.5em;
}
.fc-modal-list dd {
  width: calc(100% - 4.5em);
}
.fc-modal-list dd ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 1.25em;
  font-weight: 700;
}
.fc-modal-list dd li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0 0.25em;
}
.fc-modal-list dd li::before {
  content: "";
  display: block;
  width: 2.5em;
  height: 2.5em;
  background: url(../img/common/fc_icon01.svg) no-repeat center/contain;
}
.fc-modal-list dd li:nth-child(2)::before {
  background-image: url(../img/common/fc_icon02.svg);
}
.fc-modal-list dd li:nth-child(3)::before {
  background-image: url(../img/common/fc_icon03.svg);
}
.fc-modal-list dd li:nth-child(4)::before {
  background-image: url(../img/common/fc_icon04.svg);
}
.fc-modal-list dd li:nth-child(5)::before {
  background-image: url(../img/common/fc_icon05.svg);
}
.fc-modal-list dd li:nth-child(6)::before {
  background-image: url(../img/common/fc_icon06.svg);
}
.fc-modal-list dd li:nth-child(7)::before {
  background-image: url(../img/common/fc_icon07.svg);
}
.fc-modal-list dd > span {
  font-weight: 400;
}

/*************************
* animation
**************************/
.js-animation[data-type=fadeIn] {
  visibility: hidden;
  opacity: 0;
  transition: 0.9s ease-out;
  transition-property: opacity, visibility;
}

.js-animation[data-type=fadeIn].is-show {
  visibility: visible;
  opacity: 1;
}

.js-animation[data-type=fadeInLeft] {
  transform: translate(-30px, 0);
  opacity: 0;
  transition: 0.9s ease-out;
  transition-property: opacity, transform;
}

.js-animation[data-type=fadeInLeft].is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.js-animation[data-type=fadeInRight] {
  transform: translate(30px, 0);
  opacity: 0;
  transition: 0.9s ease-out;
  transition-property: opacity, transform;
}

.js-animation[data-type=fadeInRight].is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.js-animation[data-type=fadeInUp] {
  transform: translate(0, 30px);
  opacity: 0;
  transition: 0.9s ease-out;
  transition-property: opacity, transform;
}

.js-animation[data-type=fadeInUp].is-show {
  transform: translate(0, 0);
  opacity: 1;
}

.js-animation[data-type=chgScale] {
  opacity: 0;
  transform: scale(0.6);
  transform-origin: center;
  transition: 0.3s ease-in-out;
  transition-property: opacity, transform;
}

.js-animation[data-type=chgScale].is-show {
  opacity: 1;
  transform: scale(1);
}