@charset "UTF-8";

/* front page layout */ /* 50th ver 240101 */

/*全体の設定
---------------------------------------------------------------------------*/
/********************************
共通
*********************************/
html {
	font-size: 1px;
}
@media screen and (max-width: 1920px) {
	html {
		font-size: calc((1920px - (1920px - 100vw)) / 1920 * 1);
	}
}
h2.sec_title{
  margin-bottom: -4%;
}
.news_sec,
.month_sec,
.sindai_sec,
.kakuten_sec {
	background-image: url(../img/chara_back_w.png);
	background-size: 800rem;
	position: relative;
}
.news_sec {
	background-image: url(../img/chara_back_w.png);
}
.month_sec {
	background-image: url(../img/chara_back_y.png);
}
.sindai_sec {
	background-image: url(../img/chara_back_p.png);
}
.kakuten_sec {
	background-image: url(../img/chara_back_p.png);
}
.news_banners {
	width: 720rem;
	margin-left: auto;
	margin-right: auto;
}
.news_sec .balloon_ml,
.month_sec .balloon_ml,
.sindai_sec .balloon_ml,
.kakuten_sec .balloon_ml {
	top: 300rem;
	left: 100rem;
}
.news_sec .balloon_mr,
.month_sec .balloon_mr,
.sindai_sec .balloon_mr,
.kakuten_sec .balloon_mr {
	bottom: 50rem;
	right: 100rem;
}
@media screen and (max-width: 1040px) {
  .news_sec .balloon_ml,
  .month_sec .balloon_ml,
  .sindai_sec .balloon_ml,
  .kakuten_sec .balloon_ml {
    top: 240rem;
    left: 0;
  }
  .news_sec .balloon_mr,
  .month_sec .balloon_mr,
  .sindai_sec .balloon_mr,
  .kakuten_sec .balloon_mr {
    bottom: -150rem;
    right: 0;
  }
}


/********************************
メインビジュアル
*********************************/
/* main visual*/
.main_header {
	width: 100%;
	height: 55rem;
	display: flex;
	align-items: center;
}
.main_visual {
	position: relative;
}
.main_visual > img {
	position: absolute;
}
.main_visual .balloon_l,
.main_visual .balloon_r {
	position: absolute;
	top: 0;
	/*width: 200rem;
	height: 80vh;*/
  height: 51.04166vw;
  max-height: 980px;
	/*min-height: 780px;*/
	animation: jouge 5s infinite;
	z-index: 11;
}
.main_visual .balloon_l {
	left: 0rem;
}
.main_visual .balloon_r {
	right: 0rem;
}

.main_visual-t .mv_imgs:nth-of-type(1) {
	width: 218rem;
	top: 0rem;
	left: 415rem;
}
.main_visual-t .mv_imgs:nth-of-type(2) {
	width: 140rem;
	top: 213rem;
	left: 240rem;
}
.main_visual-t .mv_imgs:nth-of-type(3) {
	width: 150rem;
	top: 444rem;
	left: 331rem;
}
.main_visual-t .mv_imgs:nth-of-type(4) {
	width: 252rem;
	top: 593rem;
	left: 316rem;
	z-index: 1;
}
.main_visual-t .mv_imgs:nth-of-type(5) {
	width: 252rem;
	top: 72rem;
	right: 226rem;
}
.main_visual-t .mv_imgs:nth-of-type(6) {
	width: 146rem;
	top: 340rem;
	right: 430rem;
}
.main_visual-t .mv_imgs:nth-of-type(7) {
	width: 140rem;
	top: 476rem;
	right: 233rem;
}

.main_visual-t {
	height: 768rem;
	background-image: url(../img/kaizoku/main_back_neonkaizoku.webp);
	background-size: cover; /* デフォcontain */
	background-repeat: no-repeat; /* デフォは指定なし */

	position: relative;
}
/*.main_visual-b{
  height: 197rem;
  background-image: url(../img/main-bottom-back_neon.png);
  background-size: cover;
  font-size: 32rem;
  line-height: 1.4em;
  font-weight: bold;
  background-position: center;
}*/
.main_visual-t .main_center {
	top: 56rem;
	position: relative;
	height: 682rem;
}
.main_visual-t img {
	margin: auto;
	position: absolute;
}
.main_visual-t .main_center img:nth-child(1) {
	/* 透過PNG。ロゴ等と差し替え可能 */
	width: 700rem;
	top: 0rem;
	right: 0rem;
	left: 0rem;
	z-index: 200;
}
.main_visual-t .main_center img:nth-child(2) {
	/* サボたん：サイズと位置は変更 */
	width: 324rem;
	top: 16rem;
	left: -15rem;
	z-index: 100;
}
.main_visual-t .main_center img:nth-child(3) {
	/* サボじい：サイズと位置は変更 */
	width: 435rem;
	top: 190rem;
	right: -22rem;
	z-index: 300;
}
.main_visual-t .main_center img:nth-child(4) {
	width: 735rem;
	bottom: -64rem;
	right: 0rem;
	left: 0rem;
	z-index: 200;
}

.main_visual-50th_concert .main_center_chara .mv_imgs {
	position: absolute;
	z-index: 201;
}




