@charset "utf-8";
/* CSS Document */
section {
  padding-top: 3em;
  padding-bottom: 3em;
  margin-bottom: 3em;
}
section:first-child {
}
section:last-child {
  margin-bottom: 0;
}
.container {
  width: calc(100% - 1.25em);
  margin-left: auto;
  margin-right: auto;
  padding: var(--space);
}
.in_box {
  width: 100%;
  max-width: 1100px;
  margin: 3em auto 0;
}
.note {
  padding: 1.5rem;
  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;
}
/*ぱんくず*/
.wrapper .pan {
	position: absolute;
	top: 60px;
	color: var(--gray);
	background: var(--base);
	padding: 2px 0;
	font-size: 0.7rem;
	width: 100%;
	text-align: left;
}
.wrapper .pan a {
  color: var(--base2);
}
.wrapper .pan div {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
}
/*見出し*/
h2 {
  font-size: 2rem;
  color: var(--primary);
  font-weight: 700;
  padding: 0 1rem;
	position: relative;
}
/*.wrap_main h2::after {
	content: "";
	display: block;
	width: 93%;
	height: 3px;
	background: var(--sub);
	position: absolute;
	top: 70px;
}
.wrap_main h2:first-letter{
	font-size:2.5rem;
}*/
h2 small {
  font-size: 0.8rem !important;
  display: inline-block;
	color: var(--gray);
  font-weight: 600 !important;
  padding: 0 2px !important;
}
.title h2 small{
	position: relative;
	top:-20px;
}
h3 {
  font-size: 1.2rem;
  font-weight: 600;
  margin-bottom: 1em;
  padding: 0.2rem 1rem;
  color: var(--primary);
  border-left: 5px solid var(--sub);
}
h4 {
  font-size: 1.05rem;
  color: var(--primary);
  margin-bottom: 1em;
  padding: 0.3rem 0;
  border-bottom: dotted 2px var(--primary);
}
h5 {
  font-size: 1.5rem;
  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;
}
/*テキスト*/
p {
  margin-bottom: 2em;
  padding-left: 0.2rem;
}
/*リンク*/
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);
}
/*レイアウト*/
.wrap_main {
  width: 100%;
  max-width: 1300px;
  margin: 3rem auto;
}
.wrap_right {
  width: 100%;
  max-width: 320px;
  padding: 0 1rem;
  margin: 0 auto;
}
.wrap_left {
  width: 100%;
  max-width: calc(100% - 330px);
}
/*調整用*/
.fig_padding {
  padding: 10px;
}
.flex-center {
  align-items: center;
  -ms-align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
}
/*ニュース*/
#news {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
#news .in_box {
  margin: 1rem auto 0;
}
#news dl {
	display: -webkit-flex;
	display: -moz-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-o-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: 0rem auto;
	border-radius: 10px;
	box-shadow: 3px 4px 0px 2px rgba(0, 0, 0, .1);
	padding: 1rem;
	width: 90%;
}
.news {
  width: 100%;
  margin: 0 2rem;
}
#news dt {
  width: 80px;
  font-size: 0.8rem;
  padding: 0.5rem 1rem;
  margin: 2px 0px;
  color: var(--title);
}
#news dd {
  font-size: 0.95rem;
  padding: 6px;
  padding-left: 1rem;
  width: calc(100% - 80px);
  margin: 2px 0px;
}
#news a, #news a:visited {
  color: var(--primary);
}
#news a {
  transition: all 0.3s ease 0s;
}
#news a:hover {
  color: var(--title);
}
/*サイドカラム*/
#sponcer .knb_logo-big img {
  width: 100%;
}
#sponcer .knb_logo-banners {
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
}
#sponcer .knb_logo-banners img {
  width: 100%;
}
.knb_logo-banners li {
  width: 50%;
  padding: 5px;
}
#sponcer li {
  font-size: 0.95rem;
  font-weight: 500;
}
#sponcer li:last-child {
  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_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;
	border-bottom: 5px solid #2360a7;
}
.btn_sub {
  font-size: 1rem;
  padding: 0.2rem;
  border: 2px solid var(--title);
}
.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;
	border-bottom:3px solid #777777;
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;
}
/*mv*/
.bg_wrapper {
  /*background: url(./bg_mv.svg) no-repeat top center;
  background-size: 100%;*/
}
.header_mv {
  width: 100%;
  margin: 0 auto;
  position: relative;
  background: url("./top_pc.png") no-repeat center bottom,url("./relay_bg.png") repeat center bottom;
  background-size: contain,100%;
  padding-bottom: 0 !important;
}
.header_inner {
  display: grid;
  place-content: center;
  gap: 1ch;
  text-align: center;
}
.header_inner h1 img {
	margin-left: -10%;
	z-index: 3;
	position: relative;
	width: 100%;
	padding-top: 4rem;
	max-width: 520px;
	padding-bottom: 14px;
}
.top {
  position: relative;
}
.top h2 {
	margin-top: -1.5rem;
	font-size: 1.3rem;
	max-width: 435px;
}
.top h2 span {
  font-size: 3rem;
}
.top h2 span small {
  color: var(--primary) !important;
  font-size: 1.8rem !important;
}
/*ヘッダーお知らせ*/
.header_top {
	width: 100%;
	max-width: 500px;
	display: grid;
	place-content: center;
	padding: 0rem 2rem 5rem;z-index: 55;
position: relative;
}
.header_top b {
  font-weight: 600;
  display: block;
  color: var(--red);
  font-size: 2rem;
  line-height: 2.8rem;
}
.header_top small {
  font-size: 0.7rem;
}
/*おしらせここまで*/
.lead {
  margin: 2rem auto;
  max-width: 650px;
}

