@charset "UTF-8";
@font-face {
  font-family: "Estoria";
  src: url("../fonts/Estoria.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@media (max-width: 1990px) {
  .pc {
    display: block !important;
  }
}
@media (max-width: 768px) {
  .pc {
    display: none !important;
  }
}
@media (max-width: 500px) {
  .pc {
    display: none !important;
  }
}
@media (max-width: 1990px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .sp {
    display: block !important;
  }
}
p, h1, h2, h3, h4 {
  font-family: "Noto Sans JP";
}

hr.style1 {
  border-top: 1px solid #8c8b8b;
  position: absolute;
  top: 50px;
  left: 200px;
  width: 20%;
}
@media (max-width: 768px) {
  hr.style1 {
    display: none;
  }
}

.wrapbox {
  overflow: hidden;
}

.pc_menu {
  display: block;
}
@media (max-width: 768px) {
  .pc_menu {
    display: none;
  }
}

#stalker {
  pointer-events: none;
  position: fixed;
  width: 60px;
  height: 60px;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 100%), radial-gradient(ellipse at 70% 60%, #c3e060 0%, rgba(195, 224, 96, 0) 90%), radial-gradient(ellipse at 30% 30%, #c3e060 0%, rgba(195, 224, 96, 0) 60%), radial-gradient(ellipse at bottom left, #00a3cb 0%, rgba(0, 163, 203, 0) 70%), linear-gradient(135deg, rgba(18, 46, 119, 0) 0%, rgba(18, 46, 119, 0) 75%, #122e77 100%), linear-gradient(to right, #625793 0%, #d55d64 35%, #e49129 65%, #c0671c 100%);
  background-blend-mode: screen, luminosity, saturation, darken, color-dodge, color;
  filter: blur(12px);
  border-radius: 50%;
  transition: transform 0.2s;
  transform: translate(-50%, -50%);
  z-index: 99999;
}
@media (max-width: 768px) {
  #stalker {
    display: none;
  }
}

/*------------------------------------
ハンバーガースクロール固定↓
------------------------------------*/
html.is-fixed,
html.is-fixed {
  height: 100%;
  overflow: hidden;
}

/*------------------------------------
ヘッダー↓
------------------------------------*/
header h1 {
  font-size: 1.5rem;
  width: 82px;
}

header h1 a {
  color: #000;
  text-decoration: none;
}

header .nav_box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: auto;
  width: 83%;
  height: 70px;
  margin-top: 15px;
}

header .nav_box .crumbs ul {
  display: flex;
  align-items: center;
  list-style: none;
}

header .nav_box .crumbs ul li {
  font-weight: 500;
  margin-right: 20px;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  transition: 0.3s;
  background-color: #ffffff;
}

header .nav_box .crumbs ol li:last-of-type {
  margin-right: 0;
}

/*------------------------------------
ハンバーガーメニュー↓
------------------------------------*/
#hamburger #gNav .gNav-menu .orange_color_sp {
  font-size: 23px;
  color: #F4810B;
  font-weight: 700;
}

#hamburger .btn-gNav {
  position: absolute;
  top: 26px;
  right: 64px;
  width: 35px;
  height: 24px;
  z-index: 3;
  box-sizing: border-box;
  cursor: pointer;
  transition: all 400ms;
}
@media (max-width: 768px) {
  #hamburger .btn-gNav {
    position: fixed;
    top: 16px;
    right: 24px;
  }
}

#hamburger .btn-gNav span {
  position: absolute;
  width: 100%;
  height: 4px;
  background: #282828;
  border-radius: 10px;
  transition: all 400ms;
}

#hamburger .open {
  position: fixed;
}

#hamburger .btn-gNav span:nth-child(1) {
  top: 0;
}

#hamburger .btn-gNav span:nth-child(2) {
  top: 10px;
}

#hamburger .btn-gNav span:nth-child(3) {
  top: 20px;
}

#hamburger .btn-gNav.open span:nth-child(1) {
  background: #282828;
  top: 6px;
  transform: rotate(-45deg);
}

#hamburger .btn-gNav.open span:nth-child(2), #hamburger .btn-gNav.open span:nth-child(3) {
  top: 6px;
  background: #282828;
  transform: rotate(45deg);
}

#hamburger #gNav .gNav-menu h1 {
  margin: -32px 0 0 37px;
}

#hamburger #gNav .gNav-menu li:nth-child(2) {
  margin-top: 147px;
}
@media (max-width: 768px) {
  #hamburger #gNav .gNav-menu li:nth-child(2) {
    margin-top: 0px;
  }
}

#hamburger #gNav .gNav-menu li {
  font-weight: 700;
}