.main_visual-b {
	width: 100%;
	/*  height: 36.458333vh;*/
	/*max-height: 330px;*/
	/*transform: translateX(-50%);*/
	position: relative;
	padding: 55px 0 20px;
	padding: 2.86% 0 1.04%;
}
.main_visual-b::after {
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background-color: #ffff66;
	z-index: -1;
}
.main_visual-b img {
	/*position: absolute;*/
	display: block;
	margin: auto;
}
.main_visual-b img:nth-of-type(1) {
	/*width: 100%;
  top: 0;
  left: 0;
  z-index: 10;*/
	width: 90%;
	max-width: 1000px;
}
.main_visual-b img:nth-of-type(2) {
	position: relative;
	margin-top: -4.947%; /*-95px;*/
	max-width: 733px;
	width: 38.1770833%;
}
.main_visual-b img:nth-of-type(3) {
	width: 13.642%;
	top: 0;
	left: 9.9vw;
	z-index: 0;
}
.main_visual-b img:nth-of-type(4) {
	width: 11.09%;
	top: 4.61%;
	left: 29.309%;
	z-index: 0;
}
.main_visual-b img:nth-of-type(5) {
	width: 7.36%;
	top: 25.38%;
	right: 36.25%;
	z-index: 0;
}
.main_visual-b img:nth-of-type(6) {
	width: 12.28%;
	top: 0;
	right: 7.25%;
	z-index: 0;
}

.main_visual-50th_concert {
	/*height: calc(100vh - 55rem);*/
	/*height: 80vh;
	min-height: 780px;*/
  height: calc(100vh - 50px - 80px);
  height: 51.04166vw;
  max-height: 980px;
	background: #000;
	position: relative;
	z-index: 10;
	overflow: hidden;
}
.main_visual-50th_concert::after {
	content: '';
	background-color: #000;
	background-image: url(../img/hanabi26mar/fv_bg.webp);
	background-size: cover; /* デフォcontain */
	background-repeat: no-repeat; /* デフォは指定なし */
	background-position: center center;
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	display: block;
	width: 100%;
	height: 100%;
	z-index: -1;
  animation: fadeIn 2s ease-in forwards;
}
@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}
.main_visual-50th_concert .main_center {
	width: 68%;
	max-width: 1000px;
	height: calc(100% - 3.74vw);
	margin: 0 auto 0;
	padding: 0;
	z-index: 10;
	position: relative;
}
.main_visual-50th_concert .main_center.aos-animate::after {
	transform: scale(1);
	opacity: 1;
}

.main_visual-50th_concert .main_center img {
	margin: auto;
	position: relative;
	display: block;
}
.main_visual-50th_concert .main_center > img:nth-child(1) {
	/* with enjoy */
	width: 68%;
  width: 35.4166vw;
  max-width: 680px;
  min-width: 342px;
  
	position: absolute;
	/*top: 3.5%;
	left: 50%;
	transform: translateX(-50%);*/
  top: 50%;
  left: 50%;
  transform: translate(-50%, -206%);
}
/*.main_visual-50th_concert .main_center img:nth-child(2) {*/
.main_visual-50th_concert .main_center > img:nth-child(2) {
	/* 地図 */
	width: 53.3%;
  width: 29.84vw;
  max-width: 573px;
  min-width: 331px;

	position: absolute;
	/*top: 11%;
	left: 50%;
	transform: translateX(-50%);*/
  top: 50%;
	left: 50%;
	transform: translate(-50%, -79%);
}
.main_visual-50th_concert .main_center > img:nth-child(3) {
  /* ロゴ */
	width: 76.2%;
  width: 39.68vw;
  max-width: 762px;
  min-width: 347px;
  
	/*bottom: -4%;
	left: 50%;
  transform: translateX(-50%);*/
	position: absolute;
	z-index: 210;
  
  top: 50%;
  left: 50%;
  transform: translate(-50%, -2%);
}

.main_visual-50th_concert .main_center_chara .mv_imgs{
  z-index: 211;
}
.main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(1){
	width: min(26.04vw, 500px);
  min-width: 170px;
	top: 50%;
  right: 50%;
  margin-top: -32.5%;
	margin-right: 26%;
  margin-top: -17.0vw;
  margin-right: 13.25vw;
}
.main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(2){
	width: min(28.125vw, 540px);
  min-width: 183px;
	top: 50%;
	left: 50%;
  position: absolute;
  margin-top: -24.5%;
	margin-left: 27%;
  
  margin-top: -12.75vw;
  margin-left: 14vw;
}

