@charset "utf-8";
/* CSS Document */
section {
  padding-top: 3em;
  padding-bottom: 3em;
  margin: 0em auto 0em;
  width: 100%;
}
section:first-child {}
section:last-child {
  margin-bottom: 0;
}
.inner {
  padding: var(--space);
}
.inner figure {
  position: relative;
  display: block;
  margin-bottom: 2.5rem;
}
.container {
  width: calc(100% - 1.25em);
  margin-left: auto;
  margin-right: auto;
  padding: var(--space);
}
.note {
  padding: 1.3rem;
  border-radius: 10px;
  font-size: 0.95rem;
}
.note ul {
  margin: 0.5rem auto;
}
.note li {
  margin-left: 1rem;
  list-style: disc;
}
/*広告*/
.adsbygoogle {
  display: block;
  min-width: 250px;
}
/*見出し*/
h2 {
  font-size: 2rem;
  color: var(--primary);  font-family: "Coiny", system-ui;
  font-weight: 400;
  padding: 0 1rem;
  position: relative;
  text-align: center;
}
h3 {
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: 1em;
  padding: 0.2rem 0.5rem;
  color: var(--primary);
  text-align: center;
}
h4 {
  font-size: 1.05rem;
  color: var(--primary);
  margin-bottom: 1em;
  padding: 0.3rem 0;
}
#attention h4{
	border-bottom:1px solid var(--primary);
}
h5 {
  font-size: 1.4rem;
  text-align: center;
}
h6 {
  font-size: 0.9rem;
  margin-bottom: 1.5rem;
  font-weight: 400;
  color: var(--primary);
  text-align: center;
  border-bottom: 1px solid var(--primary);
  border-top: 2px solid var(--primary);
  padding: 10px;
}
#meet h4 {
	font-size: 1.3rem;
	color: #FFF;
	margin-bottom: 0.5em;
	padding: 0.3rem 0em 0.3em 0.5em;
	line-height: 1.2;
	border-left: 5px solid var(--p_pink);
  
}
/*テキスト*/
p {
  margin-bottom: 2em;
}
figcaption p {
  margin-bottom: 0;
}
/*リンク*/
a {
  transition: color 0.3s;
}
a:link {
  color: var(--gray);
}
a:visited {
  color: var(--gray);
}
a:hover {
  color: var(--primary);
}
span a {
  display: inline-block;
  padding: 0.5rem 1rem;
  width: 100%;
}
#footer a:link, #footer a:visited {
  color: var(--title);
}
#footer a:hover {
  color: var(--primary-light);
}
#header a:link, #header a:visited {
  color: var(--lightgray);
}
#header a:hover {
  color: var(--sub);
}
#footer.sp {
  background: var(--primary);
  color: #fff;
}
#footer.sp p {
  margin: 0 !important;
  text-align: center;
}

