@charset "UTF-8";
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-style: normal;
  word-break: break-all;
  line-height: 1.5;
}

html {
  min-height: 100%;
  position: relative;
  text-align: center;
}

body {
  background-size: 100%;
  background-color: #ffffff;
  color: #000000;
  font-size: 16px;
  margin: 0;
  padding: 0;
  position: relative;
  text-align: center;
  overflow-x: hidden;
  min-height: 100vh;
}

main {
  min-height: calc(100vh - 57px);
  padding-top: 50px;
}

.pagination {
  margin: 32px auto;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.pagination ul li {
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination ul li a {
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 120%;
  color: #ffffff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.pagination ul li.current a {
  color: #ac8ded;
  mix-blend-mode: normal;
}

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

section {
  margin: 0 auto;
  width: 100%;
}
section .section__heading {
  margin-bottom: 50px;
  text-align: left;
}
section .section__heading img {
  max-width: 258px;
  max-height: 30px;
  width: 100%;
  height: auto;
}
section .page__heading {
  margin-bottom: 94px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
section .page__heading .heading {
  font-style: normal;
  font-weight: 700;
  font-size: 64px;
  line-height: 75px;
  text-align: center;
  text-transform: uppercase;
  color: #000000;
}
section .page__heading .subheading {
  font-style: normal;
  font-weight: 400;
  font-size: 24px;
  line-height: 1.2;
  text-transform: uppercase;
  color: #000000;
  display: inline-block;
  margin: 24px auto;
}
section .page__heading .subheading::after {
  content: "";
  display: block;
  width: 100%;
  height: 6px;
  background-color: #000000;
  margin-top: 14px;
}

@media screen and (max-width: 780px) {
  section {
    margin: 0 auto;
    width: 100%;
  }
  section .section__heading {
    text-align: center;
    margin: 0 auto 30px;
  }
  section .page__heading {
    margin-bottom: 94px;
  }
  section .page__heading .heading {
    font-size: min(42px, 14vw);
    line-height: 1.2;
  }
  section .page__heading .subheading {
    font-size: min(18px, 14vw);
    margin-top: 20px;
  }
  section .page__heading .subheading::after {
    height: 4px;
    margin-top: 12px;
  }
}
a {
  text-decoration: none;
  outline: none;
  transition: all 0.3s ease-in;
  word-break: break-all;
  cursor: pointer;
}
a:hover {
  opacity: 0.7;
}
a:link, a:active, a:visited {
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
form,
input,
select,
label {
  font-weight: normal;
  letter-spacing: 0.01em;
  margin: 0;
  outline: none;
  padding: 0;
}

ul,
ol {
  list-style: none outside;
}

p,
li,
dt,
dd {
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 1.8;
  margin: 0;
}
@media screen and (max-width: 780px) {
  p,
  li,
  dt,
  dd {
    font-size: 14px;
  }
}

img {
  border-style: none;
  height: auto;
  vertical-align: bottom;
  width: 100%;
  object-fit: contain;
}

.pc__only {
  display: block;
}

.sp__only {
  display: none !important;
}

@media screen and (max-width: 780px) {
  .pc__only {
    display: none !important;
  }
  .sp__only {
    display: block !important;
  }
}
h2 span {
  /* company */
  font-family: "Inter";
  font-style: normal;
  font-weight: 900;
  font-size: 64px;
  text-transform: uppercase;
  color: #231815;
  line-height: 1;
}
h2.title {
  position: relative;
  text-transform: uppercase;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  margin-bottom: 80px;
}
h2.title::after {
  margin-top: 30px;
  content: "";
  width: 2.4em;
  height: 10px;
  display: block;
  background-color: #000000;
}

.box {
  max-width: 970px;
  padding: 40px 25px;
  margin-top: 47px;
  margin-bottom: 280px;
}
.box:last-child {
  margin-bottom: 0;
}
.box .inner {
  max-width: 970px;
  width: 100%;
  margin: 0 auto 0 0;
  text-align: left;
  word-break: break-all;
  color: #000000;
  font-family: "Inter";
  font-style: normal;
  font-size: 20px;
  line-height: 160%;
}
.box .inner p {
  color: #000000;
  font-family: "Inter";
  font-style: normal;
  font-size: 20px;
  line-height: 160%;
  margin-bottom: 12px;
}
.box .inner .card__list {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  justify-content: space-between;
}
.box .inner .card__list .card {
  display: grid;
  grid-template-columns: subgrid;
  padding: 14px;
  gap: 16px;
  background: #ffffff;
  border: 1px solid #cccccc;
}
.box .inner .card__list .card .img__wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #cccccc;
  height: 196px;
  width: 262px;
  box-sizing: border-box;
}
.box .inner .card__list .card .img__wrapper img {
  width: 100%;
  height: auto;
  max-width: 260px;
  max-height: 194px;
}
.box .inner .card__list .card .card__title {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 19px;
  height: 4.8em;
  /*ここで行数の指定*/
  -webkit-line-clamp: 4;
  line-clamp: 4;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.box .inner .card__list .card .date__wrapper {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  color: #000000;
}
.box .inner .card__list .card .date__wrapper .title,
.box .inner .card__list .card .date__wrapper .date {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
}
.box .inner .card__list .card .date__wrapper .title {
  font-size: 15px;
  margin-bottom: 8px;
}
.box .inner .card__list .card .date__wrapper .date {
  font-size: 14px;
  line-height: 17px;
}
.box .inner .card__list .card > a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 262px;
  width: 100%;
  height: 48px;
  background: #000000;
}
.box .inner .card__list .card > a span {
  color: #ffffff;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  color: #ffffff;
}
.box .inner .works__link__wrapper {
  margin: 32px auto 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
.box .inner .works__link__wrapper > a {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 262px;
  width: 100%;
  height: 48px;
  background: #000000;
}
.box .inner .works__link__wrapper > a span {
  color: #ffffff;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-size: 14px;
  color: #ffffff;
}
.box .info__item {
  max-width: 920px;
  width: 100%;
  padding: 0;
  margin: 0 auto 87px;
  border-bottom: 1px solid #cccccc;
}
.box .info__item:last-child {
  border-bottom: none;
  margin-bottom: 100px;
}
.box .info__item > ul {
  padding-bottom: 64px;
}
.box .info__item > ul li {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: left;
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 23px;
  color: #000000;
  margin-bottom: 27px;
}
.box .info__item > ul li:last-child {
  margin-bottom: 0;
}
.box .info__item > ul li .title {
  /* 社名 */
  width: 25%;
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-size: 16px;
  line-height: 19px;
  color: #000000;
}
.box .info__item > ul li .info {
  width: 75%;
  /* 株式会社インターグルーヴプロダクションズ */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 160%;
  color: #000000;
}
.box:last-child {
  border: none;
}

.categories {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 40px;
}
.categories > a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 35px;
  background-color: #ffffff;
  border: 1px solid #000000;
}
.categories > a span {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  color: #000000;
  font-size: 16px;
  text-align: center;
}
.categories > a.current {
  background-color: #000000;
}
.categories > a.current span {
  color: #ffffff;
}

.select__years > .pc__only {
  display: grid;
  grid-template-columns: repeat(auto-fit, 80px);
  width: 100%;
  max-width: 930px;
  margin: 40px auto 64px;
  column-gap: 40px;
  row-gap: 24px;
}
.select__years > .pc__only a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000000;
}
.select__years > .pc__only a span {
  /* 2025年 */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  color: #000000;
  display: flex;
  align-items: center;
  justify-content: center;
  word-break: keep-all;
}
.select__years > .pc__only a span::after {
  display: inline-block;
  content: "年";
}
.select__years > .pc__only a::after {
  margin-left: 4px;
  color: #000000;
  display: inline-block;
  font-size: 14px;
  content: "▼";
}
.select__years > .sp__only {
  margin-bottom: 32px;
}
.select__years > .sp__only .select__wrapper {
  position: relative;
}
.select__years > .sp__only .select__wrapper::after {
  pointer-events: none;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 8px;
  color: #000000;
  font-size: 14px;
  content: "▼";
}
.select__years > .sp__only .select__wrapper select {
  cursor: pointer;
  padding: 8px;
  border-color: #000000;
  width: 100%;
  height: 35px;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.select__years > .sp__only .select__wrapper select::-ms-expand {
  display: none;
}

.select__artist {
  width: 100%;
  max-width: 1040px;
  margin: 34px auto 50px;
}
.select__artist .wrapper {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.select__artist .another__event {
  margin: 16px auto 0 150px;
  display: flex;
  /* その他イベント */
  text-decoration: underline;
  color: #000000;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
}
.select__artist .title {
  margin-right: 24px;
  min-width: 127px;
  margin-bottom: 4px;
  height: 19px;
  border-right: 1px solid #000000;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.select__artist .title span {
  color: #000000;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  padding-right: 16px;
  word-break: keep-all;
}
.select__artist .alphabet {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.select__artist .alphabet a {
  /* A */
  text-transform: uppercase;
  text-decoration: underline;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  color: #000000;
  margin-right: 18px;
}
.select__artist .alphabet a:last-child {
  margin-right: 0;
}
.select__artist .sp__only {
  margin-bottom: 32px;
}
.select__artist .sp__only .select__wrapper {
  width: 100%;
  position: relative;
}
.select__artist .sp__only .select__wrapper::after {
  pointer-events: none;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0;
  bottom: 0;
  right: 8px;
  color: #000000;
  font-size: 14px;
  content: "▼";
}
.select__artist .sp__only .select__wrapper select {
  cursor: pointer;
  padding: 8px;
  border-color: #000000;
  width: 100%;
  height: 35px;
  border-radius: 0;
  -webkit-appearance: none;
  appearance: none;
}
.select__artist .sp__only .select__wrapper select::-ms-expand {
  display: none;
}

@media only screen and (max-width: 780px) {
  h2 {
    padding: 0 10px;
  }
  h2.title {
    margin-bottom: 80px;
  }
  h2.title span {
    font-size: min(14vw, 50px);
  }
  h2.title::after {
    margin-top: 20px;
    width: 1.2em;
    height: 10px;
  }
  h2.child__heading span {
    font-size: min(16vw, 64px);
  }
  .box {
    padding: 40px 0;
    margin-bottom: 230px;
  }
  .box .inner {
    padding: 0 5px;
    font-size: 14px;
    line-height: 188%;
  }
  .box .inner .card__list {
    grid-template-columns: 100%;
    gap: 32px;
  }
  .box .inner .card__list .card {
    padding: 14px;
    gap: 16px;
  }
  .box .inner .card__list .card .img__wrapper {
    max-height: none;
    max-width: none;
    width: 100%;
    min-height: 194px;
  }
  .box .inner .card__list .card .img__wrapper img {
    max-width: 260px;
    max-height: 194px;
  }
  .box .inner .card__list .card .card__title {
    font-size: 16px;
    line-height: 19px;
  }
  .box .inner .card__list .card .date__wrapper .title {
    font-size: 15px;
    line-height: 18px;
  }
  .box .inner .card__list .card .date__wrapper .date {
    font-size: 14px;
    line-height: 17px;
  }
  .box .inner .card__list .card > a {
    max-width: none;
  }
  .box .inner .card__list .card > a span {
    font-size: 14px;
  }
  .box .inner .works__link__wrapper {
    justify-content: center;
  }
  .box .inner .works__link__wrapper > a {
    max-width: 312px;
  }
  .box .inner .works__link__wrapper > a span {
    font-size: 14px;
  }
  .box .company__info {
    max-width: 600px;
    margin: 0 auto;
  }
  .box .info__item {
    max-width: 880px;
    margin: 0 auto 87px;
  }
  .box .info__item > ul li {
    align-items: flex-start;
    font-size: 12px;
    line-height: 19px;
    margin-bottom: 27px;
  }
  .box .info__item > ul li .title,
  .box .info__item > ul li .info {
    width: 100%;
  }
  .categories {
    margin-bottom: 16px;
  }
  .categories > a span {
    font-size: 14px;
  }
  .select__artist {
    width: 100%;
    max-width: 1040px;
    margin: 34px auto 50px;
  }
  .select__years {
    justify-content: center;
    column-gap: 28px;
    grid-template-columns: repeat(auto-fit, 90px);
  }
}
summary {
  display: grid; /* 初期値の display: list-item 以外を指定したので、デフォルトの三角形アイコンは非表示になる */
  grid-template-columns: 1fr 24px;
  gap: 6px;
  align-items: center;
  cursor: pointer;
  font-family: "Rubik";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 19px;
  color: #000000;
  /* Safariで表示されるデフォルトの三角形アイコンを消します */
}
summary::marker {
  content: "";
}
summary::-webkit-details-marker {
  display: none;
}

details {
  width: 100%;
  /* アコーディオンが開いた時のスタイル */
}
details[open] > summary > .icon {
  background-image: url(../img/common/icon_open.svg);
}

/* --------アイコンを作ります-------- */
.icon {
  display: block;
  position: relative;
  width: 19px;
  height: 19px;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-image: url(../img/common/icon_close.svg);
}

@media only screen and (max-width: 780px) {
  summary {
    align-items: center;
  }
}
#header {
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20000;
  background: #ffffff;
  z-index: 1000;
  display: flex;
  justify-content: space-around;
  align-items: center;
  opacity: 1;
  padding-top: 22px;
}
#header.fadein {
  animation-name: fadein;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
}
#header nav.pc__nav {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  /* 黒いバーのスタイル */
}
#header nav.pc__nav .menu__bar {
  position: absolute;
  display: block;
  bottom: 0;
  left: 6%;
  width: 9%;
  height: 3px;
  background: #000;
  transition: all 0.5s;
}
#header nav.pc__nav .nav__menu {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 25px;
  max-width: 1080px;
  margin: 0 auto;
}
#header nav.pc__nav .nav__menu::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 1px;
  background-color: #ced1da;
  z-index: -1;
  bottom: 1.5px;
}
#header nav.pc__nav .nav__menu .menu__item {
  width: 16.6666666667%;
  float: left;
  display: flex;
  align-items: center;
  justify-content: center;
}
#header nav.pc__nav .nav__menu .menu__item a {
  padding-bottom: 12px;
}
#header nav.pc__nav .nav__menu .menu__item a span {
  /* menu */
  width: 100%;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  text-align: center;
  text-transform: uppercase;
  color: #000000;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(1).current ~ .menu__bar {
  left: 4%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(2).current ~ .menu__bar {
  left: 20.6%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(3).current ~ .menu__bar {
  left: 37.2%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(4).current ~ .menu__bar {
  left: 53.8%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(5).current ~ .menu__bar {
  left: 70.4%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(6).current ~ .menu__bar {
  left: 87.08%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(1):hover ~ .menu__bar {
  left: 4%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(2):hover ~ .menu__bar {
  left: 20.6%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(3):hover ~ .menu__bar {
  left: 37.2%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(4):hover ~ .menu__bar {
  left: 53.8%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(5):hover ~ .menu__bar {
  left: 70.4%;
}
#header nav.pc__nav .nav__menu .menu__item:nth-child(6):hover ~ .menu__bar {
  left: 87.08%;
}
#header .header__wrapper {
  padding: 0 24px 0 24px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.nav__menu__btn {
  display: none;
  justify-content: center;
  align-items: center;
  background-color: transparent;
  top: 0;
  right: 0;
  width: 92px;
  height: 92px;
  opacity: 0.9;
  border-radius: 0;
  border: none;
  cursor: pointer;
}
.nav__menu__btn img,
.nav__menu__btn svg {
  width: 40px;
  height: 38px;
}
.nav__menu__btn:hover {
  background-color: transparent;
}
.nav__menu__btn.active {
  display: none;
}

.hamburger__menu {
  display: none;
}

@media only screen and (max-width: 780px) {
  #header {
    width: 100%;
    margin-bottom: 0;
    padding: 10px 20px;
    max-height: 56px;
    opacity: 1;
    animation: none;
    background-color: transparent;
  }
  #header.fadein {
    animation: none;
  }
  #header .header__wrapper {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-end;
    align-items: center;
    height: auto;
    padding: 0;
  }
  #header nav.pc__nav {
    display: none;
  }
  .hamburger__menu {
    position: fixed;
    display: block;
    z-index: 9999;
    right: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    transition: all 0.6s;
    right: 0;
  }
  .hamburger__menu.is__close {
    right: -120%; /* 画面の右側に隠すためのコード */
  }
  .hamburger__menu:not(.is__close) .bg__area {
    position: fixed;
    z-index: 900;
    display: block;
    z-index: 999;
    right: 0;
    top: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    transition: all 0.6s;
    right: 0;
  }
  .hamburger__menu .gnav__list {
    position: fixed;
    z-index: 9999;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    height: 100vh;
    overflow: auto;
    color: #000000;
    background-color: #ffffff;
  }
  .hamburger__menu .gnav__list .nav__top__wrapper {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    height: 64px;
    max-height: 64px;
    padding: 12px 10px;
  }
  .hamburger__menu .gnav__list .nav__top__wrapper h2 {
    margin: 0 auto 0 0;
    font-size: min(7vw, 26px);
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 120px;
    max-height: 24px;
    padding: 0;
  }
  .hamburger__menu .gnav__list .nav__top__wrapper h2 img {
    max-width: 120px;
    max-height: 24px;
  }
  .hamburger__menu .nav__top__logo {
    width: calc(100% - 36px);
    margin: 12px auto 10px;
  }
  .hamburger__menu .nav__top__logo a {
    color: #000000;
  }
  .hamburger__menu .nav__top__logo span,
  .hamburger__menu .nav__top__logo img,
  .hamburger__menu .nav__top__logo svg {
    max-width: 120px;
    width: 100%;
  }
  .hamburger__menu .link__list {
    text-align: left;
    width: 100%;
    z-index: 999;
    padding: min(74px, 10vw) min(24px, 10vw) min(24px, 10vw);
  }
  .hamburger__menu .link__list li:last-child {
    margin-bottom: 0;
  }
  .hamburger__menu .link__list li a {
    /* TOP */
    font-family: "Inter";
    font-style: normal;
    font-weight: 900;
    font-size: min(12vw, 40px);
    line-height: 48px;
    display: flex;
    align-items: center;
    text-transform: uppercase;
    color: #231815;
    padding: 10px;
    display: block;
    letter-spacing: 0.1em;
    text-align: left;
    position: relative;
  }
  .hamburger__menu .link__list:last-child {
    padding: 20px 10px;
  }
  .hamburger__menu .link__list:last-child li:last-child {
    margin-bottom: 0;
  }
  .nav__menu__btn {
    display: flex;
    width: 25px;
    height: 25px;
    border-radius: 0;
    border: none;
    cursor: pointer;
  }
  .nav__menu__btn img,
  .nav__menu__btn svg {
    width: 25px;
    height: 25px;
  }
}
@keyframes fadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
footer {
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
  background-color: #ffffff;
  border-top: 1px solid #000000;
  padding: 16px 8px;
}
footer .footer__wrapper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 100%;
  flex-wrap: wrap;
}
footer .footer__wrapper .footer__left a {
  display: block;
}
footer .footer__wrapper .footer__left a img {
  max-width: 120px;
  width: 100%;
  height: auto;
}
footer .footer__wrapper .footer__right {
  display: flex;
  flex-wrap: nowrap;
}
footer .footer__wrapper .footer__right span,
footer .footer__wrapper .footer__right a {
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  color: #000000;
  margin-right: 50px;
}
footer .footer__wrapper .footer__right span.copyright,
footer .footer__wrapper .footer__right a.copyright {
  margin-right: 0;
}

@media only screen and (max-width: 780px) {
  footer {
    padding: 35px 15px;
  }
  footer .footer__wrapper {
    flex-direction: column;
  }
  footer .footer__wrapper .footer__right {
    flex-wrap: wrap;
  }
  footer .footer__wrapper .footer__right span,
  footer .footer__wrapper .footer__right a {
    font-size: 14px;
    line-height: 20px;
    margin-top: 12px;
    margin-right: 15px;
  }
  footer .footer__wrapper .footer__right span.copyright,
  footer .footer__wrapper .footer__right a.copyright {
    margin-right: 0;
  }
}
/* --------アコーディオンの中身のスタイル-------- */
.hidden__content {
  padding: 20px 0 8px 8px;
}
.hidden__content > ul {
  border-top: none;
}
.hidden__content .schedules {
  max-width: 100%;
  margin: 0 0 0 auto;
}
.hidden__content .schedules.labels {
  max-width: calc(100% - 248px);
  padding-right: 8px;
  text-align: left;
  line-height: 200%;
}
.hidden__content .schedules.labels .text {
  line-height: 200%;
  text-align: left;
}
.hidden__content .schedules.details {
  max-width: calc(100% - 216px);
  padding: 0 0 8px 0;
  margin: 0 0 0 auto;
  line-height: 200%;
  text-align: left;
  font-size: 16px;
  letter-spacing: 0.06em;
}
.hidden__content .schedules > li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: flex-start;
  border: none;
  padding-bottom: 8px;
}
.hidden__content .schedules > li .schedule__date {
  word-break: keep-all;
  margin-right: 56px;
  min-width: 160px;
  /* 2024/04/28 (日) */
}
.hidden__content .schedules > li .schedule__title {
  width: calc(100% - 216px);
}
.hidden__content .schedules > li .schedule__date,
.hidden__content .schedules > li .schedule__title {
  /* 2025/04/26（土） */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  color: #000000;
  text-align: left;
}
.hidden__content .schedules > li:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 780px) {
  .hidden__content {
    padding: 20px 0 0;
  }
  .hidden__content > ul {
    border-top: none;
  }
  .hidden__content .schedules {
    max-width: 100%;
    margin: 0 auto;
    padding: 0 8px;
  }
  .hidden__content .schedules.labels {
    max-width: 100%;
    padding: 0 8px 0;
  }
  .hidden__content .schedules.details {
    padding: 0;
    max-width: 100%;
  }
  .hidden__content .schedules > li {
    flex-wrap: wrap;
    padding-bottom: 16px;
  }
  .hidden__content .schedules > li .schedule__date {
    margin-right: 0;
    padding-bottom: 4px;
    width: 100%;
  }
  .hidden__content .schedules > li .schedule__title {
    width: 100%;
  }
}
.loading__wrapper {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  transition: all 0.6s;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  z-index: 99999;
  background-color: #000000;
}
.loading__wrapper.is__loaded {
  position: fixed;
  display: flex;
  top: -120%;
  transition: all 0.6s;
}

.top__page h2.title {
  padding-top: 47px;
  margin-bottom: 80px;
}

.top__main {
  min-height: calc(100vh - 47px);
  display: flex;
  justify-content: center;
  align-items: center;
}
.top__main .top__main__wrapper {
  width: 75%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top__main .main__title {
  width: 100%;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top__main .main__title img {
  max-width: 762px;
  width: 85%;
  height: auto;
}

@media only screen and (max-width: 780px) {
  .top__page {
    padding: 0 4.5vw;
  }
  .top__page h2.title {
    margin-bottom: 32px;
  }
  .top__main {
    min-height: 80vh;
  }
  .top__main .top__main__wrapper {
    width: 100%;
    display: flex;
    flex-direction: column-reverse;
  }
  .top__main .main__title {
    height: auto;
  }
  .top__main .main__title img {
    max-width: 85%;
    width: 100%;
    height: auto;
  }
}
.child__page {
  padding: 100px 10px 10vw;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
}
.child__page h2 {
  text-align: left;
  margin-bottom: 64px;
}
.child__page .contents {
  max-width: 930px;
  width: 100%;
}
.child__page .contents .inner iframe {
  max-width: 930px;
  width: 100%;
  min-height: 1500px;
  border: none;
}
.child__page article {
  width: 100%;
  max-width: 1040px;
  margin: 0 auto;
}
.child__page article h4 {
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
  padding: 8px 16px;
  text-align: left;
  /* 2025 */
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-size: 24px;
  line-height: 29px;
  color: #000000;
}
.child__page article ul.artist__list {
  padding-top: 0;
}
.child__page article ul.artist__list .hidden__content .schedules.labels {
  padding-right: 0;
  max-width: 100%;
}
.child__page article ul.artist__list .hidden__content .schedules.labels > li {
  padding: 16px 8px;
  border-bottom: 1px solid #cccccc;
}
.child__page article ul.artist__list .hidden__content .schedules.labels > li:last-child {
  border: none;
}
.child__page article ul.artist__list .hidden__content .schedules.details > li > details > summary {
  padding: 0;
}
.child__page article ul.artist__list > li {
  border-bottom: 1px solid #000000;
}
.child__page article ul.artist__list > li:first-child {
  border-top: 1px solid #000000;
}
.child__page article ul.artist__list > li > details > summary {
  padding: 16px 8px;
}
.child__page article ul.artist__list > li > details > summary .date {
  margin-right: 30px;
}
.child__page article ul li {
  border-bottom: 1px solid #cccccc;
}
.child__page article ul li > details > summary {
  padding: 16px 8px;
}
.child__page article ul li > details > summary > .info__label {
  padding: 0;
  text-align: left;
}
.child__page article ul li > details > summary + .hidden__content {
  padding: 10px 0 8px 0;
}
.child__page article ul li > details > summary + .hidden__content .schedules > li > details > summary {
  padding: 0;
}
.child__page article ul li > details > summary + .hidden__content .schedules > li > details > summary > .info__label .date {
  margin-right: 36px;
}
.child__page article ul li .info__label {
  padding: 16px 8px;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
}
.child__page article ul li .info__label .artist__name {
  font-family: "Rubik";
  font-style: normal;
  font-weight: 600;
  font-size: 20px;
  line-height: 24px;
  color: #000000;
}
.child__page article ul li .info__label .date {
  margin-right: 60px;
  width: 180px;
}
.child__page article ul li .info__label .title {
  width: calc(100% - 180px);
}
.child__page article ul li .info__label .title,
.child__page article ul li .info__label .date {
  /* 2025/MM/YY (W) */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  text-align: left;
  color: #000000;
}
.child__page article ul li .info__label .title span,
.child__page article ul li .info__label .date span {
  display: block;
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 16px;
  line-height: 140%;
  color: #000000;
  text-align: left;
}
.child__page article ul li .info__label .title span:nth-child(2)::before,
.child__page article ul li .info__label .date span:nth-child(2)::before {
  content: "～";
  display: inline-block;
}

@media only screen and (max-width: 780px) {
  .child__page {
    padding: 40px 4.5vw 90px;
    flex-direction: column-reverse;
  }
  .child__page .contents {
    width: 100%;
  }
  .child__page .contents .inner iframe {
    min-height: min(540vw, 1700px);
  }
  .child__page article {
    width: 100%;
    max-width: 1040px;
    margin: 0 auto;
  }
  .child__page article h4 {
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
    padding: 8px 16px;
    text-align: left;
    /* 2025 */
    font-family: "Inter";
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 29px;
    color: #000000;
  }
  .child__page article ul.artist__list {
    padding-top: 0;
  }
  .child__page article ul.artist__list .hidden__content {
    padding: 20px 0 0;
  }
  .child__page article ul.artist__list .hidden__content .schedules.labels {
    padding-left: 0;
  }
  .child__page article ul.artist__list > li {
    border-bottom: 1px solid #000000;
  }
  .child__page article ul.artist__list > li:first-child {
    border-top: 1px solid #000000;
  }
  .child__page article ul.artist__list > li > details > summary {
    padding: 12px 8px;
  }
  .child__page article ul.artist__list > li > details > summary .date {
    margin-right: 30px;
  }
  .child__page article ul.artist__list > li ul.schedules {
    padding: 0;
  }
  .child__page article ul.artist__list > li ul.schedules > li {
    padding: 0 0 8px 0;
  }
  .child__page article ul li > details > summary {
    padding: 16px 8px;
  }
  .child__page article ul li > details > summary > .info__label {
    padding: 0;
    text-align: left;
  }
  .child__page article ul li > details > summary + .hidden__content .schedules > li > details > summary {
    padding: 0;
  }
  .child__page article ul li > details > summary + .hidden__content .schedules > li > details > summary > .info__label .date {
    margin-right: 0;
  }
  .child__page article ul li .info__label {
    padding: 16px 8px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
  }
  .child__page article ul li .info__label .artist__name {
    font-size: 18px;
    line-height: 22px;
  }
  .child__page article ul li .info__label .date {
    margin-right: 0;
    width: 100%;
  }
  .child__page article ul li .info__label .title {
    width: 100%;
  }
  .child__page article ul li .info__label .title,
  .child__page article ul li .info__label .date {
    /* 2025/MM/YY (W) */
    font-size: 16px;
    line-height: 140%;
  }
  .child__page article ul li .info__label .title span,
  .child__page article ul li .info__label .date span {
    font-size: 16px;
    line-height: 140%;
  }
}
.privacy__page {
  max-width: 930px;
  margin: 0 auto;
  padding: 64px 10px;
}
.privacy__page .heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.privacy__page .heading h3 {
  /* PRIVACY POLICY */
  font-family: "Inter";
  font-style: normal;
  font-weight: 900;
  font-size: 24px;
  line-height: 29px;
  text-transform: uppercase;
  color: #231815;
  text-align: left;
}
.privacy__page .heading .language {
  display: flex;
  align-items: center;
  justify-content: center;
}
.privacy__page .heading .language .item a span {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  line-height: 17px;
  color: #000000;
}
.privacy__page .heading .language .item a.current span {
  font-weight: 700;
}
.privacy__page .heading .language .item:first-child::after {
  margin-left: 4px;
  margin-right: 4px;
  content: "/";
  display: inline-block;
  font-style: normal;
  font-weight: 400;
  font-size: 14px;
  color: #000000;
  line-height: 17px;
}
.privacy__page .subheading {
  /* Privacy Policy */
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-size: 20px;
  line-height: 139.7%;
  color: #000000;
  text-align: left;
  margin-bottom: 16px;
}
.privacy__page .text__wrapper {
  max-width: 1200px;
  width: 100%;
  margin-inline: auto;
  text-align: left;
  color: #000000;
}
.privacy__page .text__wrapper.en * {
  word-break: keep-all;
  overflow-wrap: normal;
  white-space: normal;
  line-height: 140% !important;
}
.privacy__page .text__wrapper.jp * {
  line-height: 140% !important;
  text-align: justify;
  font-size: 15px;
  text-justify: inter-ideograph;
}
.privacy__page .text__wrapper h5 {
  /* 当社は、個人情報の保護に関する法律（以下「個人情報保護法」といいます。）その他の法令、個人情報保護委員会が定めるガイドライン、その他当社に適用がある外国法令（欧州における一般データ保護規則（規則（EU）2016/679。）を含みます。）を遵守し、お客様（株主様を含みます。以下も同様です。）の個人情報の重要性に鑑み、当社が取得・管理しているお客様の個人情報を以下の方針に基づき適正に取り扱い、個人情報の保護に努めます。なお、本プライバシーポリシーにおいて「個人情報」とは、当該情報によって直接的または間接的に特定の個人を識別することができる情報をいい、その他の用語の定義は、別段の定めがない限り、個人情報保護法上の用語法によります。 1. 個人情報の取得、保存期間について 当社は、お客様の個人情報の取得を、利用目的をあらかじめ明示して、適法かつ公正な手段によって行います。当社は、お客様について以下の種類の個人情報を取得します。 お客様が当社に対して提供された情報（お客様の氏名・メールアドレス・生年月日・性別・お客様の居住国または住所等） 当社のWEBサイトにおけるお客様の行動に関する情報（ログイン履歴・閲覧履歴・商品購入履歴・チケット予約履歴） 当社のWEBサイトにおいて、会員登録が必要なページは、いずれもお客様による個人情報のご登録がご利用のための条件となっております。 当社は、お客様の個人情報を、保存期間を設定した場合はその期間まで、それ以外は、お客様から消去のお申し出をいただくまで保存いたします。 2. 個人情報の取得、保存期間について 当社が取得し管理している個人情報は、下記の目的の達成の必要な範囲内で利用し、ご本人の同意がある場合または法令で許容されている場合を除き、他の目的で利用しません。また当社は、業務を円滑に進めるために、業務の一部を外部に委託し、業務委託先に対して必要な範囲で個人情報を提供することがあります。 この場合、当社はこれらの業務委託先との間で委託された個人情報の取扱いに関する契約の締結をはじめ、当該個人情報の安全管理が図られるよう必要かつ適切な監督を行います。 記 お客様の個人情報の利用目的 当社所属のアーティストのCD・DVDを含む商品・サービス（公演やファンクラブを含む）の提供、当該商品・サービスのご案内・当社製作にかかる新作映画や当社配給映画のご案内・イベントのご案内・当社関連企業の商品・サービス等のご案内 お客様からのお問い合わせへの対応 代金の請求・返金・支払等に関連する事務処理 株主様の個人情報の利用目的会社法に基づく権利の行使及び義務の履行、株主総会の運営の記録及び管理、当社から株主様への各種便宜の供与、法令に基づくデータの作成等株主様の管理。 3. 個人情報の第三者提供について 当社は、個人情報保護法その他の法令で許容されている場合等正当な理由がある場合を除き、個人情報を、事前にご本人の承諾を得ることなく第三者に提供いたしません。 4. 個人情報の管理について 当社は、個人情報を、利用目的の達成に必要な範囲において正確かつ最新の内容に保つとともに、利用する必要がなくなったときは遅滞なく当該個人情報を消去するよう努めます。また、当社は、当社が取り扱う個人情報について、違法なアクセスやコンピュータウイルスに対する適切なセキュリティ対策を講じ、個人情報の漏洩・紛失・滅失・改ざん等に対する必要十分な安全対策を講じます。また、お客様の個人情報の適切な取り扱いに関する社内教育を徹底します。 なお、当社における個人情報の管理者は以下のとおりです。 管理者 株式会社インターグルーヴプロダクションズ 東京都渋谷区桜丘町20番1号 連絡先 末尾のお問い合わせフォームより、お問い合わせをお願いいたします。 8. 改善措置 当社は、個人情報の取扱いに関するお客様等のニーズ・IT技術の進歩・その他の社会環境の変化に的確に対応するよう努め、必要に応じ適時適切に本プライバシーポリシーをはじめとする各種規程等を見直す等、改善に努めます。個人情報に関するお問い合わせや苦情がございましたらお申し出ください。（個人情報に関するものに限ります。） 【個人情報取扱】に関するお問い合わせ 2019年9月11日改訂 */
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-size: 15px;
  line-height: 140%;
  color: #000000;
}
.privacy__page .text__wrapper a {
  text-decoration: underline;
  color: #000000;
}
.privacy__page .text__wrapper p {
  font-size: 15px;
  margin-bottom: 1em;
}
.privacy__page .text__wrapper p.preface {
  margin-bottom: 2em;
}
.privacy__page .text__wrapper p.rules {
  margin-top: 40px;
}
.privacy__page .text__wrapper .box2 {
  margin-bottom: 2.4em;
}
.privacy__page .text__wrapper .box2:first-child {
  margin-top: 1em;
}
.privacy__page .text__wrapper .box2 .box2__table {
  display: grid;
  grid-template-columns: 130px auto;
  text-align: left;
  margin-top: 1em;
}
.privacy__page .text__wrapper .box2 .text__center {
  text-align: center;
}
.privacy__page .text__wrapper .box2 > ol {
  list-style: auto;
  padding-left: 1.5em;
}
.privacy__page .text__wrapper .box2 > ol > li {
  margin-bottom: 5px;
}
.privacy__page .text__wrapper .box2 > ol > li ul {
  padding-left: 1em;
}
.privacy__page .text__wrapper .box2 > ol > li ul li {
  position: relative;
  padding-left: 2em;
  counter-increment: list;
}
.privacy__page .text__wrapper .box2 > ol > li ul li::before {
  content: "(" counter(list) ")";
  position: absolute;
  left: 0;
}
.privacy__page .text__wrapper .box2 a {
  text-decoration: underline;
}

@media only screen and (max-width: 780px) {
  .privacy__page .text__wrapper {
    padding: 10px 0 40px;
  }
  .privacy__page .text__wrapper p {
    font-weight: 400;
    font-size: 14px;
    line-height: 140%;
    color: #000000;
  }
  .privacy__page .text__wrapper .box2 {
    margin-bottom: 1.4em;
  }
  .privacy__page .text__wrapper .box2 * {
    font-size: 14px;
  }
  .privacy__page .text__wrapper .box2 .box2__table {
    grid-template-columns: auto;
  }
  .privacy__page .text__wrapper .box2 .box2__table .title {
    margin-top: 8px;
  }
  .privacy__page .text__wrapper .box2 > ol {
    list-style: auto;
    padding-left: 1.2em;
  }
  .privacy__page .text__wrapper .box2 > ol > li ul {
    padding-left: 1em;
  }
  .privacy__page .text__wrapper .box2 > ol > li ul li {
    padding-left: 1.5em;
  }
  .privacy__page .text__wrapper .box2 a {
    text-decoration: underline;
  }
}