@media screen and (max-width: 1040px) {
  .main_visual-50th_concert {
    max-height: 590px;
    height: 80vw;
  }
}
@media screen and (max-width: 1040px) and (orientation: portrait){
  
  .main_visual-50th_concert .main_center > img:nth-child(1){
    transform: translate(-50%, -245%);
  }
  .main_visual-50th_concert .main_center > img:nth-child(2){
    transform: translate(-50%, -70%);
  }
  .main_visual-50th_concert .main_center > img:nth-child(3){
    transform: translate(-50%, 20%);
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(1){
   
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(2){
    
  }
}
@media screen and (max-width: 1040px) and (orientation: landscape){
  .main_visual-50th_concert {
    height: 80vh;
    min-height: 400px;
  }
  .main_visual-50th_concert .main_center > img:nth-child(1){
    min-width: inherit;
  }
  .main_visual-50th_concert .main_center > img:nth-child(2){
    min-width: inherit;
  }
  .main_visual-50th_concert .main_center > img:nth-child(3){
    min-width: inherit;
  }
}
@media screen and (max-width: 767px) {
  .main_visual-50th_concert {
    max-height: inherit;
    height: 157.33vw;
  }
  .main_visual-50th_concert::after {
    background-image: url(../img/hanabi26mar/fv_bg_sp.webp);
  }
}
@media screen and (max-width: 767px) and (orientation: portrait) {
  .main_visual-50th_concert .main_center > img:nth-child(1){
    transform: translate(-50%, -245%);
    width: 91.2vw;
  }
  .main_visual-50th_concert .main_center > img:nth-child(2){
    transform: translate(-50%, -70%);
    width: 88.266vw;
  }
  .main_visual-50th_concert .main_center > img:nth-child(3){
    transform: translate(-50%, 20%);
    width: 92.533vw;
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(1){
    width: 45.33vw;
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(2){
    width: 48.8vw;
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(1){
    margin-top: -51.5vw;
    margin-right: -2.75vw;
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(2){
    margin-top: -45vw;
    margin-left: -2vw;
  }
}
@media screen and (max-width: 375px) {
  /*.main_visual-50th_concert .main_center > img:nth-child(3){
    transform: translate(-50%, 12%);
  }
  .main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(1){
    margin-top: -55.5vw;
  }*/
}

/********************************
出玉情報
*********************************/
#dedama {
	background-image: linear-gradient(90deg, transparent, #ffffffb3 30%, #ffffff 50%, #ffffffb3 70%, transparent);
  background-size: auto;
	position: relative;
	padding: 50rem;
}
.dedama-nav {
  margin-top: 50rem;
}
.dedama-nav_area{
  display: flex;
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
  column-gap: 1%;
}
.dedama-nav .dedama-nav_area.pc_none{
  display: none;
}
.dedama-nav .dedama-nav_area.sp_none{
  display: flex;
}
.dedama-nav_area + .dedama-nav_area{
  margin-top: .5%;
}
.dedama-nav_area .nav{
  display: flex;
  column-gap: 1%;
}

@media screen and (max-width: 768px){
  .dedama-nav .dedama-nav_area.sp_none{
    display: none;
  }
  .dedama-nav .dedama-nav_area.pc_none{
    display: flex;
  }
}

/********************************
最新情報
*********************************/
#news {
  background: transparent;
  padding: 150rem 0 75rem;
  padding-top: 70rem;
}
.slider{
  /*width: 580px;*/
  max-width: 580px;
  width: 94.81%;
  border: 25.64rem solid #fff;
  border-radius: 25.64rem;
  position: relative;
  z-index: 1;
}
.slider::after{
  content: "";
  display: block;
  position: absolute;
  top: -25.64rem;
  left: -25.64rem;
  width: calc(100% + 51.28rem);
  height: calc(100% + 51.28rem);
  border-radius: 25.64rem;
  box-shadow: 9px 9px 11px rgba(0,0,0,.75);
  mix-blend-mode: multiply;
  z-index: 0;
}
.slider .slick-dots{
  bottom: -60px;
}

/********************************
新台情報
*********************************/
#shindai {
  background: transparent;
  padding: 75rem 0;
}

/********************************
INFORMATION
*********************************/
.info_sec h2.sec_title{
  margin-bottom: 0;
}
#information .info_contents{
  background: #f4f0eb;
  border-radius: 20rem;
  padding: min(5vw, 50px);
}
#information .wrap{
  max-width: 1000px;
}
@media screen and (max-width:750px){
  #information .info_contents{
    padding: 10px;
  }
}

#information .tabs {
  max-width: 1000px;
  width: 100%;
  margin: 0 auto;
}

#information .tab {
  display: flex;
  list-style: none;
  justify-content: space-between;
  padding: 0;
  width: 100%;
  margin: 0 auto calc(30 / 1000 * 100%);
}

#information .tab li {
  /*width: calc(200 / 1000 * 100%);*/
  width: 33.33%;
  border: solid 1px #a87e21;
  font-size: 20px;
  height: 40px;
  font-weight: 500;
  border-radius: 20rem 20rem 0 0;
  text-align: center;
  color: #a87e21;
  display: table;
  background: #fff;
  transition: background .3s;
}

@media screen and (max-width: 750px) {
  #information .tab li {
    font-size: 2.6vw;
    height: 6.0vw;
  }
}
#information .tab li .br {
  display: inline-block;
}
#information .tab li p {
  display: table-cell;
  vertical-align: middle;
  padding: calc(30 / 1000 * 100%);
  line-height: calc(1.4 * 100%);
  text-decoration: none;
  color: #a87e21;
  cursor: pointer;
  transition: color .3s;
}
#information .tab li:hover,
#information .tab .active {
  background-color: #a87e21;
  /*opacity: .5;*/
}
#information .tab li:hover p,
#information .tab .active p {
  color: #fff;
}
#information .tab .active:hover {
  opacity: 1;
}
@media screen and (max-width: 980px) {
  #information .tab li p br.pc_none{
    display: block;
  }
}
@media screen and (max-width: 750px) {
  #information .tab li p {
    line-height: 1.1;
    padding: 3px;
  }
}

#information .tabIn {
  display: flex;
  list-style: none;
  justify-content: space-between;
  padding: 0;
  margin: calc(30 / 1000 * 100%) auto;
}

#information .tabIn li {
  width: calc(1 / 9 * 100%);
  border: solid 1px #fff;
  font-size: 16px;
  text-align: center;
  color: #fff;
  display: table;
}

#information .tabIn li p {
  display: table-cell;
  vertical-align: middle;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px;
  height: 33px;
  margin: 0;
  cursor: pointer;
}