.lead_wrap{
  margin: 2rem auto;
	max-width:90%;
	padding:0;
	margin-top:2rem;
	position: relative;
}
.lead_title {
	position: relative;
	top: -40px;
	left: -40px;
	max-width: 526px;
}
.lead_img {
	max-width: 365px;
	position: absolute;
	top: 136px;
	left: 35px;
}
.lead_area2 {
	position: relative;
	left: -10px;
	width: 500px;
	padding: 3rem 1rem 2rem 1rem;
}
/*タイトル*/
.title {
  background: url("./bg.jpg") no-repeat var(--sub) center bottom;
  background-size: 100%;
}
/*アウトラインエリア*/
#outline_area{
	background: url("./bg_outline.jpg") no-repeat center bottom;
	background-size:110%;
 width:100%;
	margin: 100px auto 0!important;
	padding:4rem 2rem 3rem;
}
.mds {
	text-align: center;
	width: 100%;
	max-width: 450px;
	margin: 0 auto;
}
.mds p {
    margin-bottom: 5px;
    color: #333;
    letter-spacing: 0.04rem;
    display: inline-block;
    position: relative;
	margin: 0 auto 1rem;
}
#outline_area p:before, #outline_area p:after {
    display: inline-block;
    position: absolute;
    top: 45%;
    width: 20px;
    height: 3px;
    border-radius: 5px;
    background-color: #333;
    content: "";
}
#outline_area p:before {
    left: -30px;
    -webkit-transform: rotate( 50deg );
    transform: rotate( 50deg );
}
#outline_area p:after {
    right: -30px;
    -webkit-transform: rotate( -50deg );
    transform: rotate( -50deg );
}

#outline_area figure{
	width:100%;
	max-width:360px;
	text-align: left;
	position:relative;
}
#outline_area figure img{
	margin-left:-30px;
	margin-top:-30px;
}

.bus_guide{
	display: block;
	margin: 1rem auto;
	width:90%;
	font-size:1.1rem;
}

.bus_guide dt,
.bus_guide dd{
	margin: 0;
	padding:0.5rem;
}
.bus_guide dt{background: var(--base);font-weight: 600;}
.bus_guide dd{margin-left:1rem;}

