@charset "UTF-8";
/* CSS Document */
@media screen and (min-width: 813px) {
.spOn{
    display: none;
}}
@media screen and (max-width: 812px) {
.pcOn{
    display: none;
}}

.m-plus-rounded-1c-regular {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.m-plus-rounded-1c-bold {
  font-family: "M PLUS Rounded 1c", sans-serif;
  font-weight: 700;
  font-style: normal;
}

#tdcawakuwaku2025{
	width:100%;
background-image:url("2025/img/wakuwaku_bg.png");
background-repeat:no-repeat;
    background-size: cover;
    background-position: top center; 
}
  
#tdcawakuwaku2025 div#wakuwakuCont{
 	width:1024px;
 	margin:0 auto;
}
#tdcawakuwaku2025 div#wakuwakuCont #wakuwaku2025_main{
 	width:1024px;
 	margin: 0 auto 50px auto;
 	}

@media screen and (min-width:0) and (max-width:812px) {

#tdcawakuwaku2025 div#wakuwakuCont{
	width:100%;
}
#tdcawakuwaku2025 div#wakuwakuCont #wakuwaku2025_main{
 	width:100%;
 	margin: 0 auto 50px auto;
 	}
}

/* 背景色たち */

/* 背景 */
.wakuwakuBg01,
.wakuwakuBg03 {
  background-color: #fffaf0 !important;
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.wakuwakuBg01 {
  position: relative;
  background-color: #fffaf0 !important;
  width: 100%;
  margin: 0 !important;
  padding: 200px 0 0 0; /* 上部に波画像分のスペースを確保 */
}

/* 上に重ねる波画像（bg01-top.png） */
.bgOverlayTop01 {
  position: absolute;
  top: -140px;
  left: 0;
  width: 100%;
  height: 150px; /* 画像の高さに応じて調整 */
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  background-image: url('/event/wakuwaku_watergarden/2025/img/bg01-top.png');
  z-index: 2;
  pointer-events: none;
}

.wakuwakuBg02 {
  position: relative;
  background-color: #9ce9f2 !important;
  background-image: none; /* 背景ではなくオーバーレイで波画像を使う場合 */
  width: 100%;
  margin: 0 0 180px;
  padding: 100px 5% 0 5%;
}

.bgOverlay {
  position: absolute;
  top: 100%; /* 親要素の下端に配置 */
  left: 0;
  width: 100%;
  height: 200px; /* 波画像の高さに応じて調整 */
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  background-image: url('/event/wakuwaku_watergarden/2025/img/bg02-bottom.png');
  z-index: 2;
  pointer-events: none;
}

.bgOverlayTop {
  position: absolute;
  top: -120px;
  left: 0;
  width: 100%;
  height: 270px; /* 画像の高さに合わせて調整 */
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  background-image: url('/event/wakuwaku_watergarden/2025/img/bg02-top.png');
  z-index: 2;
  pointer-events: none;
}

.wakuwakuArea {
  max-width: 1400px !important;
  margin: 0 auto;
}


/* 冒頭注意書きの内容 */
.precautions {
  position: relative;
  width: 900px;
  max-width: 100%;
  margin: 40px auto;
  padding: 20px 0;
}

.precautions img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 0;
}

.precautions h3 {
  position: relative;
  z-index: 1;
  margin: 5px 65px;
  color: #005bab;
  font-size: 24px;
  text-align: center;
  line-height: 1.6;
}

.giza {
  display: inline-block;
  position: relative;
  padding-bottom: 5px;
  white-space: nowrap; 
  z-index: 1;
}

.giza::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 97%;
  height: 7px;
  background: url('/event/wakuwaku_watergarden/2025/img/giza.svg') repeat-x bottom;
  background-size: auto 100%;
  pointer-events: none;
}

.Wred {
  color: #ed0f4e;
}

@media screen and (max-width: 812px) {

	.precautions {
  margin: 40px auto;
}

	  .precautions img {
		height: 100%;
    margin: 40px 0px;
  }

	  .precautions h3 {
		top: 40px;
    margin: 5px 20px;      
    font-size: 17px;       
    text-align: center;      
    padding-right: 15px;  
  }



}

