main {
  max-width: 430px;
  /* height: 1660px; */
  margin: 0 auto;
  /* background-image: url(/img/chain-∞.png); 一応消してます*/
  border-right: solid #C7B29C;
  border-left: solid #C7B29C;
  font-family: "Kiwi Maru", serif;
}

body {
  background-color: #686C89; 
    color: rgb(255, 255, 255); 
    font-family: 'Inter', sans-serif;
    margin: 0;
    padding: 0;
    position: relative;
    overflow-x: hidden;
}

.top-background{
  height: 200vh; /* スクロールするために十分な高さを設定 */
  position: relative;
  margin: 0%;
  position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    /*background-image: url(/img/background.svg);*/
    z-index: -1; /* 背景なので、他の要素の後ろに配置 */
}





.top-title{
  display: flex;
  flex-direction: column; /* 縦に並べる */
  align-items: center; /* 各SVGを中央揃え */
}

/*title部分*/
.top-image img{
  margin: 20% 0 10%;
  position: center;
  width: 100%;
  height: 100%;
  max-width: 580px;
  max-height: 664px;
}

.top-day{
  margin: 20% 0 20%;
  position: center;
  width: 80%;
  height: 100%;
  max-width: 580px;
  max-height: 664px;
}
.top-day-item{
  max-width: 100%;
  display: flex;
  padding: 0;
}
.top-day-item li{
  color: #B17790;
  font-size: 48px;
  display: flex;
  align-items: center;
  margin: 0 auto;
}


/*開催時間*/
.top-opentime{
  margin:0 6%;
}

.top-open-customer{
  font-size: 1.5em;
  margin: 0 auto;
}

/*題名共通*/
.top-index{
  font-size: 2em;
  margin-bottom: 10px;
}



/*星々*/
.top-background-stars{
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  padding:10% 3%;
  max-height: 100%;
}

.top-background-stars2{
  background-color: #B17790;
}

.top-background-stars3{
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  padding:10% 3%;
  max-height: 100%;
}

.top-background-stars4{
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  padding:10% 3%;
  max-height: 100%;
}

.top-star7{
  margin-top: 79px;
  margin-left: -365px;
}

.top-star8{
  margin-top: 0;
  margin-left: 115.69px;
}

.top-star9{
  margin-top: 310px;
  margin-left: -27.13px;
}
.top-star10{
  margin-bottom: 230px;
  margin-left: 0px;
}
.top-star11{
  margin-top: 238px;
  margin-left: -86px;
}

/*円*/
.top-circle1{
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top: -75px;
}
.top-circle2{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #B17790;
  margin-top: -80px;
  margin-left: 239px;
}
.top-circle3{
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top:-21px;
  margin-left: 57px;
}
.top-circle4{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top:-80px;
  margin-left: 191px;
}
.top-circle5{
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top: -20px;
  margin-left: 299px;
}
.top-background-circle2{
  height: 286px;
  width: 100%;
}
.top-circle6{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top: -50px;
  margin-left: 12px
}
.top-circle7{
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top: -55px;
  margin-left: 269px
}
.top-circle8{
  width: 65px;
  height: 65px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top:-20px;
  margin-left: 200px;
}
.top-circle9{
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top:-45px;
  margin-left: 56px;
}
.top-circle10{
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #B17790;
  display: flex;
  margin-top: -50px;
  margin-left: 285px;
}
/*アクセス*/
.top-access{
  margin:50px 6% auto 6%;
}
.top-point_information{
  margin-top: 40px;
}

.top-map{
  text-decoration: none;
}

/*aタグ*/
a{
  color: #fff;
}

a:visited{
  color: #fff;
}

a:hover{
  color: #C7B29C;
}