/*タイムテーブル周辺*/
.bg_dot{text-align: center;background: url(./relay_bg.png) repeat center center #fffb93;margin-bottom:0!important;padding-bottom:5rem;}
#timetable figure{border-radius:20px;width:90%;padding:2rem;background: #FFF;max-width:700px;margin: 10px auto;}
#timetable figure img{width: 100%;}
/*インデックスみだし*/
.top_mds{
	width:100%;
	max-width:400px;
	position: relative;
	z-index: 77;
}
.top_mds2{
	padding-top:70px;
	padding-left:40px;
	width:100%;
	max-width:450px;
}
.top_mds3{
	background: var(--primary);
	color:#FFF;
	border-bottom: 5px solid var(--sub);
	border-right: 5px solid var(--sub);
	vertical-align: middle;
	font-size:1.6rem;
	padding:1rem 1rem 0.5rem;
	display: inline-block;
	position: relative;
left:-30px;
}

.top_mds3 img{
	display: inline-block;
	width:60px;
	margin-right:1rem;
}
.top_mds4{
			width:100%;
	max-width: 520px;
			display: block;
			margin: 0 auto;
			text-align: center;
	border: 0!important;
}

/*賞金*/
.prize_area{
	width:100%;
	max-width:600px;
	margin: 0 auto;
}
.prize_mds{
	width:80%;
	max-width:200px;
}
/*ことし*/
#new_point{
	margin: 0!important;
	padding:0!important;
}
.point_box1,.point_box2{
	width:100%;
	max-width:500px;
	margin: 0 auto;
	position: relative;
}
.point_box1::before {
	content: "";
	background: url("./img02.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	left: -125px;
	bottom: 0;
	z-index: 44;
}

.point_box1::after {
	content: "";
	background: url("./img03.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	right: -125px;
	bottom: 0;
	z-index: 44;
}

.point_box2::before {
	content: "";
	background: url("./img04.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	left: -125px;
	bottom: 0;
	z-index: 44;
}

.point_box2::after {
	content: "";
	background: url("./img05.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	right: -125px;
	bottom: 0;
	z-index: 44;
}

.point_box3_sub{
	width:50%;
	padding:0.5rem;
}
.point_box3_sub img{
	width: 100%;
}

.point_end{
	width:600px;
	margin: 1rem auto 0;
	text-align: center;
	padding-bottom:3rem;

}

.point_end img{
	width:100%;
	max-width:400px;
}
/*ゲストエリア*/
/*ゲスト*/
.guest_area{
	margin:2rem auto;
	align-content: center;
	width:90%;
	justify-content: center
}

.guest_area figure{
	width:45%;
	display: block;
	margin: 5px;
}

.guest_area figure img{
	width:100%;
	max-width:300px;
}
.guest_area figcaption b{
	font-size:1.4rem;
}

.guest_area figcaption p{
	font-size:0.9rem;
}

/*応募要項*/
#entry{
	margin-top:0!important;
	background: url(./relay_bg.png) no-repeat center center;
background-size:200%;}

.point_area{
	margin-top:-4rem;
	padding:5rem 2rem 2rem;
}

.entry {
  width: 100%;
  margin: 2rem auto 4rem;
}
.entry div {
  width: calc(50% - 3rem);
  margin: 0 auto;
}
.entry .note {
  border: 1px solid var(--primary-light);
  padding: 1.5rem 1rem;
}
.info-tbl {
	border-collapse: collapse;
	margin-bottom: 20px;
	width: 95%;
}
.info-tbl th, .info-tbl td {
  padding: 20px;
  border: 1px solid #CCC;
}
.info-tbl th {
  background-color: #d3eaff;
  text-align: center;
  font-weight: normal;
  white-space: nowrap;
}
.info-tbl td ul,.info-tbl td ol {
  margin-left: 1rem;
  padding: 10px 0 0;
}
.info-tbl td ul li {
  list-style: disc;
  margin-bottom:0.3rem;
}

.info-tbl ol{
	list-style: decimal!important;
}
.info-tbl ol li{
 margin-bottom:0.5rem;}

.info-tbl .kome{
	margin-left:0;}
.info-tbl .kome li{
	list-style: none!important;
	margin-bottom:3px!important;
}
.info-tbl.yellow th {
  background-color: var(--base);
}
.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;
}
/*賞金*/
.prize {
  margin: 0 auto 1rem;
  width: calc(100% - 1rem);
}
.prize li {
  font-size: 1.05rem;
  padding: 0.5rem;
  font-weight: 500;
}
.prize li span {
  display: inline-block;
  color: var(--primary);
  width: 100%;
  max-width: 130px;
}
.prize li strong {
  font-size: 1.5rem;
  display: inline-block;
  width: 1.7em;
  text-align: center;
}
.prize li small {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 0.2rem;
}
.prize li:nth-child(3) {
  margin-bottom: 2rem;
}
.prize li:not(:last-child) {
  border-bottom: 1px solid var(--mdgray);
}.hiduke{position: relative;z-index:99;}
.entry_2 ul li {
  font-size: 0.8rem;
  list-style: disc;
  line-height: 1.2rem;
  margin-bottom: 0.6rem;
}
.entry_2 small {
  display: block;
  color: #666666;
  padding: 0.5rem 0;
  font-size: 13px;
  font-weight: 400;
}
.entry_3 {
	padding: 5rem 3rem 3rem;
	background: #FFF;
	width: 90%;
	margin: 0 auto;
	position: relative;
	top: -80px;
	border-bottom: 4px solid var(--sub);
	border-right: 4px solid var(--sub);
}
.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%;
}
/*協賛社情報*/
.sponcer_info dt {
  font-size: 1.1rem;
  font-weight: 500;
  padding: 0.5rem 0;
}
.sponcer_info dd {
  font-size: 0.85rem;
}
/*カルーセル*/
.cal{
	padding:1rem;
	margin:1rem auto 2rem;
}

/*トップへ戻る*/
#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;
}
.sp {
  display: none !important;
}
.pc {
  display: inline-block !important;
}