/*ローディング*/
#loading {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  background: #fff;
  text-align: center;
}
#loading_box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#loading .kvArea {
  width: 100%;
}
#loading .kvArea .img_box {
  text-align: center;
}
#loading .kvArea .img_box img {
  max-width: 100%;
  height: auto;
}
/*レイアウト*/
.wrap_main {
  width: 100%;
}
/*調整用*/
.fig_padding {
  padding: 10px;
}
.flex-center {
  align-items: center;
  -ms-align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
/*ボタン*/
.btn {
  display: block;
  font-weight: 600;
  font-size: 1.2rem;
  padding: 0.5rem;
  border-radius: 10px;
  text-align: center;
  margin: 1.5rem auto;
  width: calc(100% - 2rem);
  position: relative;
}
.btn a:link, .btn a:visited, .btn_entry a:link, .btn_entry a:visited, .btn_entry a:hover {
  text-decoration: none;
  color: #FFF;
}
.btn_sub a:link, .btn_sub a:visited, .btn_sub a:hover {
  text-decoration: none;
  color: var(--title);
}
.btn_entry {
  background: var(--accent);
  line-height: 1.4;
}
.btn_sub {
  font-size: 1rem;
  padding: 0.2rem;
}
.btn_sub2 {
  font-size: 1rem;
  padding: 0.2rem;
  background: var(--sub);
  margin: 5px 5px 20px;
  border-bottom: 3px solid #ddb905;
}
.btn_sub2 a {
  text-decoration: none;
}
.btn_gray {
  background: #999;
  color: #FFF !important;
}
.btn_none {
  font-size: 1rem;
  padding: 0.2rem;
  background: #dddddd;
  margin: 5px 5px 20px;
  padding: 0.7rem;
}
.btn.new::after {
  content: "";
  background: url("./new.png") no-repeat center center;
  background-size: 100%;
  width: 2rem;
  height: 2rem;
  display: block;
  position: absolute;
  top: 8px;
  left: 10px;
}
.btn_act {
  font-size: 1rem;
  padding: 0.2rem;
  background: var(--green);
  margin: 5px auto 20px;
}
.btn_bk{
  font-size: 1rem;
  padding: 0.2rem;
  background: #333;
  margin: 5px auto 20px;
}
/*モーダル*/
/* オーバーレイ（背景の暗い部分） */
    .modal-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0, 0, 0, 0.5);
      z-index: 1000;
      align-items: center;
      justify-content: center;
    }
    .modal-overlay.open {
      display: flex;
    }

    /* モーダル本体 */
    .modal-box {
      background: #fff;
      border-radius: 12px;
      width: 390px;        /* PCではスマホ幅 */
      max-width: 97vw;     /* スマホでは画面幅の97% */
      max-height: 97vh;    /* スマホでは画面高さの97% */
      overflow-y: auto;
      padding: 1.5rem;
      position: relative;position: fixed;
    }

    /*ボタン*/
 button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

.rule_btn{
  padding:0.5em 1em;
  text-align: center;
  display: block;
  font-size:1.05em;
  font-weight: 600;
  background:#FFF;
  color:var(--accent);
  border-radius:10px;
  border:2px solid var(--accent);
  width:230px;
  margin:1em auto;
}
    /* 閉じるボタン */
    .modal-close {
      position: absolute;
      top: 1rem;
      right: 1rem;
      background: none;
      border: 1px solid #ccc;
      border-radius: 8px;
      width: 32px;
      height: 32px;
      font-size: 18px;
      cursor: pointer;
      line-height: 1;
    }
    .modal-close:hover {
      background: #f5f5f5;
    }.modal-close {
  z-index: 1100; /* オーバーレイの1000より大きい値 */
  position: absolute;
}
.rule ul {
  list-style: disc;
  margin-left:1.5em;
}.rule ol {
  margin-left:1.5em;
  list-style-type: decimal;
}
/*mv*/
.bg_wrapper {
  /*background: url(./bg_mv.svg) no-repeat top center;
  background-size: 100%;*/
}
#mv {
  width: 100%;
  margin: 0 auto !important;
  padding: 0 !important;
  position: relative;
}
.mv_bg {
  display: block;
  position: relative;
  top: 0;
  z-index: 1;
  margin-bottom: -1rem;
}
.mv_inner {
  padding-top: 48%;
  position: absolute;
  top: 0;
  display: grid;
  place-content: center;
  gap: 1ch;
  text-align: center;
  z-index: 55;
  width:100%;
}
.mv_inner h1 img, .mv_inner h2 img {
	max-width: 73%;
}
/*おしらせ*/
#news {
  background: #6fbf36;
  padding: 1rem 1rem 4rem;
  position: relative;
  margin-top: -25px;
}
.news_inner {
  max-width: 520px;
  margin: 0 auto;
}
#news p, #news.inner {
  margin: 0 auto !important;
  padding: 0;
}

#news .note {
  padding: 1rem 1rem;
  width: 95%;
  margin: 0 auto;
  position: relative;
  z-index: 4;
}

/*ニュース*/
.ticker-wrap {
  display: flex;
  width: 100%;
  padding: 4px;
　-webkit-text-size-adjust: 100%;
}

.ticker {
  width: 100%;
  height: 30px;
  background: #fff;
  line-height: 30px;
  padding: 0 6px;
  overflow: hidden;
}
.ticker ul {
  position: relative;
  list-style: none;
  height: 100%;
  padding: 0;
  margin: 0;
}