/* チケットの内容 */
#wakuwaku2025_information {
  margin-top: 40px;
  margin-bottom: 80px;
}


/* 全体・コンテンツ幅とテキスト */
.wakuwakuArea {
  max-width: 1000px;    
  padding: 0 60px;
  font-family: 'M PLUS Rounded 1c', sans-serif; 
  font-size: 16px;     
}

.wakuwakuArea p {
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

@media screen and (max-width: 812px) {
  .wakuwakuArea {
    padding: 0 20px; 
  }

  .wakuwakuArea p {
    font-size: 16px;
    line-height: 1.8;
  }
}


/* 各ブロックの終わりの空き */
.wakuwakuSpace {
	margin-bottom: 50px;
}

.wakuwakuSpace .BR img {
padding-top: 10px;
  display: block;
  width: 300px;
  margin: 0 auto;
}

@media screen and (min-width: 0px) and (max-width: 812px) {
  .wakuwakuSpace {
    margin-bottom: 40px; 
  }
}


/* h3　青字見出し */
.blue {
text-align: center;
  font-size: 30px;   
  color: #005bab;        
  font-weight: bold;   
  line-height: 1.5;   
}

@media screen and (min-width: 0px) and (max-width: 812px) {
  .blue {
    font-size: 22px; 
  }
}


/* ※の文章 */
.wakuwakuKome {
  list-style: none;         
}

.wakuwakuKome li {
  position: relative;
  padding-left: 1em;      
  margin-bottom: 0.3em;      
}

.wakuwakuKome li::before {
  content: "※";            
  position: absolute;
  left: 0;                  
}

@media screen and (max-width: 812px) {
  .wakuwakuKome li { 
    margin-bottom: 0.3em;    
  }

  .wakuwakuKome li::before {
    left: 0;                
  }
}


/* h2　下線装飾 */
.wakuwakuTicket {
  text-align: center; 
  margin-bottom: 1em; 
}

.wakuwakuTicket h2 {
  font-size: 28px;
  color: #005bab;
  margin-bottom: 5px;
}

.ticket_water {
  display: inline-block;       
  margin-top: -20px;
  height: 50px;
}

.po01 {transform: translateX(20px);}
.po02 {transform: translateX(-15px);}
.po03 {transform: translateX(-15px);}
.po04 {transform: translateX(-15px);}
.po05 {transform: translateX(-10px);}


@media screen and (max-width: 812px) {

.wakuwakuTicket h2 {
    font-size: 20px;
    margin-bottom: 5px;
  }

  .wakuwakuTicket img {
	width: auto;
    height: 40px;
    display: inline-block;
  }

  .po01 {transform: translateX(15px);}
  .po02 {transform: translateX(-15px);}
  .po03 {transform: translateX(-13px);}
  .po04 {transform: translateX(-12px);}
  .po05 {transform: translateX(-10px);}
}

/* h3　チケットの値段 */
.wakuwakuPrice {
  position: relative;
  width: 900px;
  margin: 0 0 30px 0;
  padding: 20px 0;
}

.wakuwakuPrice h3 {
  position: relative;
  z-index: 1;
  margin: 11px 0 0 70px !important;
  color: white;
  font-size: 24px;
  text-align: left;
}

.wakuwakuPrice h3 .txt22 {
  font-size: 22px;
}

.ticket_price {
  text-align: center;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 100%;
}

@media screen and (max-width: 932px) {
  .wakuwakuPrice {
    width: 100%;
    padding: 15px 0;
    margin: 0;
    position: relative;
  }

  .ticket_price {
    position: relative;
    height: 40%;
    margin-bottom: 20px; 
    text-align: center;
    z-index: 0;
  }

  .wakuwakuPrice h3 {
    position: absolute;
    top: 35%;        
    left:-24px;       
    transform: translateY(-50%); 
    margin: 0;
    font-size: 17px;
    color: white;
    text-align: left;
    z-index: 1;
    width: calc(100% - 40px); 
  }

  .wakuwakuPrice h3 .txt22 {
    font-size: 16px;
  }
}





/* 青枠のボックスリスト */
.blueLinebox {
  border: 3px solid #005bab;
  border-radius: 30px;
  padding: 25px 25px 5px 25px;
  max-width: 1100px;
  margin: 0 auto;
  background-color: white;
}

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

.blueLinebox li {
  padding-left: 0;
  margin-bottom: 1.2em;
  font-size: 22px;
  font-weight: bold;
  display: block; 
  position: relative;
}


.blueLinebox li::before {
  content: "●";
  color: #005bab;
  font-size: 0.8em;
  margin-right: 0.4em;
  position: relative;
  top: -0.05em; 
}

.blueLinebox img {
  height: 50px;
  width: auto;
}





/* アトラクションの内容 */
#wakuwaku2025_attraction {
  margin-top: 40px;
  margin-bottom: 80px;
}