/*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;
}

/*ブース*/
.booth_list{
	width:50%;
}
.booth_list img{
	width:100%;
}
@media screen and (max-width:1440px) {
  html, body {
    font-size: 16px;
  } .wrap_main {
    padding: 0 2rem;
  }

}

@media screen and (max-width:1300px) {
	.top h2 {
	margin: -1rem auto;
	max-width: 340px;
}
}

@media screen and (max-width:1080px) {
	html, body {
	font-size: 14px;
}
  .flex {
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
  }
	/*ヘッダ*/
.header_inner h1 img {
	margin-left: 0px;
	padding-top: 4rem;
	max-width: 400px;
}
.top h2 {
	margin: -1rem auto 1rem;
	max-width: 270px;
}
.header_top {
	max-width: 450px;
	padding: 0rem 2rem 5rem;
	margin-top: -34px;
	margin-left: 0;
}
	/*キャッチ*/
	.lead_title {
	max-width: 400px;
}
	.lead_img {
	max-width: 341px;
	top: 11px;
	left: auto;
	right: 30px;
}
	.lead_area2 {
	left: 0px;
	width: 85%;
	padding: 3rem 1rem 2rem 1rem;
	margin: 0 auto;
}
	.top_mds {
	max-width: 320px;
}
		
	/*アウトラインエリア*/
	#outline_area {
	background: url("./bg_outline.jpg") no-repeat center bottom;
	background-size: 200%;
	margin: 0px auto 0 !important;
	padding: 2rem 2rem 3rem;
}
	#outline_area figure {
	width: 100%;
	max-width: 290px;
	left: 25%;
	bottom: -45px;
}
	/*ここが違う*/
	.top_mds2 {
	padding-top: 40px;
}
	.point_area {
	margin-top: -4rem;
	padding: 5rem 3rem 2rem;
}
	/*画像配置*/
	.point_box1::before {
	content: "";
	background: url("./img02.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	left: -81px;
	bottom: -157px;
	z-index: 44;
}
	.point_box1::after {
	content: "";
	background: url("./img03.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	right: -81px;
	bottom: auto;
	z-index: 44;
	top: -161px;
}.point_box2::before {
	content: "";
	background: url("./img04.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	left: -97px;
	bottom: -147px;
	z-index: 44;
}.point_box2::after {
	content: "";
	background: url("./img05.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 88px;
	position: absolute;
	right: -88px;
	bottom: 0;
	z-index: 44;
}
  /*エントリー*/
	#entry {
	margin-top: 0 !important;
	background: url(./relay_bg.png) repeat center center;
	background-size: 100%;
		padding-top:6rem;
}

 
	#news dl {
	margin: 2rem auto 0;
	padding: 1rem;
	width: 100%;
}
}
@media screen and (max-width:900px) {
  html, body {
    font-size: 15px;
  }
  .wrap_right {
    margin: 2rem auto;
    max-width: 250px;
  }
  .wrap_left {
    width: 100%;
    max-width: calc(100% - 260px);
    padding-left: 1rem;
  }
  .top {
    position: relative;
    width: 100%;
  }

  .wrap_main {
    width: 100%;
    max-width: 1300px;
    margin: 1.5rem auto;
  }
	/*ヘッダ*/
	.header_mv {
	background: url("./top_pc.png") no-repeat center bottom,url("./relay_bg.png") repeat center bottom;
	background-size: 105%,100%;
}
	.header_top {
	max-width: 450px;
	padding: 0rem 2rem 2rem;
}
.header_inner h1 img {
	margin-left: -36px;
	padding-top: 3rem;
	max-width: 340px;
}
	.lead_img {
	max-width: 274px;
	top: 49px;
	left: auto;
	right: 30px;
}
  /*大会概要*/
  .info-tbl {
    font-size: 14px;
  }
  .info-tbl th, .info-tbl td {
    padding: 15px;
    border: 1px solid #CCC;
  }
	.top_mds3 {
	font-size: 1.3rem;
	left: -33px;
}
	.point_box3_sub {
	width: 100%;
	padding: 0.5rem;
}
}
@media screen and (max-width:810px) {
  #sponcer figure {
    width: calc((100% / 2) - 10px);
  }
  #sponcer .sponcer_list figure {
    width: calc((100% / 3) - 10px);
  }
  h2 {
    width: 100%;
  }
  #news h2 small, small {
    display: inline-block !important;
  }.point_end img {
	width: 100%;
	max-width: 320px;
}.point_end {
	width: 100%;
	margin: 1rem auto 0;
	text-align: center;
	padding-bottom: 3rem;
}
}
@media screen and (max-width:620px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: inline-block !important;
  }
	.header_mv::after{
		content: "";
		display: block;
		position: absolute;
		top:-1em;
		left:0;
		width:100%;
		height:100%;
		background: url("./mv_sp.png") no-repeat center top;
		background-size:104%;
	}
	.top{
		padding-top:40px;
	}
	.wrap_main h2::after {
	content: "";
	display: block;
	width: 95%;
	height: 3px;
	background: var(--sub);
	position: absolute;
	top: 60px;
}
	#news dl{
		margin-top:1rem;
		width:100%;
	}
	.wrapper{overflow:hidden}
  /*レイアウト*/