.ticker ul li{
	list-style: none;
	margin: 0;
	font-size:13px!important;
}
.ticker-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-right: 0;
  opacity: 0;
}
.ticker-item a {
  display: inline-block;
  width: auto;
  color: #333;
  white-space: nowrap;
  text-decoration: none;
  transition: transform 5s linear;
}
.ticker-date {
  font-weight: bold;
  color: var(--accent);
	font-size:13px!important;
}
.ticker-title {
	font-size:13px!important;
}
.ticker-new {
  color: red;
  margin-left: 10px;
  animation: blink 1s ease-in-out infinite alternate;
}
.fadeInDown {
  opacity: 0;
}
.fadeInDown.run {
  animation: fadeInDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
.fadeOutDown {
  opacity: 1;
}
.fadeOutDown.run {
  animation: fadeOutDown 0.3s cubic-bezier(0.645, 0.045, 0.355, 1) forwards;
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-30px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(30px);
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
}/*ニュース*/

/*みだしくるくる*/
.news_mds {
  font-weight: 700;
  color: #FFF;
  display: block;
  position: absolute;
  padding: 0.1rem 0.5rem;
  top: -2.1rem;
  left: 10px;
  z-index: 88;
}
.rotate {
  position: relative;
  width: 122px;
  height: 122px;
  margin-bottom: -122px;
  top: -4rem;
  text-align: center;
  animation: rotate 12s linear infinite;
  z-index: 3;
  left: 0;
}
@keyframes rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*見出し位置*/
.lead_mds .rotate {
  width: 122px;
  height: 122px;
  margin-bottom: -122px;
  top: -3rem;
  text-align: center;
  animation: rotate 12s linear infinite;
  z-index: 3;
  left: -5px;
}
.lead_mds {
  position: absolute;
  z-index: 3;
  width: 100px;
  height: 100px;
  margin-bottom: -100px;
}
.lead_mds span {
  position: absolute;
  left: 14px;
  top: -30px;
}
.about_mds {
  left: -13px;
}
.lead_mds {
  right: 0px;
}
/*おしらせここまで*/

/*タイトル画像*/

#about {
	position: relative;
	background: url("./bg_about_top.png") no-repeat 0% 0%, url("./bg_about_bottom.png") no-repeat 0% 100%,url("./bg_about_all.png") repeat 0% 0%;
	background-size: 100%,100%,30px;
	overflow: hidden;
	padding-top: 140px;
	padding-bottom: 140px;
}