.circle>div {
  width: 80%;
  height: 70%;
  border: solid 3px #ffffff;
  border-radius: 10px;
  background: #686f89;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}


/*展示部分*/
.top-exhibition{
  margin: 0 auto;
  padding: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 370px;
  z-index: 1;
}

.top-title-exhibition {
  font-size: 36px;
  margin-top: 15%;
  text-align: center;
}

/* ↓ スライドの外枠 */
.top-exhibition-wrapper {
  margin: 0 auto;
  width: 320px;
  height: 370px;
  position: relative;
  overflow: hidden; /* はみ出したスライドを隠す */
}
.top-exhibition-slide-frame{
  position: absolute;
  margin: 0 auto;
  z-index: 1; /* 背面 */
  height: 370px;
  object-fit: cover;
} 
/*  ↓ スライド（コンテンツ） */
.top-exhibition-slide { /*スライド全体 */
  align-items: center;
  margin-top: 10%;
  width: 1000%;
  height: 300px;
  display: flex;
  position: relative;
  z-index: 2; /* 前面 */
}
.top-exhibition-slide div { /* スライド */
  width: 10%;
  height: 100%;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.top-exhibition-slide1 { /* スライドさせるために必要なクラス */
  transform: translateX(0);
}
.top-exhibition-slide2 { /* スライドさせるために必要なクラス */
  transform: translateX(-10%);
}
.top-exhibition-slide3 { /* スライドさせるために必要なクラス */
  transform: translateX(-20%);
}
.top-exhibition-slide4 { /* スライドさせるために必要なクラス */
  transform: translateX(-30%);
}
.top-exhibition-slide5 { /* スライドさせるために必要なクラス */
  transform: translateX(-40%);
}
.top-exhibition-slide6 { /* スライドさせるために必要なクラス */
  transform: translateX(-50%);
}
.top-exhibition-slide7 { /* スライドさせるために必要なクラス */
  transform: translateX(-60%);
}
.top-exhibition-slide8 { /* スライドさせるために必要なクラス */
  transform: translateX(-70%);
}
.top-exhibition-slide9 { /* スライドさせるために必要なクラス */
  transform: translateX(-80%);
}
.top-exhibition-slide10 { /* スライドさせるために必要なクラス */
  transform: translateX(-90%);
}
/* ↓ 左右のボタン */
.top-exhibition-prev {
  position: absolute;
  width: 15px;
  height: 15px;
  right: 10px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #C7B29C;
  border-right: solid 3px #C7B29C;
  -webkit-transform: rotate(45deg) translateY(50%);
  transform: rotate(45deg) translateY(50%);
}
.top-exhibition-next {
  position: absolute;
  width: 15px;
  height: 15px;
  left: 25px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #C7B29C;
  border-right: solid 3px #C7B29C;
  -webkit-transform: rotate(-135deg) translateY(-50%);
  transform: rotate(-135deg) translateY(-50%);
}
/* ↓ インジケーター */
.top-exhibition-indicator {
  margin-bottom: 0px;
  width: 100%;
  position: absolute;
  bottom: 20px;
  display: flex;
  column-gap: 18px;
  z-index: 10;
  justify-content: center;
  align-items: center;
  padding: 0%;
}
.top-exhibition-indicator li {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  list-style: none;
  background-color: #D9D9D9;
  cursor: pointer;
}
.top-exhibition-indicator li:first-of-type {
  background-color: #C7B29C;
}


/* MOREリンク */
.top-more a{
  font-size: 1.5rem;
  margin-right: 5%;
}
.top-more{
  display: flex;
  justify-content: end;/*右詰め*/
}
/*バザー部分*/
.top-bazaar{
  background: linear-gradient(to bottom, #686C89, #B17790);
  padding: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}

/* タイトル */
.top-title-bazaar {
  font-size: 36px;
  margin-top: 15%;
  text-align: center;
}
/* ↓ スライドの外枠 */
.top-bazaar-wrapper {
  margin: 0 auto;
  width: 320px;
  height: 370px;
  position: relative;
  overflow: hidden; /* はみ出したスライドを隠す */
}
.top-bazaar-slide-frame{
  position: absolute;
  margin: 40px 35px 0 35px;
  z-index: 1; /* 背面 */
  width: 250px;
  object-fit: cover;
}
/*  ↓ スライド（コンテンツ） */
.top-bazaar-slide { /*スライド全体 */
  margin-top: 35px;
  width: 1000%;
  height: 300px;
  display: flex;
  position: relative;
  z-index: 2; /* 前面 */
}
.top-bazaar-slide div { /* スライド */
  width: 10;
  height: 100%;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.top-bazaar-slide1 { /* スライドさせるために必要なクラス */
  transform: translateX(0);
}
.top-bazaar-slide2 { /* スライドさせるために必要なクラス */
  transform: translateX(-10%);
}
.top-bazaar-slide3 { /* スライドさせるために必要なクラス */
  transform: translateX(-20%);
}
.top-bazaar-slide4 { /* スライドさせるために必要なクラス */
  transform: translateX(-30%);
}
.top-bazaar-slide5 { /* スライドさせるために必要なクラス */
  transform: translateX(-40%);
}
.top-bazaar-slide6 { /* スライドさせるために必要なクラス */
  transform: translateX(-50%);
}
.top-bazaar-slide7 { /* スライドさせるために必要なクラス */
  transform: translateX(-60%);
}
.top-bazaar-slide8 { /* スライドさせるために必要なクラス */
  transform: translateX(-70%);
}
.top-bazaar-slide9 { /* スライドさせるために必要なクラス */
  transform: translateX(-80%);
}
.top-bazaar-slide10 { /* スライドさせるために必要なクラス */
  transform: translateX(-90%);
}
/* ↓ 左右のボタン */
.top-bazaar-prev {
  position: absolute;
  width: 15px;
  height: 15px;
  right: 10px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #C7B29C;
  border-right: solid 3px #C7B29C;
  -webkit-transform: rotate(45deg) translateY(50%);
  transform: rotate(45deg) translateY(50%);
}
.top-bazaar-next {
  position: absolute;
  width: 15px;
  height: 15px;
  left: 25px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #C7B29C;
  border-right: solid 3px #C7B29C;
  -webkit-transform: rotate(-135deg) translateY(-50%);
  transform: rotate(-135deg) translateY(-50%);
}
/* ↓ インジケーター */
.top-bazaar-indicator {
  width: 100%;
  position: absolute;
  bottom: 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 18px;
  z-index: 10;
  padding: 0;
  margin: 0;
}

.top-bazaar-indicator li {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  list-style: none;
  background-color: #D9D9D9;
  cursor: pointer;
}

.top-bazaar-indicator li:first-of-type {
  background-color: #C7B29C;
}




@media screen and (max-width: 480px) {
  .circle {
      width: 72%;
      height: 125px; 
      padding-top: 0;
  }

  h1 {
      font-size: 3em; 
  }

  .circle>div {
      height: 65%; 
  }

  iframe {
      height: 15em; 
  }

  .map {
      font-size: 1em; 
  }

  .address {
      font-size: 1.5em; 
  }

  .left-align-section {
      font-size: 1.2em; 
  }
}



/* タイムテーブル部分 */
.top-timetable{
  display: flex;
  justify-content: center;
  flex-direction: column;
  background-color: #B17790;
  padding-bottom: 20px;
}

.top-timetable-title{
  font-size: 2rem;
  margin: 10%  auto;
  height: 100%;
}

.top-timetable-image{
 display: flex;
 justify-content: space-between;
 margin: 10% auto 5% auto;
}

.top-block{
  padding: 3%;
}

.top-timeing img{
  display: block;
  display: flex;
  justify-content: center;
}

.top-poster1{
  display: block;
  width: 100%;
}

.top-poster2{
  display: block; 
  width: 100%;
}

.top-timetable-text{
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: 1.2em;
}

.top-timetable-text p{
  text-align: center;
}


/* FAQ部分 */
.top-FAQ{
  background: linear-gradient(to top, #686C89, #B17790);
  padding: 0;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100%;
}
.top-title-FAQ {
  font-size: 2.5rem;
  margin-top: 25%;
  height: 100%;
}
  /* コンテナ全体 */
.top-faq-container {
  position: relative;
  width: 100%;
  height: 282px;
  background-size: cover;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center; 
}
.faq-item {
  margin: 20px auto;
  font-weight: bold;
  color: #fff;
  text-align: center;
  max-width: 100%;
}

.faq-question {
  width: 380px;
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  cursor: pointer;
  font-size: 19px;   /* ← 質問文を大きく */
  text-align: center;
}
.faq-question-sentence{
  width: 80%;
}
.faq-question .q-label {
  font-weight: bold;
  font-size: 40px;
}

.faq-question .plus {
  font-size: 32px;
  transition: transform 0.3s ease;
}

.faq-answer {
  display: none;
  margin-top: 15px;
  font-size: 20px;
  color: #fff;
}

/* 開いたとき */
.faq-item.active .faq-answer {
  display: block;
}

.faq-item.active .plus {
  transform: rotate(45deg);
}


/* アンケート部分 */
.top-questionary{
  background: linear-gradient(to bottom, #B17790, #686C89);
  position: relative;
  background-image: url('/img/obi3.svg');
  background-size: cover; /* 背景画像を要素全体に表示 */
  background-position: center; /* 中央に配置 */
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 500px;
  margin: auto;
  color: #ffffff;
  font-family: Arial, sans-serif;
}
.top-container {
  display: flex;
  align-items: center;
  width: 100%;
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
/* 左半分 */
.top-text-section {
  flex: 1;
  margin-left: 10%;
  margin-bottom: 10%;
  width: 120%;
}

.top-text-section h2 {
  font-size: 1.5rem;
  margin: 0;
}

.top-question-title{
  font-size:1.5em;
  font-weight: bold;
}

.top-text-section p {
  margin-left: auto;
  margin-right: auto
}

.button {
  display: inline-block;
  padding: 5%;
  margin-left: 25%;
  margin: 5%  auto auto 25%;
  color: #fff;
  border: 2px solid #B17790;
  border-radius: 5px;
  text-decoration: none;
  font-weight: bold;
  transition: 0.3s;
  background-color: #686C89;
}

.button:hover {
  background-color: #743952;
  color: #1b1b2f;
}

/* 右半分（画像） */
.top-image-section {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}

.top-image-section img {
  height: auto;
  max-width: 100%;
  margin: 2%;
}








/* バナー広告のコンテナ */
.top-bannar {
  width: 80%;
  margin-bottom: 40%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}

/* 各バナー */
.banner-ad {
  width: 80%;
  margin: 6% 10%; /* バナー同士の間隔 */
  display: block; /* a要素全体をクリック可能に */
}

.banner-ad img {
  width: 100%;
  height: auto;
  border-radius: 5px; /* 角を丸くする */
}

/* footer部分 */
.top-footer{
  margin-top: 40%;
  padding: 0;
  color: #ffffff;
  text-align: center;
  font-weight: bold;
}
.top-footer-image img{
  margin:0 auto;
  position: center;
  width: 95%;
  max-width: 551px;
  max-height: 630.8px;
}
.footer-wrapper {
  min-height: 70vh;
}

h2 {
  width: 80%;
  font-size: 40px;
  margin: 10% auto 0;
  color: #FFFFFF;
  text-align: center;

}

.snsbtniti {
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 0;
  margin: 20px 0;
}

.snsbtniti li {
  list-style-type: none;
}

.sns_logo {
  width: 40px;
  height: 40px;
  transition: transform 0.3s;
}

.sns_logo:hover {
  transform: translateY(-5px);
}






/* フッター */
footer {
  background-color: #111;
  color: #9ca3af;
  padding: 20px 0;
}

.box {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-top: 1px solid #333;
}

.left, .right {
  flex: 1;
  text-align: center;
}


.productor_name, .productor_mail, .address, .web {
  font-size: 14px;
  text-decoration: none;
  color: #ffffff;
}

.sns_logo_ft {
  width: 30px;
  height: 30px;
  margin: 0 10px;
  transition: transform 0.3s;
}

.sns_logo_ft:hover {
  transform: translateY(-5px);
}

.copyright {
  font-size: 12px;
  text-align: center;
  padding: 10px 0;
}
.toptimeimage{
    width: 400px;
    height: 100px;
}
.push {
  height: 50px;
}