/* テキストカラー */
#hamburger #gNav .gNav-menu .left_in_right a:hover {
  color: #E995C1;
}

#gNav {
  position: fixed;
  top: 0;
  right: -100%;
  width: 100%;
  height: 100%;
  background: #ffffff;
  font-size: 16px;
  box-sizing: border-box;
  z-index: 2;
  padding-top: 50px;
  transition: 0.3s;
}
#gNav img {
  width: 100%;
}

#gNav.open {
  right: 0px;
}

#gNav .gNav-menu {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-left: 0;
}

#gNav .gNav-menu li {
  display: block;
  padding: 20px 30px;
  height: 20px;
  font-family: "Noto Sans JP";
}
@media (max-width: 768px) {
  #gNav .gNav-menu li {
    height: 10px;
  }
}

#gNav .gNav-menu li a {
  color: #333;
  font-family: "Noto Sans JP";
  text-decoration: none;
  font-size: 1.2rem;
}

.fa-chevron-circle-down {
  color: #E995C1;
  margin-left: 6px;
}

/*------------------------------------
ハンバーガーメニュー↓@media screen and
------------------------------------*/
@media screen and (max-width: 1150px) {
  .nav_main_box {
    display: none;
  }
}
@media screen and (min-width: 1149px) {
  .btn-gNav {
    display: none;
  }
  #gNav {
    position: fixed;
    top: 0;
    right: 0;
    height: 67px;
    display: none;
  }
  #gNav .gNav-menu {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 33px;
    position: fixed;
    top: 0;
    right: 0;
    padding-left: 50px;
  }
  #gNav .gNav-menu li {
    padding-top: 5px;
  }
}
/*------------------------------------
ホバー時アンダーライン↓
------------------------------------*/
.left_in_right a {
  position: relative;
  display: inline-block;
  text-decoration: none;
  color: #000;
  font-family: "Noto Sans JP";
}

/* 下線カラー */
.left_in_right a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #E995C1;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform 0.3s;
}

.left_in_right a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

/* テキストカラー */
.left_in_right a:hover {
  color: #E995C1;
}

/*------------------------------------
Read Moreボックスなし↓
------------------------------------*/
.read_more_box {
  display: flex;
  align-items: center;
}

.read_more_box a {
  display: contents;
}

.read_more_box:hover {
  opacity: 0.5;
}

.readmore_border {
  width: 40px;
  height: 0px;
  border: solid 1px #F4810B;
}

.read_more_box p {
  margin-right: 7px;
}

.right_text {
  display: flex;
  justify-content: flex-end;
}

.read_box {
  margin: auto;
}

.round_border {
  border: solid 2px #F4810B;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: -8px;
}

.round_border2 {
  border: solid 2px #ffffff;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  position: absolute;
  right: -10px;
}