.wrapper .pan {
	position: absolute;
	top: 60px;
	color: var(--gray);
	background: none;
	padding: 5px 5px;
	font-size: 0.85rem;
	width: 100%;
	text-align: left;
}

  .wrap_main {
    margin: 0rem auto 2rem;
    padding: 0rem;
  }
  .wrap_right {
    margin: 2rem auto;
    max-width: 340px;
  }
  .wrap_left {
    max-width: 100%;
	padding-left: 0rem;
  }
  .bg_wrapper {}
  	/*ヘッダ*/
	.header_mv {overflow:hidden;
	background: url("./relay_bg_sp.png") repeat center center;
	background-size: 100%;
    width: 100%;
    margin: 0 auto;
  }
	.header_inner h1 img {
	margin-left: -36px;
	padding-top: 5.5rem;
	max-width: 305px;
}
.header_top {
	max-width: 339px;
	padding: 0rem 2rem 7rem;
	top: 1px;
}
	

  .header_inner h2 {
    font-size: 1.2rem !important;
    padding: 1rem;
  }
.header_inner h1 img {
	width: 85%;
}
	.header_inner {
	padding-bottom: 130px;
}	
	.top h2 {
	margin-top: -2.5rem;
	font-size: 1.3rem;
}
	.lead_area1,.lead_area2{
		position: relative;
		z-index: 55;
	}
  .lead {
    font-size: 0.9rem;
    margin-top: 40px;
    padding: 0 2rem;
  }
  .container {
    width: calc(100% - 0.5em);
  }
  .padding-md {
    padding: calc(var(--space) * 1.3);
  }
  #schedule li:not(:last-child)::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 100px;
    width: 20px;
    height: 20px;
    border: 1px solid;
    border-color: transparent transparent var(--primary) var(--primary);
    transform: rotate(-45deg);
    margin-left: -10px;
  }.info-tbl {
	border-collapse: collapse;
	margin-bottom: 20px;
	width: 100%;
}
	.news {
	width: 100%;
	margin: 1rem 1rem 0rem;
}
	.wrap_main h2.top_mds2::after {
	content: "";
	display: none;
}	.wrap_main h2.top_mds::after {
	content: "";
	display: none;
}
	/*リード*/