.title_bg {
  position: relative;
  margin-top: -3rem;
}
.lead {
	margin: 1rem auto;
	max-width: 425px;
	padding: 1rem;
}
.inner_txt {
  font-size: 0.9rem;
  padding: 0 1rem;
}
.inner_img {
  padding-top: 4rem;
  position: relative;
}
.inner_img figure p {
  font-size: 0.9rem;
}
.inner_img figure {
  padding-bottom: 2.5rem;
}
.inner_img figure img {
  border-radius: 10px;
}
.inner_img figure h5 {
  padding: 0.25rem;
}
/*見出し下キャプション*/
.caption {
  font-size: 0.8rem;
  text-align: center;
  margin: -10px auto 50px;
  padding: 0;
  position: relative;
}
/*企画*/
#enjoy{
	position: relative;
	background: url("./bg_plan_top.png") no-repeat 0% 0%, url("./bg_plan_bottom.png") no-repeat 0% 100%,url("./bg_plan_all.png") repeat 0% 0%;
	background-size: 100%,100%,50%;
	overflow: hidden;
	padding-top: 160px;
	padding-bottom: 160px;
}
#enjoy .note{
	position: relative;
	font-size: 0.85em;
	margin-top:3em;
	border:3px dotted var(--p_pink);
}
.plan_sub{
	position: absolute;
	display: block;
	padding: 5px 20px;
	border-radius:30px;
	top:-15px;
	left:-10px;
	background: var(--p_pink);
}
/*エリアマップ*/
#area_map, #timetable {
  margin-top: 0rem !important;
  padding-top: 0rem !important;
}
#area_map {
  position: relative;
}
#area_map::after {
  content: "";
  background: url("./icon_mob1.png") no-repeat;
  background-size: 100%;
  width: 100px;
  height: 100px;
  display: block;
  position: absolute;
  top: -70px;
  left: 50%;
  margin-left: -50px;
}
/*knb*/
#knb {
	position: relative;
	background: url("./main_bg_top.png") no-repeat 0% 0%, url("./bg_about_bottom.png") no-repeat 0% 100%,#FFF repeat 0% 0%;
	background-size: 100%,100%,0px;
	overflow: hidden;
	padding-top: 160px;
	padding-bottom: 160px;
}
/*ゲストエリア*/
/*ゲスト*/
.guest_area {
  margin: 2rem auto;
  align-content: center;
  justify-content: center;
}
.guest_area figcaption small {
  display: inline-block;
  border-radius: 60px;
  border: 1px solid #333;
  font-size: 11px;
  padding: 3px 0.5rem;
  margin: 5px;
  position: relative;
  top: -3px;
}
.guest {
  padding: 0.5rem;
}
/*.guest figure::before {
  content: "";
  width: 70px;
  height: 70px;
  margin-bottom: -70px;
  display: block;
  position: relative;
  background: url("./icon_guest.png") no-repeat 100%;
  z-index: 88;
  background-size: 100%;
  top: -15px;
  left: -15px;
}*/
.guest_area .half figure::before {
  content: "";
  width: 40px;
  height: 40px;
  margin-bottom: -40px;
  display: block;
  position: relative;
  background: url("./icon_guest.png") no-repeat 100%;
  z-index: 88;
  background-size: 100%;
  top: -15px;
  left: -10px;
}
.guest_area figcaption {
  position: relative;
}
.guest_area figcaption b {
  font-size: 1.5rem;
}
.guest_area .half figcaption b {
  font-size: 1.3rem;
}
.guest_area .third figcaption b {
  font-size: 1.1rem;
}
.guest_area figcaption p, #streaming figcaption p {
  font-size: 0.9rem;
}
/*タグライト*/
.tagright figure{justify-content: flex-start!important;display: flex;}
 .tagright figure{width:100%;font-size:12px;letter-spacing: 0;font-weight: 400;}
.tagright figure img {
	width: 110px;
	height: 100%;
}
 .tagright figcaption{display: inline-block;width:calc( 100% - 130px );padding:1em;}
.circle img {
  border-radius: 50%;
}
.circle {
  margin-bottom: 0.5rem !important;
}
.circle figcaption {
  text-align: center;
}
#streaming figure img {
  border-radius: 10px;
}
.kirin_stage,.special_3x3 {
  margin-top: 2rem;
  background: url("./icon_kirin1.png") no-repeat 0% 0%, url("./icon_kirin2.png") no-repeat 100% 2%;
  /* background-size: auto, auto; */
  background-size: 27%;
}
.kirin_stage h4 {
  line-height: 1.3;
  color: var(--accent);
  font-size: 1.5rem;
}
.kirin_stage h5 {
  position: relative;
  z-index: 3;
  line-height: 1.5;
  color: var(--sub);
  font-size: 1.5rem;
  margin: 1rem auto 1rem;
}
.kirin_stage h5 small {
  display: block;
}
.kirin_entry {
  margin: 3rem auto 0rem;
  background: url(./bg_kirin.jpg) no-repeat center bottom #FFFFFF;
  background-size: 115%;
  border-radius: 20px;
  padding: var(--component-padding);
  position: relative;
}
.kirin_entry::after {
  position: absolute;
  top: -27px;
  left: -5px;
  content: "";
  background: url(./icon_beer.png) no-repeat;
  display: block;
  width: 101px;
  height: 129px;
  z-index: 1;
  background-size: 100%;
}
/*トークショー*/
.special_3x3 figcaption b{
	font-size:1rem!important;
	line-height: 1.4;
}