.flex_readmore {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.left_to_right {
  margin-top: 15px;
}

.read_more_box .round_border {
  transition: all 0.2s;
}

.read_more_box:hover .round_border {
  transform: translate(6px, 0px);
}

.read_more_box p {
  font-weight: 700;
}

.hero {
  width: 40%;
  margin: auto;
  position: relative;
  padding-top: 650px;
}
@media (max-width: 768px) {
  .hero {
    width: 90%;
    padding-top: 450px;
  }
}
@media (max-width: 768px) {
  .hero .inner {
    width: 100%;
  }
}
.hero img {
  width: 50%;
}
.hero h1 {
  font-family: "Estoria";
  font-size: 4rem;
  top: 150px;
  position: absolute;
  left: 0;
  right: 0;
}
@media (max-width: 768px) {
  .hero h1 {
    font-size: 2rem;
    top: 180px;
  }
}

.event {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.support-ttl {
  font-family: "Estoria";
  font-size: 3rem;
  margin: auto;
  text-align: center;
  position: relative;
  z-index: 9;
}
.support-ttl--white {
  color: #fff;
  font-family: "Estoria";
  font-size: 3rem;
  margin: auto;
  text-align: center;
  position: relative;
  z-index: 999;
}
@media screen and (max-width: 750px) {
  .support-ttl {
    background-color: none;
    font-size: 2.5rem;
    left: 0;
    right: 0;
  }
}

.sub_jp {
  font-size: 20px;
  text-align: center;
  margin: auto;
  padding: 15px 0 100px;
  left: 0;
  right: 0;
  z-index: 9;
  position: absolute;
}
.sub_jp--white {
  color: #fff;
  font-size: 20px;
  text-align: center;
  margin: auto;
  padding: 15px 0 100px;
  left: 0;
  right: 0;
  z-index: 9999;
  position: absolute;
}

.ttl-box {
  position: relative;
  padding-bottom: 90px;
}
@media (max-width: 768px) {
  .ttl-box {
    width: 90%;
    margin: auto;
  }
}

.ttlimg img {
  width: 20%;
  margin: auto;
  position: absolute;
  top: -33px;
  left: 0;
  right: 0;
  z-index: 0;
}
@media screen and (max-width: 750px) {
  .ttlimg img {
    width: 60%;
  }
}

.bold {
  font-size: 48px;
}

@media (max-width: 768px) {
  .theme {
    margin-bottom: -40px;
  }
}
@media (max-width: 768px) {
  .theme .inner {
    width: 100% !important;
  }
}
.theme .theme_ttl {
  font-size: 30px;
  letter-spacing: 0.1em;
}
@media (max-width: 768px) {
  .theme .theme_ttl {
    font-size: 25px;
    letter-spacing: 0.2em;
  }
}
.theme h3 {
  font-size: 40px;
}
@media (max-width: 768px) {
  .theme h3 {
    width: 90%;
    margin: auto;
  }
}
.theme p {
  line-height: 30px;
}
.theme .themetxt {
  font-size: 18px;
  line-height: 35px;
}
@media (max-width: 768px) {
  .theme .themetxt {
    width: 90%;
    margin: auto;
    padding-top: 30px;
    text-align: left;
  }
}
.theme .bold {
  font-size: 48px;
}
@media (max-width: 768px) {
  .theme .bold {
    font-size: 38px;
  }
}
.theme .bold--color {
  font-size: 48px;
  background: linear-gradient(90deg, #A8ACED, #E995C1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
}
@media (max-width: 768px) {
  .theme .bold--color {
    font-size: 40px;
  }
}

.page {
  position: relative;
  padding: 40px 20px;
}

/* カードデザイン */
.event-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(to bottom, #EFD6C3, #B2AFE6);
  border: 1px solid #ddd;
  margin: 40px auto;
  padding: 20px;
  border-radius: 40px 40px 0px 0px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
}
.event-card h3 {
  background: linear-gradient(90deg, #A8ACED, #E995C1);
  font-size: 30px;
  text-align: left;
  margin-top: 0px;
  font-family: "Noto Sans JP";
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: bold;
}
@media (max-width: 768px) {
  .event-card h3 {
    font-size: 26px;
  }
}
.event-card img {
  width: 100%;
}
.event-card dt {
  text-align: left;
  font-weight: bold;
  font-size: 20px;
  padding: 20px 0 20px;
}
.event-card dd {
  text-align: left;
  margin-left: 0px;
}
.event-card ul {
  text-align: left;
}
.event-card li {
  line-height: 30px;
}

.event-card--reverse {
  flex-direction: row-reverse;
}

.event-card__content {
  display: flex;
  margin: auto;
  padding: 40px;
  margin-top: 70px;
  margin-bottom: 70px;
  background-color: #fff;
  border: 1px solid #000;
  position: relative;
}
@media (max-width: 768px) {
  .event-card__content {
    display: block;
    padding: 40px 25px 60px;
  }
}
.event-card__content .icon--01 {
  position: absolute;
  width: 10%;
  top: -70px;
  left: -70px;
}
@media (max-width: 768px) {
  .event-card__content .icon--01 {
    width: 25%;
    left: -50px;
  }
}
.event-card__content .icon--02 {
  position: absolute;
  width: 10%;
  top: -70px;
  right: -100px;
}
@media (max-width: 768px) {
  .event-card__content .icon--02 {
    width: 25%;
    right: -50px;
  }
}
.event-card__content .icon--03 {
  position: absolute;
  width: 17%;
  bottom: -80px;
  left: -110px;
}
@media (max-width: 768px) {
  .event-card__content .icon--03 {
    width: 40%;
    left: -80px;
    bottom: -90px;
  }
}
.event-card__content .icon--04 {
  position: absolute;
  width: 11%;
  bottom: -50px;
  right: -100px;
}
@media (max-width: 768px) {
  .event-card__content .icon--04 {
    width: 28%;
    right: -50px;
    bottom: -70px;
  }
}
.event-card__content .icon img {
  width: 100%;
}

.event-card__left {
  width: 90%;
  padding-right: 40px;
  padding-left: 60px;
}
@media (max-width: 768px) {
  .event-card__left {
    width: 100%;
    padding-left: 0px;
  }
}

.event-card__image {
  width: 90%;
}
@media (max-width: 768px) {
  .event-card__image {
    width: 100%;
    padding-top: 0px;
  }
}

.event-card__image img {
  width: 100%;
  height: auto;
  display: block;
  margin-top: 30px;
  border-radius: 30px;
}
@media (max-width: 768px) {
  .event-card__image img {
    border-radius: 30px;
  }
}

.event-card__title {
  font-size: 1.8rem;
  margin: 0 0 10px;
  text-align: left;
  letter-spacing: 0.1em;
}

.event-card__title--main {
  font-weight: bold;
  font-size: 1.6rem;
}

.event-card__title--sub {
  font-size: 1.4rem;
}

.event-card__text {
  font-size: 0.95rem;
  text-align: left;
  line-height: 1.6;
  margin: 0;
  padding-bottom: 40px;
}
@media (max-width: 768px) {
  .event-card__text {
    padding-bottom: 40px;
  }
}

/* 装飾（円・花型イメージをCSSで再現） */
.decor {
  position: absolute;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: radial-gradient(circle at top left, #ffefba, #ffffff, #c7f0ff);
  opacity: 0.8;
}

.decor--top-left {
  top: 20px;
  left: 20px;
}

.decor--top-right {
  top: 40px;
  right: 40px;
  background: radial-gradient(circle at center, #bdfcc9, #ffffff, #e6ffe6);
}

.decor--bottom-left {
  bottom: 40px;
  left: 40px;
  background: conic-gradient(#ffccff, #ccffff, #ffffcc, #ffccff);
}

.decor--bottom-right {
  bottom: 20px;
  right: 20px;
  background: radial-gradient(circle at center, #fefebc, #ffffff, #ffddee);
}

/* レスポンシブ */
@media (max-width: 768px) {
  .event-card {
    flex-direction: column;
    text-align: center;
  }
  .event-card--reverse {
    flex-direction: column;
  }
  .event-card__image {
    margin-bottom: 20px;
  }
}
.artist .inner {
  background-color: #8B91D8;
}

.artists {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 100px;
  padding: 40px 20px;
  max-width: 950px;
  margin: auto;
}

.artist-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.artist-card:hover {
  border: 3px solid #EFD6C3;
}
.artist-card--01 {
  background: #fff;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.artist-card--01:hover {
  opacity: 80%;
}
.artist-card--02 {
  margin-top: 150px;
  background: #fff;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .artist-card--02 {
    margin-top: 0px;
  }
}
.artist-card--02:hover {
  opacity: 80%;
}
.artist-card--03 {
  background: #fff;
  height: 750px;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.artist-card--03:hover {
  opacity: 80%;
}
.artist-card--04 {
  margin-top: 150px;
  background: #fff;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .artist-card--04 {
    margin-top: 0px;
  }
}
.artist-card--04:hover {
  opacity: 80%;
}
.artist-card--05 {
  height: 800px;
  background: #fff;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.artist-card--05:hover {
  opacity: 80%;
}
.artist-card--06 {
  margin-top: 150px;
  background: #fff;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
@media (max-width: 768px) {
  .artist-card--06 {
    margin-top: 0px;
  }
}
.artist-card--06:hover {
  opacity: 80%;
}
.artist-card--07 {
  background: #fff;
  border-radius: 60px 20px 60px 0px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s ease;
}
.artist-card--07:hover {
  opacity: 80%;
}

.artist-card {
  border-radius: 40px 0px 40px 0px;
}

.artist-card__image img {
  width: 100%;
  height: auto;
  display: block;
}

.artist-card__body {
  padding: 15px;
  text-align: center;
}

.artist-card__name {
  margin: 10px 0;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  font-weight: bold;
}
@media (max-width: 768px) {
  .artist-card__name {
    font-size: 1.5rem;
  }
}

.artist-card__desc {
  font-size: 0.9rem;
  text-align: left;
  line-height: 1.5;
  color: #555;
}
@media (max-width: 768px) {
  .artist-card__desc {
    font-size: 1rem;
  }
}

.artist-card__sns {
  margin-top: 12px;
  display: flex;
  justify-content: center;
  gap: 12px;
}

.artist-card__sns img {
  width: 40px;
  height: 40px;
}

/*
  index-event
------------*/
#index-event {
  position: relative;
  margin: 0 auto;
}
@media (max-width: 768px) {
  #index-event {
    padding: 60px 0px;
  }
}
#index-event .event-box {
  background: #FFFFFF;
  border: 1px solid #000000;
  border-radius: 4rem;
}
@media (max-width: 768px) {
  #index-event .event-box {
    padding-bottom: 50px;
    width: 100%;
  }
}
#index-event .event-ttl {
  font-family: "Estoria";
  font-size: 8rem;
  text-align: center;
  margin: 0 auto;
  transform: translateY(-45%);
}
#index-event .event-name {
  width: 81.7rem;
  margin: -6rem auto 0;
}
#index-event .dayimg {
  width: 80%;
  padding: 40px;
  margin: auto;
  text-align: center;
}
@media (max-width: 768px) {
  #index-event .dayimg {
    width: 90%;
    padding: 20px;
  }
}
#index-event .dayimg img {
  width: 80%;
  margin: auto;
}
@media (max-width: 768px) {
  #index-event .dayimg img {
    width: 100%;
  }
}