@media screen and (max-width: 750px) {
  #information .tabIn li p {
    font-size: 1.3vw;
    height: 3.3vw;
  }
}

#information .tabIn .active {
  background-color: #fff;
}

#information .tabIn .stList {
  background-color: #fff;
  border: solid 1px #009DD8;
}

#information .tabIn .st_w > p {
  color: #FF6400;
}

#information .tabIn .st_w > p:hover {
  color: #fff;
  background-color: #FF6400;
  opacity: .5;
}

#information .tabIn .search_item2 > p:hover{
  color: #fff;
  opacity: .5;
}
#information .tabIn .st_00 > p {
  color: #000000;
}
#information .tabIn .st_00 > p:hover {
  background-color: #000000;
}

#information .tabIn .st_01 > p {
  color: #ff55b3;
}
#information .tabIn .st_01 > p:hover {
  background-color: #ff55b3;
}

#information .tabIn .st_02 > p {
  color: #f98821;
}
#information .tabIn .st_02 > p:hover {
  background-color: #f98821;
}

#information .tabIn .st_03 > p {
  color: #d5ae01;
}
#information .tabIn .st_03 > p:hover {
  background-color: #d5ae01;
}

#information .tabIn .st_04 > p {
  color: #86bf00;
}
#information .tabIn .st_04 > p:hover {
  background-color: #86bf00;
}

#information .tabIn .st_05 > p {
  color: #33b566;
}
#information .tabIn .st_05 > p:hover {
  background-color: #33b566;
}

#information .tabIn .st_06 > p {
  color: #3399ff;
}
#information .tabIn .st_06 > p:hover {
  background-color: #3399ff;
}

#information .tabIn .st_07 > p {
  color: #6070ff;
}
#information .tabIn .st_07 > p:hover {
  background-color: #6070ff;
}

#information .tabIn .st_08 > p {
  color: #9900ff;
}
#information .tabIn .st_08 > p:hover {
  background-color: #9900ff;
}

#information .tabIn .st_09 > p {
  color: #FF5964;
}

#information .tabIn .st_09 > p:hover {
  background-color: #FF5964;
}

#information .tabIn .stList.active2 > p {
  color: #fff;
}

#information .tabIn .st_w.active2 {
  border: solid 1px #FF6400;
  background-color: #FF6400;
}

#information .tabIn .st_00.active2 {
  border: solid 1px #000000;
  background-color: #000000;
}

#information .tabIn .st_01.active2 {
  border: solid 1px #ff55b3;
  background-color: #ff55b3;
}

#information .tabIn .st_02.active2 {
  border: solid 1px #f98821;
  background-color: #f98821;
}

#information .tabIn .st_03.active2 {
  border: solid 1px #d5ae01;
  background-color: #d5ae01;
}

#information .tabIn .st_04.active2 {
  border: solid 1px #86bf00;
  background-color: #86bf00;
}

#information .tabIn .st_05.active2 {
  border: solid 1px #33b566;
  background-color: #33b566;
}

#information .tabIn .st_06.active2 {
  border: solid 1px #3399ff;
  background-color: #3399ff;
}

#information .tabIn .st_07.active2 {
  border: solid 1px #6070ff;
  background-color: #6070ff;
}

#information .tabIn .st_08.active2 {
  border: solid 1px #9900ff;
  background-color: #9900ff;
}

#information .tabIn .st_09.active2 {
  border: solid 1px #FF5964;
  background-color: #FF5964;
}



#information .list-btn{
  margin-top: 20rem;
}
#information .list-btn {
  margin: calc(30 / 1000 * 100%) auto 0;
}
#information .list-btn button {
  background-color: #fff;
  color: #29abe2;
  border: solid 1px #29abe2;
  border-radius: .75em;
  cursor: pointer;
  outline: none;
  padding: 0;
  font-weight: 700;
  width: fit-content;
  height: 1.7em;
  line-height: 1.7em;
  font-size: 20px;
}
#information .list-btn button span {
  margin: 0 1em;
}
/*#information .list-btn button::after {
  content: "";
  width: 2vw;
  height: 2vw;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  display: inline-block;
  transform: rotate(-45deg);
}*/

@media screen and (max-width: 750px){
  #information .list-btn {
    margin: calc(20 / 1000 * 100%) auto;
  }
  #information .list-btn button {
    font-size: 3.8vw;
    height: 1.7em;
    line-height: 1.7em;
    border-radius: .85em;
  }
  #information .list-btn button span {
    margin: 0 1em;
  }
}

#information .tabContents .tabContentsIn {
  display: none;
}

#information .tabContents .store_individual {
  max-width: 1000px;
  width: 100%;
  background-color: #fff;
}

#information .tabContents .store_individual .store_individual_name {
  max-width: 1000px;
  width: 100%;
  color: #fff;
  text-align: left;
  margin: 0 0 calc(30 / 1000 * 100%);
}

#information .tabContents .store_individual .store_individual_name p {
  margin: 0;
  font-size: 17px;
  font-weight: 500;
  padding: calc(10 / 1000 * 100%) calc(20 / 1000 * 100%);
}

@media screen and (max-width: 750px) {
  #information .tabContents .store_individual .store_individual_name p {
    font-size: 1.7vw;
  }
}

#information .tabContents .store_individual .store_individual_con {
  display: flex;
  margin: 0 auto calc(35 / 1000 * 100%);
}