/* section内のh3を中央揃え */
#wakuwaku2025_attraction h3 {
  text-align: center;
  font-size: 32px;
  color: #005bab;
  margin-bottom: 60px;

}

@media screen and (max-width: 812px) {
  #wakuwaku2025_attraction h3 {
    font-size: 22px;
    margin-bottom: 40px;
	padding-top: 40px;
  }
}

#wakuwaku2025_attraction p {
  text-align: left;
}

#wakuwaku2025_attraction p.kome {
  display: block;
  width: fit-content;
  margin: 0 auto;
  padding: 20px 0 20px 0;
}

/* アトラクション画像2カラム */
.attraction {
  display: grid;
  grid-template-columns: repeat(2, 300px); /* 2列、各幅300px */
  gap: 30px 100px;
  justify-content: center;
  margin: 0 auto;
  padding-bottom: 60px;
}

.attraction-img {
  display: flex;
  justify-content: center;
}

.attraction-img img {
  width: auto;
  height: 290px;
  display: block;
}


@media screen and (max-width: 812px) {
  .attraction {
    display: grid;
    grid-template-columns: 1fr; 
    gap: 20px; 
    justify-content: center;
    padding-bottom: 40px; 
  }

  .attraction-img img {
    height: 100%;
    max-height: 300px; 
    margin: 0 auto;    
  }
}





/* 注意事項の内容 */

#wakuwaku2025_guide .wakuwaku_thers {
  list-style: none;
  padding-left: 1.5em;
  margin: 20px 0 20px 0;
}

#wakuwaku2025_guide .wakuwaku_thers li {
  position: relative;
  padding-left: 1em; 
  margin-bottom: 0.3em;
  line-height: 1.6;
}

#wakuwaku2025_guide .wakuwaku_thers li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em; 
  width: 13px;
  height: 13px;
  background-color: #005db2;
  border-radius: 50%;
}

@media screen and (max-width: 812px) {
  #wakuwaku2025_guide .wakuwaku_thers {
    padding-left: 0;
  }

  #wakuwaku2025_guide .wakuwaku_thers li {
    padding-left: 1em; 
  }

  #wakuwaku2025_guide .wakuwaku_thers li::before {
    left: 0;
  }
}




.Red_box03_wrap {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  flex-wrap: wrap;
}


.Red_box03 {
  background-color: #fff;
  border: 3px solid #e5380c;
  border-radius: 30px;
  padding: 1.5em;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 1.5em;
  width: 48%;
}


.red_img {
  width: 90px;
  flex-shrink: 0;
}

.red_img img {
  width: 100%;
  height: auto;
  display: block;
}


.red_text {
  flex: 1;
}

.red_text p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  margin: 0;
  color: #e5380c;
}


@media screen and (max-width: 812px) {
  .Red_box03_wrap {
    flex-direction: column;
    gap: 1em;
  }

  .Red_box03 {
    width: 100%;
    flex-direction: row;
    text-align: left;
  }
}



.Blue_box {
  background-color: #fff;
  border: 3px solid #005db2;
  border-radius: 30px;
  padding: 1.5em;
  box-sizing: border-box;
  margin: 20px 0;
}


.blue_content {
  display: flex;
  align-items: center;
  gap: 1.5em;
}


.blue_img {
  width: 90px;
  flex-shrink: 0;
}