/* FAQ
-----------------------------------------------------------------*/
body {
  margin: 0;
  font-family: "Helvetica Neue", Arial, sans-serif;
  color: #333;
  background: #fff;
}

.inner {
  margin: auto;
  max-width: 1100px;
  width: 90%;
  display: flex;
}
@media (max-width: 768px) {
  .inner {
    display: block;
  }
}

.event-card .inner {
  margin: auto;
  max-width: 1100px;
  width: 90%;
  display: flex;
}
@media (max-width: 768px) {
  .event-card .inner {
    display: block;
    width: 100%;
  }
}

.left {
  width: 60%;
  display: block;
}
@media (max-width: 768px) {
  .left {
    width: 100%;
  }
}

.right {
  width: 40%;
  padding-top: 60px;
  padding-left: 40px;
}
@media (max-width: 768px) {
  .right {
    width: 100%;
    padding-top: 0px;
    padding-left: 0px;
  }
}
.right h4 {
  text-align: left;
  font-weight: bold;
  font-size: 24px;
}
.right p {
  text-align: left;
  font-size: 20px;
}
@media (max-width: 768px) {
  .right p {
    padding-bottom: 40px;
  }
}

header {
  background: #fff;
  padding: 10px 20px;
  position: sticky;
  top: 0;
  z-index: 10;
}