.special_3x3 figcaption b small{
	font-size:0.8rem;
	display: block;
}
.special_3x3 h4 {
	position: relative;
	z-index: 5;
	display: inline-block;
	width:280px;
	margin: 0 auto;
}

.special_3x3 h4::before{
  content: "";
  width: 60px;
  height: 60px;
  display: block;
  position: absolute;
  background: url("./icon_special.png") no-repeat 100%;
  z-index: 1;
  background-size: 100%;
  top: -30px;
  left: -20px;
	transform: translateZ(40)
}
/*テーブル*/
.info-tbl {
  border-collapse: collapse;
  margin-bottom: 20px;
  width: 100%;
  margin: 1rem auto;
}
.info-tbl th, .info-tbl td {
  padding: 0.8rem;
  background: #FFF;
  border-bottom: 1px dotted #333;
}
.info-tbl th {
  font-weight: 400;
  font-size: 1.1rem;
  background-color: var(--accent);
  text-align: center;
  color: #FFF;
  white-space: nowrap;
  font-family: 'Oswald', sans-serif;
}
.info-tbl td {
  padding: 1rem;
  font-size: 1.15rem;
}
#eve .info-tbl td {
  background: none;
}
#eve .info-tbl th, #eve .info-tbl td {
  border: 1px dotted var(--accent);
}
/*ランジャタイ*/
.ranja{
	text-align: center;
}
/*配信*/
#streaming figcaption b {
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--primary);
}
#streaming p b {
  font-size: 1.2rem;
}
#streaming p {
  padding-left: 0;
}

/*ブース*/


#booth{
  background:url(./main_bg_top.png) no-repeat top center,url(./bg_about_bottom.png) no-repeat bottom center,var(--p_orange);background-size:100%;
}
#booth,
#booth_map {
  position: relative;
}
#booth::after {
  content: "";
  background: url("./icon_mob2.png") no-repeat;
  background-size: 100%;
  width: 100px;
  height: 100px;
  display: block;
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -50px;
}

.booth_eat dl,.booth_company dl{
	margin: 1rem auto;
	border-radius:10px;
	box-sizing: border-box;
}

.booth_eat dt, .booth_eat dd, .booth_company dt, .booth_company dd {
	background: #FFF;
	width: 50%;
	padding: 0.65rem 0.5rem;
	line-height: 1.3;
	font-size: 0.85em;
}
.booth_eat dd, .booth_company dd {
	font-size: 0.75rem;
	letter-spacing: 0.3px;
}
.booth_eat dt:nth-of-type(odd) ,
.booth_eat dd:nth-of-type(odd) ,
.booth_company dt:nth-of-type(odd),
.booth_company dd:nth-of-type(odd) {
	background: #fffdf3;
}
.booth-list {
  counter-reset: booth-num;
}
.booth-list dt {
  counter-increment: booth-num;
  position: relative;
  padding-left: 2.5em;
}
.booth-list dt::before {
	content: counter(booth-num);
	position: absolute;
	left: 5px;
	top: 9px;
	padding-top:1px;
	padding-left:1px;
	width: 1.8em;
	height: 1.8em;
	line-height: 1.7em;
	letter-spacing: 0;
	text-align: center;
	font-weight: bold;
	border-radius: 50%;
	font-family:  "MS Gothic", "monospace";
	font-size: 0.9em;
}
#booth h4 {
	font-size: 1.3rem;
	color: var(--primary);
	margin-bottom: 0.5em;
	padding: 0.3rem 0em 0.3em 0.5em;
	line-height: 1.2;
	border-left:5px solid var(--primary);
}
#booth .inner figure{
	margin-bottom:-1em;
}

/*MEET*/
#meet table{
  background-color: #FFF;
  border-radius:5px;
  width:100%;
}
#meet table tr{
  padding: 0.2em 1em;
  display: flex;}
.time{font-family: 'Oswald', sans-serif;}

#meet table tr:first-child{padding-top:0.5em;background:var(--p_sky);border-radius:5px;font-size:0.8em;font-weight: 400;}
#meet table tr:last-child{padding-bottom:0.5em;}

#meet table.echu tr:first-child{padding-top:0.5em;background:#FFF;border-radius:5px;font-size:1em;font-weight: 500;}