#information .tabContents .store_individual .store_individual_con .store_individual_img {
  margin: 0 auto calc(25 / 1000 * 100%);
  width: calc(520 / 1000 * 100%);
}

#information .tabContents .store_individual .store_individual_con .store_individual_img img {
  width: calc(459 / 520 * 100%);
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt {
  width: calc(440 / 1000 * 100%);
  padding: 0 calc(30 / 1000 * 100%) 0 calc(10 / 1000 * 100%);
  text-align: left;
  word-wrap: break-word;
  overflow-wrap: break-word;
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt p {
  margin: 0;
  font-size: 13px;
}

@media screen and (max-width: 750px) {
  #information .tabContents .store_individual .store_individual_con .store_individual_txt p {
    font-size: 1.3vw;
  }
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt p a {
  text-decoration: none;
  color: #000;
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt .store_comment {
  margin: calc(50 / 1000 * 100%) 0 0;
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt_link {
  margin: calc(39 / 1000 * 100%) 0 0;
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt_link a {
  margin: 0 calc(50 / 1000 * 100%) 0 0;
}

#information .tabContents .store_individual .store_individual_con .store_individual_txt_link a img {
  width: calc(70 / 450 * 100%);
}

#information .tabContents.active {
  animation-name: fade;
  animation-duration: 0.5s;
  animation-iteration-count: 1;
}

/********************************
キャラクター紹介
*********************************/
.chara_sec {
	background: transparent;
	position: relative;
}
.chara_box {
	width: 100%;
  height: 0;
	padding-top: 134%;
  padding-top: min(132vw,1400px);
	background-image: url(../img/hanabi26mar/chara_box_hanabi.webp);
	background-size: 98% auto;
	background-repeat: no-repeat;
  background-position: top right;
	position: relative;
	margin-top: -9.5%;
}
.chara_box_title {
  max-width: 850px!important;
	width: 84%;
  min-width: 316px;
	position: absolute;
	top: 7%;
	left: 1rem;
	right: 1rem;
	margin: auto;
}
.chara_box_txt {
	font-size: min(45rem, 32px);
	font-weight: bold;
	position: absolute;
	top: 14%;
	left: 10%;
	right: 10%;
	margin: auto;
	text-align: center;
  font-feature-settings: "palt";
}
.chara_box .chara_box_img {
	position: absolute;
	top: 19%;
	width: 37%;
  max-width: 407px;
	cursor: pointer;
  transition: opacity .3s;
}
.chara_box .chara_box_img:hover {
  opacity: .7;
}
.cbi_1 {
	left: 11%;
}
.cbi_2 {
	right: 10%;
}
.chara_movie_box{
  position: absolute;
  top: 51%;
  padding-top: 55.17%;
  width: 78.54%;
  max-width: 864px;
  left: 11%;
}
.chara_movie_box video{
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  display: block;
}

.chara_big_box {
	position: absolute;
	/*bottom: 16rem;*/
  top: 8%;
	left: -10rem;
	width: 99%;
	display: none;
}
.chara_big_box img {
	cursor: pointer;
}
.in_poyon {
	animation: poyon 1s;
}
@keyframes poyon {
	0% {
		transform: scale(1, 1) translate(0%, 0%);
	}
	15% {
		transform: scale(0.9, 0.9) translate(0%, 5%);
	}
	30% {
		transform: scale(1.3, 0.8) translate(0%, 10%);
	}
	50% {
		transform: scale(0.8, 1.3) translate(0%, -10%);
	}
	70% {
		transform: scale(1.1, 0.9) translate(0%, 5%);
	}
	100% {
		transform: scale(1, 1) translate(0%, 0%);
	}
}

.balloon_ml,
.balloon_mr {
	position: absolute;
	width: 300rem;
	z-index: 1000;
	animation: jouge 5s infinite;
}
@keyframes jouge {
	0% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(20rem);
	}
	100% {
		transform: translateY(0);
	}
}
.chara_sec .balloon_ml {
	top: 100rem;
	left: 100rem;
}
.chara_sec .balloon_mr {
	bottom: -200rem;
	right: 100rem;
}

@media screen and (max-width: 1040px){
  .chara_sec .balloon_ml {
    top: 100rem;
    left: 0rem;
  }
  .chara_sec .balloon_mr {
    bottom: -200rem;
    right: 0rem;
  }
}
@media screen and (max-width: 768px){
  .chara_box_title {
    top: 5%;
  }
  .chara_box_txt {
    top: 10%;
  }
  .chara_movie_box{
    top: 50rem;
    width: 82%;
    left: 9%;
    position: relative;
  }
}


/********************************
ウエスタンチャンネル
*********************************/
#channel {
  margin-bottom: 100rem;
}
#channel .sec_wrap {
  padding: calc(20 / 1000 * 100%) 0;
  /*margin: calc(33 / 1000 * 100%) auto;*/
  
  padding-top: 25.48%;
  padding-top: min(45vw, 450px);
	background-image: url(../img/hanabi26mar/channel_box_hanabi.webp);
	background-size: 99% auto;
	background-repeat: no-repeat;
  background-position: top right;
	position: relative;
  margin-top: -9%;
}

.channel_con {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  margin: calc(100 / 940 * 100%) auto calc(112 / 940 * 100%);
  padding: 0 calc(50 / 940 * 100%);
  width: 90%;
}

.channel_con > figure {
  margin: 0;
}