.blue_img img {
  width: 100%;
  height: auto;
  display: block;
}


.blue_text {
  flex: 1;
}

.blue_text p {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  margin: 0;
}


.Blue_box03 {
  background-color: #fff;
  border: 3px solid #005db2;
  border-radius: 30px;
  padding: 1.5em;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 1.5em;
}


.Blue_box03_wrap {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  flex-wrap: wrap;
}

.Blue_box03 {
  width: 48%;
}



@media screen and (max-width: 812px) {
  .Blue_box03_wrap {
    flex-direction: column;
    gap: 1em;
  }

  .Blue_box03 {
    width: 100%;

    

    flex-direction: row;
    text-align: left;
  }
}


.Blue_box {
  background-color: #fff;
  border: 3px solid #005db2;
  border-radius: 30px;
  padding: 1.5em;
  box-sizing: border-box;
  margin: 20px 0;
}

.blue_list_wrap {
  display: flex;
  justify-content: space-between;
  gap: 2em;
  flex-wrap: wrap;
}

.blue_list {
  width: 48%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.blue_list li {
  position: relative;
  padding-left: 1.3em; 
  margin-bottom: 0.6em;
  line-height: 1.6;
  font-size: 18px;       
  font-weight: bold;
}

.blue_list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em; 
  width: 13px;
  height: 13px;
  background-color: #005db2;
  border-radius: 50%;
}

/* スマホ用レイアウト */
@media screen and (max-width: 812px) {
  .blue_list_wrap {
    flex-direction: column;
    gap: 0.1em;
  }

  .blue_list {
    width: 100%;
  }
}

.himawari {
	margin: 30px 0;
  text-align: center;
}

.himawari img {
  height: 80px;
  width: auto;
  display: inline-block;
}


.guide_notice {
  text-align: center;
  margin: 30px 0 20px 0;
}

.guide_notice p {
  font-weight: bold;
  font-size: 18px;
  line-height: 1.6;
}



/* リンク欄の内容 */
#wakuwaku2025_linkList {
  margin-top: 0px;
  margin-bottom: 0px;
}

.link {
  margin: 40px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
  justify-content: center; 
}

.link_img {
  flex: 0 0 250px;
  box-sizing: border-box;
}

/* 画像を親幅いっぱいに */
.link_img img {
  width: 100%;
  height: auto;
  display: block;
}

/* スマホ対応：幅812px以下は1カラムに＋中央寄せ */
@media screen and (max-width: 812px) {
  .link {
    flex-direction: column;
    align-items: center; 
  }

  .link_img {
    flex: 0 0 100%;
    max-width: 300px;
    margin: 0 auto; 
  }
}

.X_account {
  text-align: center;
}

#wakuwaku2025_linkList .X_account p {
font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}

#wakuwaku2025_linkList .X_account img {
  width: 300px;   
}


#wakuwakuCont .waitingTime {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #e4f5f9;
  border: 2px solid #0588c9;
  padding: 15px;
  margin: 0 auto 50px;
  width: fit-content;
  box-sizing: border-box;
  font-size: 20px;
  font-weight: bold;
  border-radius: 0;
}

#wakuwakuCont .waitingTime dl {
  display: flex;
  align-items: center;
  margin: 0;
  gap: 15px; /* テキストとGIFの間に余白 */
}

#wakuwakuCont .waitingTime dl dt,
#wakuwakuCont .waitingTime dl dd {
  margin: 0;
  line-height: 1.4;
}

#wakuwakuCont .waitingTime dl dd img {
  display: block;
  height: auto;
  max-height: 60px;
}

/* スマホでも横並び維持 */
@media screen and (max-width: 599px) {
  #wakuwakuCont .waitingTime {
    font-size: 15px;
    padding: 15px;
    width: 90%;
	margin: 10px auto;
  }

  #wakuwakuCont .waitingTime dl {
    flex-direction: row;
    gap: 5px;
  }

  #wakuwakuCont .waitingTime dl dd img {
    max-height: 50px;
  }
}

.cash {
  text-align: center;
}
.cash img {
  max-width: 100%;
  height: auto;
}