.lead_wrap {
	margin: -81px auto 0;
	max-width: 100%;
	padding: 0;
	margin-top: 0rem;
	position: relative;
	padding-top: 25px;
	background: url("./lead_bg.png") no-repeat center top;
	top: -181px;
	margin-bottom: -181px;
}
	.lead_title {
	top: -23px;
	left: 35px;
	max-width: 347px;
}
	.lead_area2 {
	left: 0px;
	width: 90%;
	padding: 0rem 1rem 2rem 1rem;
	margin: 2px auto 2rem;
}#outline_area {
	background: url("./bg_outline.jpg") no-repeat center bottom;
	background-size: 230%;
	margin: 0px auto 0 !important;
	padding: 4rem 2rem 6rem;
}
	.guest_area figure{
	width:100%;
	display: block;
	margin: 5px;
}


	/*打消し*/
.wrap_main #prize h2::after {
    content: "";
    display: block;
    width: 0%;
    height: 0px;
    position: absolute;
    top: 60px;
}
	.wrap_main #guest h2::after {
    content: "";
    display: block;
    width: 0%;
    height: 0px;
    position: absolute;
    top: 60px;
}
	
/*ブース*/
.booth_list{
	width:80%;
}
.booth_list img{
	width:100%;
	max-width:400px;
}
}
@media screen and (max-width:600px) {
  .btn {
    margin: 0.5rem auto;
  }
  #sponcer figure {
    width: 100%;
  }
  #sponcer .flex {
    gap: 15px 10px;
  }
  #sponcer .sponcer_list figure {
    width: calc((100% / 2) - 10px);
  }
  #sponcer .sponcer_list figcaption {
    padding-right: 1rem;
    font-size: 0.9rem;
  }
	/*お知らせ*/
	
	.wrap_left {
	width: 100%;
	margin: 0 auto;
	padding-left: 0rem;
}
	.info-tbl th, .info-tbl td {
	padding: 15px;
	border: 1px solid #CCC;
	width: 100%;
	display: inline-block;
		text-align: left;
}
	.top_mds2 {
	padding-top: 70px;
	padding-left: 0;
	width: 80%;
	max-width: 450px;
	text-align: center;
	margin: 0 auto;
}.top_mds {
	max-width: 320px;
	margin: 0 auto;
}/*join*/
	#outline_area figure {
	width: 100%;
	max-width: 230px;
	left: 24%;
	bottom: -45px;
}
	#relay_movie{
		padding:1rem!important;
	}
	.top_mds3 img {
	display: inline-block;
	width: 50px;
	margin-right: 1rem;
}.point_area {
	margin-top: -4rem;
	padding: 5rem 2rem 2rem;
}
	/*岡田*/
	.point_box1::before {
	content: "";
	background: url("./img02.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 257px;
	width: 80px;
	position: absolute;
	left: -55px;
	bottom: -136px;
	z-index: 44;
}
	/*武道*/
	.point_box1::after {
	content: "";
	background: url("./img03.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 252px;
	width: 79px;
	position: absolute;
	right: -46px;
	bottom: auto;
	z-index: 44;
	top: -146px;
}
	/*網谷*/
	.point_box2::before {
	content: "";
	background: url("./img04.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 238px;
	width: 74px;
	position: absolute;
	left: -66px;
	bottom: -147px;
	z-index: 44;
}
	/*数家*/
	.point_box2::after {
	content: "";
	background: url("./img05.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 78px;
	position: absolute;
	right: -67px;
	bottom: 155px;
	z-index: 44;
}
	.entry_3 {
	padding: 5rem 2rem 3rem;
}
}
@media screen and (max-width:420px) {
  html, body {
    font-size: 14px;
  }section {
	padding-top: 2em;
	padding-bottom: 2em;
	margin-bottom: 2em;
}
	.title h2 {
	font-size: 2rem;
	padding: 1rem 1rem 0rem;
}
  .btn {
    width: 100%;
  }
	.news {
	width: 100%;
	margin: 0 1rem;
}
	#news dl {
	margin: 0rem auto;
	box-shadow: 0px 0px 0px 0px rgba(0, 0, 0, 0);
	padding-top: 1rem;
}
	#event-outline h3{
		line-height: 140%;
	}
	
	#news dt,#news dd {
		padding:0;
	width:100%;}
	#news dd{
		padding-bottom:1rem;
		border-bottom:1px dotted #999;
	}

	.info-tbl ol li {
	margin-bottom: 0.8rem;
}
	.info-tbl td ul li {
	margin-bottom: 0.8rem;
}h2 small {
	font-size: 0.95rem !important;
	color: var(--gray);
	display: inline-block;
	font-weight: 700 !important;
	padding: 0 10px !important;
}.entry_2 ul li {
	font-size: 0.9rem;
	list-style: disc;
	line-height: 1.4rem;
	margin-bottom: 0.8rem;
}
	.top_mds3 {
	font-size: 1.2rem;
	left:0px;
}
}
@media screen and (max-width:390px) {
	.top_mds3 {
	font-size: 1.2rem;
	left: -9px;
}
.header_top {
	max-width: 450px;
	padding: 0rem 2rem 5rem;
	margin-top: -10px;
	margin-left: 0;
}
.lead_title {
	top: -2px;
	left: 28px;
	max-width: 272px;
}
	#new_point .in_box{
		padding:1rem 0.5rem;
	}

	/*網谷微調整*/
	.point_box2::before {
	content: "";
	background: url("./img04.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 238px;
	width: 74px;
	position: absolute;
	left: -48px;
	bottom: -189px;
	z-index: 44;
}
/*数家微調整*/
.point_box2::after {
	content: "";
	background: url("./img05.png") no-repeat;
	background-size: 100%;
	display: block;
	height: 285px;
	width: 69px;
	position: absolute;
	right: -42px;
	bottom: 172px;
	z-index: 44;
}
	.point_end{
		padding:2rem;
	}}

@media screen and (max-width:320px) {
	.header_top {
	max-width: 227px;
	padding: 1rem 0rem 7rem;
	top: 5px;
	left: 0;
}.lead_title {
	top: -2px;
	left: 28px;
	max-width: 245px;
}

}