.channel_con .wp-block-embed {
  width: calc(400 / 870 * 100%);
  aspect-ratio: 16 / 9;
}

.channel_con .wp-block-embed__wrapper {
  position: relative;
  aspect-ratio: 16 / 9;
  z-index: 3;
}

.channel_con .wp-block-embed__wrapper iframe, .channel_con .wp-block-embed__wrapper video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

@media screen and (max-width: 768px){
  #channel .sec_wrap{
    padding-top: 128%;
    background-image: url(../img/hanabi26mar/sp_channel_box_hanabi.webp);
    
    background-size: 100% auto;
    background-size: 106% auto;
    background-position: 20% 0;
    margin-top: -30rem;
  }
  .channel_con{
    display: block;
    margin-top: calc(145 / 940 * 100%);
  }
 .channel_con .wp-block-embed {
    width: 100%;
    margin: 0 auto;
  }
 .channel_con .wp-block-embed + .wp-block-embed {
    margin-top: calc(50 / 750 * 100vw);
  }
}

/********************************
公式X
*********************************/
#tw_x .sec_wrap {
  margin-top: -9%;
  padding: calc(20 / 1000 * 100%) 0;
  /*margin: calc(33 / 1000 * 100%) auto;*/
  
  padding-top: 38.03%;
  padding-top: min(51.23vw, 510px);
	background-image: url(../img/hanabi26mar/x_box.webp);
	background-size: 99% auto;
	background-repeat: no-repeat;
  background-position: top right;
	position: relative;
}

#tw_x .twitter_con {
  position: absolute;
  top: 15%;
  left: 0;
  right: 0;
  width: 100%;
  padding: 0 calc(30 / 1000 * 100%) 0 calc(30 / 1000 * 100%);
  
  top: 50%;
  transform: translateY(-60%);
}

#tw_x .twitter_con img {
  width: 100%;
  height: auto;
}
#tw_x .twitter_con .twitter_con_ttl {
  max-width: 220px;
  width: 320rem;
  margin: 30px auto 15px;
}

#tw_x .twitter_shop_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  list-style: none;
  width: calc(716/880*100%);
  margin: 0 auto;
  padding: 0;
  column-gap: 3.8%;
}

#tw_x .twitter_shop_list > li {
  width: 22.15%;
  margin-top: 16px;
}
#tw_x .twitter_shop_list > li a:hover {
  opacity: .7;
}

@media screen and (max-width: 1000px) {
  #tw_x .twitter_con iframe {
    overflow: hidden;
    height: 80.0vw !important;
  }
}
@media screen and (max-width: 768px) {
  #tw_x .sec_wrap {
    padding-top: 119.4%;
    background-image: url(../img/hanabi26mar/sp_x_box_hanabi.webp);
    background-size: 106% auto;
    background-position: 20% 0;
    margin-top: -30rem;
  }
  #tw_x .twitter_con{
    top: 5%;
    top: 50%;
    transform: translateY(-55%);
  }
  #tw_x .twitter_con .twitter_con_ttl{
    margin-bottom: 0;
  }
  #tw_x .twitter_shop_list {
    width: 90%;
  }
  #tw_x .twitter_shop_list > li {
    width: 47.61%;
  }
}