.header-inner {
  margin-left: auto;
  display: flex;
  width: 55%;
  margin-top: -15px;
  align-items: center;
  justify-content: space-between;
}

nav ul {
  display: flex;
  list-style: none;
  gap: 20px;
}

nav a {
  text-decoration: none;
  color: #333;
}

.btn {
  background: linear-gradient(90deg, #ff6ec4, #7873f5);
  color: #fff;
  padding: 10px 20px;
  border-radius: 25px;
  text-decoration: none;
}

.hero img {
  width: 100%;
  display: block;
}
@media (max-width: 768px) {
  .hero img {
    margin-top: -10px;
  }
}

section {
  margin: 60px 0 60px;
  padding: 60px 20px;
  text-align: center;
}

.event {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  justify-content: center;
}

.card {
  background: linear-gradient(135deg, #ffe, #eef);
  padding: 20px;
  border-radius: 12px;
  width: 300px;
}

.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 10px;
}

.gallery-grid img {
  width: 100%;
  border-radius: 8px;
}

.faq-item {
  margin-bottom: 15px;
  text-align: left;
  max-width: 600px;
  margin: 0 auto 20px;
}

.faq-question {
  background: #f0f0f0;
  padding: 10px;
  border: none;
  width: 100%;
  text-align: left;
  cursor: pointer;
  font-size: 16px;
}

.faq-answer {
  display: none;
  padding: 10px;
  background: #fafafa;
}

.footer {
  padding: 20px;
  background: #222;
  color: #fff;
  text-align: center;
}

#renewal {
  background-color: #0E1E30;
}

.faq {
  background-image: url(img/top/faq.png);
  background-size: cover;
  border-radius: 40px 40px 0px 0px;
  background: -webkit-linear-gradient(top, #EFD6C3, #ACABEA);
}
.faq .faq__heading {
  margin-bottom: 3.4rem;
}
.faq .faq__heading .page-heading {
  padding-top: 30px;
}
.faq .faq__heading .page-heading__text-main {
  color: #000;
}

@media (max-width: 768px) {
  .faq_box01 {
    padding: 0px 0px 30px;
    margin-top: -10px;
  }
}

.faq_content {
  margin: 0 auto;
  margin-top: -30px;
}
@media (max-width: 768px) {
  .faq_content {
    padding: 0px 0px 52px 0px;
    width: 100%;
    margin-top: -18px;
  }
}

/*=========
accordion
=========*/
.accordion_area .accordion_one {
  padding-top: 30px;
}
@media (max-width: 768px) {
  .accordion_area .accordion_one {
    padding-top: 20px;
  }
}

.accordion_area .accordion_one .ac_header {
  font-size: 1.1rem;
  color: black;
  padding: 15px;
  background: #fff;
  line-height: 30px;
  border-radius: 10px 10px 10px 10px;
  font-weight: bold;
  padding-left: 70px;
  padding: 1rem 4rem 1rem 3.1rem;
  position: relative;
  z-index: 1;
  cursor: pointer;
  transition: 0.2s;
}
@media (max-width: 768px) {
  .accordion_area .accordion_one .ac_header {
    padding: 1.5rem 3.5rem 1.5rem 1rem;
  }
}

.accordion_area .accordion_one .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}