#meet table tr td:nth-child(1){
  color:var(--title);
  width:100px;
}
#meet table tr td:nth-child(2){
  padding-left:1em;
  width:calc( 100% - 100px - 0.5em );
}
/* カテゴリ別色分け */
.sale::before {
  background-color: #e74c3c; /* 赤（飲食） */
	color: #fff;
}
.ee::before {
  background-color: #3498db; /* 青（企業） */	color: #fff;
}
.food::before {
  background-color: #f1c40f; /* 黄（その他） */
}

.other::before {
  background-color: #dddddd; /* 黄（その他） */
}
/*ゲストエリア*/
/*アウトライン*/
.outline-tbl {
  border-collapse: collapse;
  margin-bottom: 60px;
  width: 100%;
  margin: 1rem auto;
}
.outline-tbl th, .outline-tbl td {
  padding: 0.8rem;
  background: #FFF;
  border-bottom: 2px dotted #333;
}
.outline-tbl th {
  font-size: 0.8rem;
  white-space: nowrap;
}
.outline-tbl th:nth-last-of-type() {
  border: 0 !important;
}
.outline-tbl td:nth-last-of-type() {
  border: 1px solid !important;
}
/*ボタン*/
.knb_btn-wrap {
  text-align: center;
}
a.btn-dl {
  background: var(--accent);
  padding-right: 70px;
}
a.knb_btn_like {
  background-color: var(--accent);
  border-radius: 6px;
  color: #fff;
  display: inline-block;
  text-decoration: none;
  font-weight: bold;
  line-height: 1.2;
  padding: 8px 20px;
  padding-right: 20px;
  font-size: 120%;
  margin: 0 3px 3px;
}
.hiduke {
  position: relative;
  z-index: 99;
}
/*ずーむ*/
.zoomIn img {
  transform: scale(1);
  transition: .3s ease-in-out;
}
.zoomIn a:hover img {
  transform: scale(1.2);
}
.mask {
  display: block;
  line-height: 0;
  overflow: hidden;
}
.zoomIn {
  width: 70%;
}
/*トップへ戻る*/
#page_top {
  width: 50px;
  height: 50px;
  position: fixed;
  right: 10px;
  bottom: 10px;
  background: var(--text);
  opacity: 0.8;
  border-radius: 50%;
}
#page_top::before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 30px;
  color: #ffffff;
  position: absolute;
  width: 40px;
  height: 40px;
  top: -14px;
  bottom: 0;
  right: 0;
  left: 2px;
  margin: auto;
  text-align: center;
}
/*youtube*/
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
.point_img {
  display: block;
  width: 100%;
  margin: 1rem auto;
  max-width: 500px !important;
}
.title h2 {
  margin-top: 100px;
}
/*体験*/
#activity{
	position: relative;
	background: url("./main_bg_top.png") no-repeat 0% 0%, url("./bg_about_bottom.png") no-repeat 0% 100%,var(--p_green) repeat 0% 0%;
	background-size: 100%,100%,0px;
	overflow: hidden;
	padding-top: 160px;
	padding-bottom: 160px;}
#activity figcaption b {
  display: block;
  font-weight: 700;
  color: var(--green);
  font-size: 1.5rem;
}
#activity .half figcaption b {
  font-size: 1.2rem;
}
#activity h4{
	text-align: center;
	font-size:1.6rem;
	position: relative;
	z-index: 10;
	display: block
}
#activity h5{
	text-align: center;
	font-size:1.4rem;
	margin-bottom:0.5rem;
	color:var(--green);
}
.sports{
	position: relative;
}
.sports::before {
	content: "";
	display: block;
	z-index: 1;
	position: absolute;
	background: url("./tit_sports.png") no-repeat;
	width: 320px;
	background-size: 100%;
	border-radius: 20px;
	top: -20px;
	left: 50%;
	margin-left:-160px;
	height: 150px;
}
.prosports figcaption small{
	display: block;
	margin-bottom:3px;
}
.prosports figcaption b{
	font-size:0.9rem!important;
	line-height:1.3;
}