/********************************
店舗一覧
*********************************/
.shop_sec {
	position: relative;
	padding: 100rem;
  padding: 100rem 0;
}
.shop_sec .shop_box {
  max-width: 1100px;
  width: 100%;
	padding: min(38vw, 380px) 80rem 130rem;
	margin-bottom: 30rem;
  margin-top: max(-39vw, -390px);
  
  background-image: url(../img/hanabi26mar/shops_box_hanabi.webp);
	background-size: 100% auto;
	background-repeat: no-repeat;
  background-position: top right;
	position: relative;
  min-height: 1860rem;
  min-height: min(155vw,1880px);
  
  height: min(169vw, 1880px);
}
.shops_header {
	position: relative;
	/*height: 300rem;*/
  margin: 0 auto;
  z-index: 1;
  max-width: 1060px;
}
.shops_header > img,
.shops_header .shops_txt {
	/*position: absolute;*/
}
.shops_header > img:nth-of-type(1) {
	width: 450rem;
	top: 0rem;
	left: 0rem;
}
.shops_header > img:nth-of-type(2) {
	width: 400rem;
	top: -50rem;
	right: -65rem;
}
.shops_header .shops_map {
  width: 80.63%;
  margin: -140rem auto 20rem;
}
.shops_header .shops_txt {
	font-size: clamp(16px,3.2vw,32px);
	text-align: center;
	line-height: 1.4em;
	font-weight: bold;
  font-feature-settings: "palt";
  margin-bottom: 30rem;
}
.shops_con_ttl {
  max-width: 230px;
  width: 320rem;
  margin: 50px auto min(30rem, 30px);
}
.shops_con_ttl:first-child {
  margin-top: min(50rem, 50px);
}
.shop_list {
	display: flex;
	list-style: none;
	flex-direction: column;
	margin-left: auto;
  margin-right: auto;
  padding-right: 2%;
	width: 98%;
  max-width: calc(900px + 2%);
}
.shop_list li.sansa {
	background-image: url(../img/shops_back_s.png);
}
.shop_list li {
	background: #fff;
  
	width: calc(900rem - 14px);
	/*height: calc(139rem - 14px);*/
  
  width: 1040rem;
  width: 100%;
  max-width: 900px;
	/*height: 120rem;*/
	display: flex;
	justify-content: flex-start;
	align-items: center;
	padding: 0 40rem 0 120rem;
  padding: calc(7rem + 1.2%) calc(7rem + 3%) calc(7rem + 1.2%) calc(7rem + 1.2%);
	margin: 0 auto;
  position: relative;
  border-radius: 53px;
  z-index: 0;
  
  border-radius: 60px;
  border-radius: 90rem;
  background-image: linear-gradient(90deg, #a87e21 0%, #f8e6bb 30%, #bfa033 60%, #e3c380 80%, #a87e21 100%);
}
.shop_list li > *{
  z-index: 3;
  position: relative;
}
.shop_list li::before{
  content: "";
  display: block;
  position: relative;
  left: 17px;
  left: calc(7rem + 1.25%);
  top: 50%;
  margin-top: -4.75%;
  background: url(../img/shops_icon.png) 0 0 no-repeat;
  background-size: contain;
  width: 9.5%;/*86px;*/
  padding-top: 9.5%;
  
  width: clamp(30px, 9.5vw, 86px);
  padding-top: clamp(30px, 9.5vw, 86px);
  
  width: min(9.5vw, 86px);
  padding-top: min(9.5vw, 86px);
  left: 0;
  top: 0;
  margin-top: 0;
  margin-right: 1.2%;
  
  z-index: 2;
  flex-shrink: 0;
}
.shop_list li::after{
  content: "";
  display: block;
  position: absolute;
  top: min(7rem,7px);
  left: min(7rem,7px);
  width: calc(100% + 14px);
  height: calc(100% + 14px);
  
  width: calc(100% - min(14rem,14px));
	height: calc(100% - min(14rem,14px));
  border-radius: 60px;
  border-radius: 90rem; /*53px;*/
  /*border-radius: 53px;*/
  background: #fff;
  z-index: 1;
}
.shop_list li + li {
	margin-top: 20rem;
}
.shop_list li .shop_names {
  margin-right: 2%;
}
.shop_list li .icons {
	display: flex;
	justify-content: flex-end;
	align-items: center;
  width: 56.5%;
  /*padding-left: 3.8%;*/
  flex-shrink: 0;
  margin-left: auto;
}
.shop_list li .icons a {
	margin-left: 0;
  flex: 1;
  display: block;
}
.shop_list li .icons img {
	height: auto;
	width: 93rem;
  width: 80px;
  display: block;
}
.shop_sec .balloon_ml {
	bottom: 200rem;
	left: 100rem;
}
.shop_sec .balloon_mr {
	top: 500rem;
	right: 100rem;
}
.shop_names {
	height: 37rem;
  height: 37px;
}
li#shoplist-5 .shop_names {
  height: 42rem;
  height: 42px;
}

@media screen and (max-width: 1040px) {
  .shop_names{
    height: 37rem;
  }
  li#shoplist-5 .shop_names {
    height: 42rem;
  }
  .shop_sec .shop_box {
    background-image: url(../img/hanabi26mar/sp_shops_box_hanabi.webp);
    background-size: 105% auto;
    background-position: 20% 0;
    height: 196vw;
  }
  .shop_sec .balloon_ml {
    bottom: 100rem;
    left: 0;
  }
  .shop_sec .balloon_mr {
    top: 340rem;
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .shop_sec {
    padding-left: 0;
    padding-right: 0;
  }
  .shop_list li::before{
    width: 30px;
    padding-top: 30px;
  }
  /*.shop_names {
    height: 40rem;
  }
  li#shoplist-5 .shop_names {
    height: 48rem;
  }*/
}

/********************************
MOVIE CONTENTS
*********************************/
.movie {
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
}
.movie_wrap{
  margin: 0 auto calc(150 / 1000 * 100%);
  padding: 50rem;

  background-color: #f4f0eb;
  border-radius: 24rem;
}
.movie_ttl {
  text-align: center;
  margin-bottom: 30rem;
}
.movie_ttl img {
  max-width: 430px;
  width: 100%;
  
  
}

@media screen and (max-width: 768px) {
  .movie {
    padding: 0;
  }
  .movie_ttl p {
  }
  .movie_ttl img {
    width: 62.6%;
  }
}

.movie_con {
  display: flex;
  height: 177px;
}

@media screen and (max-width: 1000px) {
  .movie_con {
    height: 15.5vw;
  }
  .movie .movie_wrap .movie_con {
    padding: 0;
    height: 15.5vw;
  }
}

.video_list_itm_box_img {
  cursor: pointer;
}
.video_list_itm_box_img img{
  transition-duration: 0.5s;
}
.video_list_itm_box_img:hover {
  cursor: pointer;
}
.video_list_itm_box_img:hover img {
  opacity: 0.7;
  transform: scale(1.05);
}

.movie_box {
  width: calc(1 / 3 * 100%);
  overflow: hidden;
}

.movie_box .comming_txt {
  margin: calc(255 / 1000 * 100%) auto 0;
  width: calc(157 / 333 * 100%);
}

.movie_box img {
  width: 100%;
  height: auto;
}

.sn02 {
  background-color: #3ECD9F;
}

.sn03 {
  background-color: #FF95B5;
}