.accordion_area .accordion_one:nth-child(odd) .ac_header:not(.open):hover {
  background-color: #f1f8ff;
}

.accordion_area .accordion_one .ac_header .i_box {
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 20px;
  height: 20px;
  margin-top: -10px;
}
@media (max-width: 768px) {
  .accordion_area .accordion_one .ac_header .i_box {
    right: 1rem;
  }
}

.accordion_area .accordion_one .ac_header .i_box:before, .accordion_area .accordion_one .ac_header .i_box:after {
  position: absolute;
  content: "";
  margin: auto;
  box-sizing: border-box;
  vertical-align: middle;
}

.accordion_area .accordion_one .ac_header .i_box:before {
  border-top: 2px solid #000;
  width: 20px;
  height: 0;
  top: 0;
  bottom: 0;
  right: 0;
}

.accordion_area .accordion_one .ac_header .i_box:after {
  border-left: 2px solid #000;
  width: 0;
  height: 20px;
  top: 0;
  bottom: 0;
  right: 9px;
  transition: 0.3s;
}

.accordion_area .accordion_one .ac_header.open {
  border-radius: 10px 10px 0px 0px;
}

.accordion_area .accordion_one .ac_header.open .i_box:after {
  height: 0;
}

.accordion_area .accordion_one .ac_inner {
  display: none;
  box-sizing: border-box;
  background: #fff;
  font-size: 1rem;
  line-height: 30px;
  padding: 20px;
  color: black;
  border-radius: 0px 0px 10px 10px;
}
@media (max-width: 768px) {
  .accordion_area .accordion_one .ac_inner {
    padding: 15px;
  }
}

/*=========
faq
=========*/
.p-faq__headinner {
  display: block;
  padding-left: 35px;
  position: relative;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-faq__headinner {
    line-height: 1.7;
  }
}

.p-faq__headinner::before {
  position: absolute;
  left: 7px;
  content: "Q";
  top: -10px;
  width: 50px;
  height: 50px;
  line-height: 48px;
  background-color: #8B91D8;
  border-radius: 50%;
  color: #fff;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  left: -10px;
  font-family: futura-pt, sans-serif;
  top: -10px;
  font-size: 25px;
}
@media (max-width: 768px) {
  .p-faq__headinner::before {
    left: 5px;
    top: -5px;
  }
}

.p-faq__headinner p.p-faq__q-txt {
  font-size: 1.1rem;
  text-align: left;
  padding-left: 20px;
}

.p-faq__q-txt {
  text-align: left;
  padding-left: 20px;
  font-size: 1.1rem;
}
@media (max-width: 768px) {
  .p-faq__q-txt {
    font-size: 16px;
    line-height: 1.9;
    padding-left: 30px;
  }
}

.p-faq__bodyinner {
  display: block;
  padding-left: 55px;
  position: relative;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .p-faq__bodyinner {
    padding-left: 0px;
  }
}

.p-faq__bodyinner::before {
  position: absolute;
  content: "A";
  top: -10px;
  left: 20px;
  width: 50px;
  height: 50px;
  line-height: 45px;
  background-color: #EAC8DA;
  border-radius: 50%;
  color: #fff;
  font-size: 25px;
  font-family: futura-pt, sans-serif;
  font-weight: bold;
}
@media (max-width: 768px) {
  .p-faq__bodyinner::before {
    left: 5px;
    top: -3px;
  }
}

.p-faq__bodyinner p.p-faq__a-txt {
  font-size: 1.1rem;
  padding-left: 30px;
  text-align: left;
  line-height: 30px;
}
@media (max-width: 768px) {
  .p-faq__bodyinner p.p-faq__a-txt {
    font-size: 16px;
    padding-left: 70px;
  }
}

.link2 {
  text-decoration: none;
}
.link2 a {
  text-decoration: none;
}

#index-event {
  display: flex;
  background-image: url(../img/outlinebg.png);
  background-size: cover;
  padding-bottom: 160px;
}
@media (max-width: 768px) {
  #index-event {
    background-size: cover;
    padding-bottom: 50px;
    background-image: url(../img/outlinebg_sp.png);
  }
}
#index-event .inner {
  display: block;
}
.footer_img {
  margin: auto;
  width: 90%;
  max-width: 1100px;
  padding: 150px 0 80px;
}
@media (max-width: 768px) {
  .footer_img {
    width: 90%;
    padding: 90px 0 80px;
  }
}
.footer_img img {
  margin: auto;
  width: 100%;
}