.prosports figure img{
	border-radius:50%!important;
}
.line_g {
  border-bottom: 3px dotted var(--green);
}
.fig_info {
  margin: 0.5rem auto;
  background: rgba(255, 255, 255, 0.6);
  padding: 0.5rem 1rem;
  border-radius: 5px;
}
.fig_info span {
	display: inline-block;
	width: 100%;
}
.fig_info i {
  font-style: normal;
  display: inline-block;
  font-size: 0.9rem;
  width: 25%;
  max-width: 80px;
	vertical-align: top;
}
.green i {
  color: var(--green);
}
.pink i {
  color: var(--accent);
}
.sub i {
  color: var(--sub);
}
/*ブース*/
.booth_list {
  width: 50%;
}
.booth_list img {
  width: 100%;
}
/*Google*/
.googlemap iframe {
  border: 2px solid var(--sub) !important;
  border-radius: 10px;
}
/*表示*/
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}
@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeUpTrigger, .fadeInTrigger {
  opacity: 0;
}
/*前夜祭*/
#eve {
	position: relative;
	background: url("./bg_eve2.png") repeat-y 0%, url("./bg_eve.png") repeat-y 100%, #002140;
	background-size: 10%;
	overflow: hidden;
	color: #FFF;
	padding-top: 5rem;
}
.eve {
  color: #FFF;
  font-size: 1.8rem;
  line-height: 1.4;
}
.eve span {
  color: var(--p_sky);
}
.eve::after {
    content: "";
    background: url("./icon_eve_01.png") no-repeat center center;
    background-size: 100%;
    width: 3rem;
    height: 5rem;
    display: block;
    position: absolute;
    top: 180px;
    left: 10px;
}
#eve h2 {
  font-size: 2.5rem;
}
#eve h2 small {
  font-size: 1.3rem;
}
#eve h3 {
  display: block;
  color: var(--p_yellow);
  font-size: 1.4rem;
  line-height: 1.4;
  margin: 15px auto;
  border: 2px dotted var(--p_yellow);
  border-radius: 10px;
  width: 100%;
  max-width: 500px;
  position: relative;
  padding: 15px;
}
#eve h3::after {
  content: "";
  background: url("./icon_eve_02.png") no-repeat center center;
  background-size: 100%;
  width: 2.8rem;
  height: 7rem;
  display: block;
  position: absolute;
  bottom: -100px;
  right: 5px;
}
.eve_tit {
  color: #002140;
  -webkit-text-stroke: 2px var(--p_yellow);
  text-stroke: 2px var(--p_yellow);
  font-size: 2rem;
  padding-bottom: 1rem;
	position: relative;
	line-height: 1.3;
}
.eve_tit::after {
    content: "";
    display: block;
    position: absolute;
    width: 90px;
    height: 48px;
    background: url(./theeve.png) no-repeat center center;
    background-size: 100%;
    left: 50%;
    margin-left: -45px;
    top: -26px;
}
.booth_eve {
  display: block;
  text-align: left;
  padding: 0;
}
.booth_eve dt {
  color: var(--p_orange);
  border-bottom: 1px dotted var(--p_orange);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1.3;
  padding-bottom: 0.4rem;
}
.booth_eve dd {
  padding-bottom: 1rem;
  font-size: 0.85rem;
}
.eve_stage {
  margin-bottom: 1.5rem;
}
.eve_stage figure {
  max-width: 100px !important;
  margin-top: -5px;
}
.eve_stage figure figcaption {
  text-align: center;
}
.eve_stage figure figcaption b {
  font-size: 0.9rem !important;
}
.eve_stage figure figcaption small {
  font-size: 0.75rem !important;
  font-weight: 400;
  line-height: 1.2 !important;
  display: inline-block;
}
.eve_stage p {
  padding-top: 1rem;
  display: block;
  width: calc(100% - 120px);
  text-align: left;
}
.eve_time {
  width: 100%;
}
.eve_time span {
  display: block;
  font-weight: 500;
  font-size: 1.2rem;
  background-color: var(--p_pink);
  text-align: center;
  color: #002140;
  white-space: nowrap;
  font-family: 'Oswald', sans-serif;
  width: 85px;
  padding: 0.2rem;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.eve_time b {
  width: 100%;
  padding-top: 20px;
  border-top: 2px solid var(--p_pink);
  display: block;
	line-height: 1.3!important;
  font-size: 1.4rem !important;
  color: var(--p_pink);
}
.eve_time b small {
  font-size: 1rem;
  display: block;
	padding:0.2rem 0;
}
#eve figcaption b {
  font-size: 1.3rem;
}
#eve .inner{
	max-width:500px!important;
	margin: 0 auto;
}
/*nan*/
.inner figure.nan{
	border:1px solid #ccc!important;
	padding:10px!important;
	display: block!important;
	border-radius:5px!important;
	background: #FFF!important;
}
.inner figure.nan figcaption{
	font-size:0.85em;
	text-align: left;
	line-height: 1.4;
	padding-bottom:0.5em;
}
@media screen and (max-width:1440px) {
  html, body {
    font-size: 14px;
  }
  .wrap_main {
    padding: 0 2rem;
  }
}
@media screen and (max-width:1300px) {}
@media screen and (max-width:1200px) {
  html, body {
    font-size: 13px;
  }
}
@media screen and (max-width:900px) {
  html, body {
    font-size: 15px;
  }
  .inner {
    max-width: 600px;
    margin: 0 auto;
  }
}
@media screen and (max-width:810px) {
  html, body {
    font-size: 16px;
  }
  .inner {
    max-width: 500px;
    margin: 0 auto;
  }
#top{position: relative;}

}
@media screen and (max-width:620px) {
  html, body {
    font-size: 15px;
  }
}
@media screen and (max-width:600px) {
  .btn {
    margin: 0.5rem auto;
  }
}
@media screen and (max-width:420px) {
  html, body {
    font-size: 14px;
  }
  .title h2 {
    font-size: 2rem;
    padding: 1rem 1rem 0rem;
  }
  .btn {
    width: 100%;
  }
  .eve_stage figure {
    max-width: 90px !important;
    margin-top: 9px;
    margin-left: 18px;
  }
  #eve {
    position: relative;
    background: url("./bg_eve2.png") repeat-y -2%, url("./bg_eve.png") repeat-y 102%, #002140;
    background-size: 8%;
    overflow: hidden;
    color: #FFF;
    padding-top: 5rem;
  }.fig_info {
	margin: 0.5rem auto;
	background: rgba(255, 255, 255, 0.6);
	padding: 0.5rem 1rem;
	border-radius: 5px;
	font-size: 0.9rem;
	letter-spacing: 0.5px;
}
}
@media screen and (max-width:390px) {}
@media screen and (max-width:320px) {
#dance .inner{padding: 1em 0.5em;}}

/*ダンス*/
/*ダンスコンテスト*/
#dance {
	position: relative;
	background: url("./main_bg_top.png") no-repeat 0% 0%, url("./bg_about_bottom.png") no-repeat 0% 100%,var(--p_sky) repeat 0% 0%;
  background-size: 100%,100%,0px ;
	overflow: hidden;
	padding-top: 160px;
	padding-bottom: 160px;
}
#dance .inner{padding: 1em 1.5em;}
@media screen and (max-width:1600px){
#dance .lead{font-size:0.8em;}}
@media screen and (max-width:1400px){
#dance .lead{font-size:0.8em;}}
@media screen and (max-width:320px) {
#dance .inner{padding: 1em 0.5em;}}
.dance_tbl{width:100%;background: #FFF;margin-bottom:2em;}.dance_tbl td{width:100%;display: block;padding:0.8em;}
.dance_tbl td:nth-child(1){background:var(--title);color: #FFF;padding:4px 0.8em;font-weight: 600; font-size:0.9em;}
.dance_tbl li{list-style: square;margin-left:1em;}
.dance.rotate {
	position: relative;
	width: 322px;
	height: 322px;
	margin-bottom: -322px;
	top: -150;
	text-align: center;
	animation: rotate 12s linear infinite;
	z-index: 1;
	left: 0;
}
#stage ul li{list-style: none;}