@media screen and (max-width: 1040px) {
	.balloon_l,
	.balloon_r {
		display: none;
	}
	.balloon_ml,
	.balloon_mr {
		width: 200rem;
	}
	/*.balloon_ml {
		right: -125rem !important;
		left: auto !important;
	}
	.balloon_mr {
		right: auto !important;
		left: -125rem !important;
	}*/
}
/*@media screen and (max-width: 1040px) {
	.logo_img {
		margin-left: 10rem;
	}
	.main_center.wrap {
		width: 88%;
		max-width: 750px;
	}
	.wrap {
		width: 90%;
	}
	.movie_box video {
		width: 800rem;
	}

	.main_visual .mv_catch {
		width: 80%;
	}
	.main_visual-50th_concert {
		max-height: 600px;
		min-height: inherit;
	}

	.main_visual-50th_concert .main_center > img:nth-child(1) {
		max-width: 520px;
		max-width: 54vh;
		width: 58%;
		left: 21%;
	}
	.main_visual-50th_concert .main_center > img:nth-child(2) {
		max-width: 120vh;
		left: 0;
		right: 0;
		transform: translateX(0);
	}
	.main_visual-50th_concert .main_center > img:nth-child(3) {
	}
	
	.main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(2){
		width: min(32%, 300px);
		top: 15%;
	}
	.main_visual-t .mv_imgs:nth-of-type(1) {
		width: 218rem;
		top: 0rem;
		left: 1rem;
	}
	.main_visual-t .mv_imgs:nth-of-type(2) {
		width: 140rem;
		top: 288rem;
		left: 45rem;
	}
	.main_visual-t .mv_imgs:nth-of-type(3) {
		width: 150rem;
		top: 444rem;
		left: 10rem;
	}
	.main_visual-t .mv_imgs:nth-of-type(4) {
		width: 252rem;
		top: 593rem;
		left: 1rem;
	}
	.main_visual-t .mv_imgs:nth-of-type(5) {
		width: 252rem;
		top: 72rem;
		right: 1rem;
	}
	.main_visual-t .mv_imgs:nth-of-type(6) {
		width: 146rem;
		top: 374rem;
		right: 13rem;
	}
	.main_visual-t .mv_imgs:nth-of-type(7) {
		width: 140rem;
		top: 676rem;
		right: 100rem;
		z-index: 1;
	}
	.main_visual-b img:nth-of-type(1) {
		width: 128%;
		margin-left: -14%;
		margin-right: -14%;
	}
	.main_visual-b img:nth-of-type(2) {
		width: 80%;
		margin-top: -20%;
	}

	.main_visual-b {
		padding: 6.86% 0 4.04%;
	}

	.main_visual-t {
		background-size: cover;
		background-position: center;
	}

}*/

@media screen and (max-width: 1040px) {
	.shop_sec {
		padding-left: 0;
		padding-right: 0;
	}
	.shop_sec .shop_box {
		padding-left: 50rem;
		padding-right: 50rem;
	}

	.chara_box.pc {
    display: block;
  }
	.chara_box_title {
		top: 155rem;
		width: 95%;
	}
	.chara_box_txt {
		font-size: 40rem;
		top: 253rem;
	}

	.fl_banner {
		width: 45vw;
		bottom: 30rem;
	}
	/* アラート追加 */
	.bottombanner {
		margin: 1em auto 2em auto;
		width: 80%;
		height: auto;
	}
}
.is-sp {
	display: none !important;
}
.chara_box_sp{
	display: none;
}
@media screen and (max-width: 768px) {
  .chara_box.pc{
    display: none;
  }
  .chara_box_sp {
		width: 100%;
		height: 2324rem;
		background-image: url(../img/sp_chara_box.webp);
		background-size: 106% auto;
		background-repeat: no-repeat;
    background-position: 20% 0;
		position: relative;
    margin: -30rem auto 0;
		text-align: center;
		padding-top: 330rem;
		display: block;
	}
  .chara_box_sp .chara_box_img {
		width: 82%;
		cursor: pointer;
		margin: auto;
	}
	.chara_box_sp .chara_box_img + .chara_box_img {
		margin-top: 50rem;
	}
	.cbi_1 {
		left: 68rem;
	}
	.cbi_2 {
		right: 80rem;
	}
	.chara_big_box {
		left: 5rem;
	}
	.chara_big_box img {
		cursor: pointer;
	}
}
/*@media screen and (max-width: 650px) {
	.main_visual-50th_concert .main_center > img:nth-child(2) {
		width: 85%;
		max-width: 600px;

		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.main_visual-50th_concert .main_center > img:nth-child(1) {
		width: 80%;
		margin-top: 0;

		position: absolute;
		top: 0;
		left: 10%;
	}
	.main_visual-50th_concert .main_center_chara img.mv_imgs:nth-of-type(1){
		width: min(35%, 270px);
		margin-left: 20.0%;
		bottom: 12.5%;
	}

	.main_visual-50th_concert .main_center img:nth-child(5) {
		width: min(40%, 450px);
		bottom: -20%;
		left: 50%;

		transform: translateX(-220%);
		display: block;
	}

	.main_visual-50th_concert .main_center_chara div.mv_imgs:nth-of-type(1){
		width: min(60%, 450px);
		bottom: -14.5%;
		left: -20.15%;
		display: block;
	}
	.main_visual-50th_concert .main_center_chara .mv_imgs:nth-of-type(2){
		width: min(40%, 300px);
		top: 10%;
		position: absolute;
		margin-right: -10%;
	}

	.main_visual-50th_concert .main_center > img:nth-child(3){
		width: 90%;
		bottom: 0%;
		left: 5%;

		position: absolute;
	}
}*/