.gallery {
  margin-bottom: 60px;
}

@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}

.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0;
}

.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}

.scroll-infinity__item {
  width: 33.3333333333vw;
  padding: 10px;
}
@media (max-width: 768px) {
  .scroll-infinity__item {
    width: 66.6666666667vw;
  }
}

.scroll-infinity__item > img {
  width: 100%;
  border-radius: 20px;
  gap: 30px;
}

@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.scroll-infinity__list--right {
  animation: infinity-scroll-right 80s infinite linear 0.5s both;
}

/* ボタン */
.nav_box .button_solid014 {
  margin-top: 0px;
}
@media screen and (max-width: 750px) {
  .nav_box .button_solid014 {
    width: 90%;
    margin: auto;
  }
}
.nav_box .button_solid014 a {
  background: linear-gradient(to right, #B3BDFE 0%, #ff97e1 100%);
  border-radius: 3px;
  font-size: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 480px;
  padding: 10px 65px;
  color: #ffffff;
  text-decoration: none;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  box-shadow: 5px 5px 0 #a0a9e1;
  border-radius: 50px;
}
.nav_box .button_solid014 a:hover {
  background-color: #6f6f6f;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}

#gNav .button_solid014 {
  margin-top: 0px;
}
@media screen and (max-width: 750px) {
  #gNav .button_solid014 {
    margin-top: 20px;
  }
}

.event-box .button_solid014 {
  margin-top: 0px;
  margin-bottom: 80px;
}
@media screen and (max-width: 750px) {
  .event-box .button_solid014 {
    width: 90%;
    margin: auto;
  }
}
.event-box .button_solid014 a {
  background: linear-gradient(to right, #B3BDFE 0%, #ff97e1 100%);
  border-radius: 3px;
  font-size: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  text-decoration: none;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 10px 25px;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  box-shadow: 5px 5px 0 #a0a9e1;
  border-radius: 50px;
}
.event-box .button_solid014 a:hover {
  background-color: #6f6f6f;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}

.event-card .button_solid014 {
  margin-top: 0px;
}
@media screen and (max-width: 750px) {
  .event-card .button_solid014 {
    width: 90%;
    margin: auto;
  }
}
.event-card .button_solid014 a {
  background: linear-gradient(to right, #B3BDFE 0%, #ff97e1 100%);
  border-radius: 3px;
  font-size: 16px;
  position: relative;
  display: flex;
  justify-content: center;
  text-decoration: none;
  align-items: center;
  margin: 0 auto;
  max-width: 280px;
  padding: 10px 25px;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  box-shadow: 5px 5px 0 #a0a9e1;
  border-radius: 50px;
}
.event-card .button_solid014 a:hover {
  background-color: #6f6f6f;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}

@media screen and (max-width: 750px) {
  #access {
    margin: 0px 0 60px;
    padding: 0px 20px;
  }
}
#access .button_solid014 {
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  #access .button_solid014 {
    width: 90%;
    margin: auto;
  }
}
#access .button_solid014 a {
  background: linear-gradient(to right, #B3BDFE 0%, #ff97e1 100%);
  border-radius: 3px;
  font-size: 16px;
  position: relative;
  display: flex;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 380px;
  padding: 10px 15px;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  box-shadow: 5px 5px 0 #a0a9e1;
  border-radius: 50px;
}
#access .button_solid014 a:hover {
  background-color: #6f6f6f;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}

.button_solid014 {
  margin-top: 60px;
}
@media screen and (max-width: 750px) {
  .button_solid014 {
    width: 90%;
    margin: auto;
  }
}
.button_solid014 a {
  background: linear-gradient(to right, #B3BDFE 0%, #ff97e1 100%);
  border-radius: 3px;
  font-size: 16px;
  position: relative;
  display: flex;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 380px;
  padding: 10px 25px;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  box-shadow: 5px 5px 0 #a0a9e1;
  border-radius: 50px;
}
.button_solid014 a:hover {
  background-color: #6f6f6f;
  box-shadow: 0 0 0;
  transform: translate(5px, 5px);
}

.iconmail {
  width: 10%;
  margin-top: -1px;
  margin-right: 7px;
  margin-left: -30px;
}
.iconmail img {
  width: 100%;
}

.button_solid015 {
  margin-top: 60px;
}
.button_solid015 a {
  background: #FF912B;
  border-radius: 3px;
  position: relative;
  display: flex;
  font-size: 20px;
  justify-content: center;
  align-items: center;
  margin: 0 auto;
  max-width: 300px;
  padding: 10px 25px;
  color: #ffffff;
  transition: 0.3s ease-in-out;
  font-weight: 600;
  box-shadow: 5px 5px 0 #F06300;
  border-radius: 50px;
}
.button_solid015 a:hover {
  background-color: #6f6f6f;
  box-shadow: 0 0 0;
}

/* solid014 */
.button_box {
  position: absolute;
  top: -320px;
  width: 40%;
}
.button_box .bg_style03::before, .button_box .bg_style03::after {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in;
}
.button_box .bg_style03::before {
  right: 35px;
}
.button_box .bg_style03::after {
  right: 24px;
}

@media (max-width: 768px) {
  .button_box {
    top: -250px;
    width: 100%;
  }
}
.bg_style03 {
  background: var(--link_color);
  color: #fff;
  padding: 1em 4em;
  position: relative;
}
.bg_style03::before, .bg_style03::after {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in;
}
.bg_style03::before {
  right: 35px;
}
.bg_style03::after {
  right: 24px;
}
.bg_style03::before, .bg_style03::after {
  content: "";
  width: 12px;
  height: 12px;
  position: absolute;
  top: 50%;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: translateY(-50%) rotate(45deg);
  transition: all 0.2s ease-in;
}
.bg_style03::before {
  right: 35px;
}
.bg_style03::after {
  right: 24px;
}

/* コンテナ */
.container {
  display: flex;
  background-color: #000;
  justify-content: space-between;
  align-items: center;
  padding: 60px;
}
.container .logo {
  width: 70%;
}
@media (max-width: 768px) {
  .container .logo {
    width: 100%;
  }
}
.container .inner {
  width: 90%;
  margin: auto;
}
.container .menu {
  width: 30%;
  margin-top: 20px;
  margin-right: 40px;
}
@media (max-width: 768px) {
  .container .menu {
    width: 100%;
  }
}
.container .menu img {
  width: 50%;
}

.inner2 {
  margin: auto;
  max-width: 1100px;
  width: 90%;
}
@media (max-width: 768px) {
  .inner2 {
    display: block;
  }
}

/* ロゴ */
.logo img {
  width: 30%;
}
@media (max-width: 768px) {
  .logo img {
    width: 100%;
  }
}

/* メニュー */
.menu h1 {
  color: #ffffff;
  font-size: 24px;
  margin-bottom: 30px;
  font-weight: bold;
}

.menu ul {
  list-style: none;
  padding-left: 0px;
}

.menu ul li {
  margin: 20px 0;
  border-bottom: 1px solid #444;
  padding-bottom: 10px;
}

.menu ul li a {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.menu ul li a .icon {
  font-size: 14px;
  opacity: 0.7;
}

/* フッター */
footer {
  text-align: center;
  padding: 20px;
  font-size: 12px;
  opacity: 0.6;
  background-color: #000;
}
footer p {
  color: #ffffff;
}

/* ページトップに戻るボタン */
.pagetop {
  height: 60px;
  width: 60px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: radial-gradient(circle at top left, #f6ffb1, #97ffc8);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 999999;
}
@media (max-width: 768px) {
  .pagetop {
    right: 10px;
    bottom: 20px;
  }
}

.pagetop__arrow {
  height: 10px;
  width: 10px;
  border-top: 3px solid #000;
  border-right: 3px solid #000;
  transform: translateY(20%) rotate(-45deg);
}

/* --------------------------------------
スクロールアニメーション
---------------------------------------  */
.js-animation {
  opacity: 0;
  visibility: hidden;
  transform: translateY(30px);
  transition: all 1s;
  z-index: 99999;
}

.js-animation.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
  z-index: 99999;
}
@media (max-width: 768px) {
  .js-animation.is-show {
    z-index: -1;
  }
}

/* --------------------------------------
スライドアニメーション
---------------------------------------  */
.curtain {
  position: absolute;
  z-index: 9;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 90%;
  height: 450px;
  display: table;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .curtain {
    width: 100%;
  }
}
.curtain h1 {
  clip-path: inset(0 100% 0 0);
}
.curtain.is-loaded h1 {
  transition: clip-path 1s cubic-bezier(0.77, 0, 0.175, 1) 0.9s;
  clip-path: inset(0 0 0 0);
  font-family: "Estoria";
  font-size: 3.8rem;
  top: 65px;
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  padding: 60px 0px 0px 0px;
}
@media (max-width: 768px) {
  .curtain.is-loaded h1 {
    font-size: 2rem;
    line-height: 40px;
    top: 60px;
  }
}/*# sourceMappingURL=style.css.map */