@charset "utf-8";
/* CSS Document */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&family=Road+Rage&display=swap');
@import url("basic.css");
@import url("global-navi.css");
@import url("style-theme-json.css");

/*--------------------------------
共通
--------------------------------*/
body{
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.8;
	font-size: 16px;
	font-feature-settings: "palt"1;
	font-weight: 400;
}

/* ドット斜め */
.bg_diagonal_dot{
  background-color: #fff;
  background-image:
    radial-gradient(#2ce1bd 10%, transparent 10%),
    radial-gradient(#2ce1bd 10%, transparent 10%);
  background-size: 20px 20px;
  background-position: 0 0, 10px 10px;
}

p{
	margin-bottom: 1rem;
}

.fs-flex{
	font-size: calc(1rem + 1vw);
}

.fs-nomal{
	font-size: 16px!important;
}

.fs-sm{
	font-size: 14px!important;
}

.fs-xs{
	font-size: 12px!important;
}

img{
	vertical-align: bottom;
}

.page-header{
	background-color: #fff;
	color: #222;
}

.text-blue{
	color: #2377bd;
}

.text-darkBlue{
	color: #0f1848;
}

.marker{
	 background: linear-gradient(transparent 50%, #FFFF16 50%);
}

/*575px以下では左揃え*/
.text-center-md{
	text-align: left;
}

/*575px以下では中央揃え*/
.text-left-md{
	text-align: center!important;
}

.ff-oswald{
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
}

.ff-road{
	font-family: "Road Rage", serif;
  font-weight: 400;
  font-style: normal;
}

/*文字を点滅させる*/
.txt-blink {
	animation: txtblink 2s linear infinite;
}

@keyframes txtblink {
	0%,
	100%{
		opacity: 1;
	}

	50% {
		opacity: 0;
	}
}

a.btn-outline-primary{
	color: #2978bb;
	border-color: #2978bb;
}

a.btn-outline-primary:hover{
	color: #fff;
	background-color: #2978bb;
	border-color: #2978bb;
}

a.btn-primary-goa{
	background-color: #fec94c;
	border:3px solid #0F1848;
	color: #0F1848;
	font-weight: 700;
}

a:hover.btn-primary-goa{
	background-color: #c49a39;
	transition: all 0.3s;
	border:3px solid #0F1848;
}

a:active.btn-primary-goa{
	background-color: #c49a39!important;
	transition: all 0.3s;
	border:3px solid #0F1848;
}

/*Lightbox*/
.scrim {
	background-color: rgba(0, 0, 0, 0.8) !important;
}
button.close-button{
	fill:#fff!important;
}

.fluffy{
	animation: fluffy 1s infinite;
}

@keyframes fluffy{
	0%, 100%{
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

/*Footer
-------------------------------*/
.site-footer{
	border-top: none;
	background-color:#5973d4;
	color: #fff;
}

.footer-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
}

.footer-btn > a{
	width: 70%;
	display: flex;
	box-shadow: 0 0 8px #000;
	border-radius: 10px;
}

.footer-btn > a:hover{
	box-shadow: none;
	transition: all .3s;
	opacity: 0.8;
}

.ft-btn_wrap {
	padding: 1.5rem;
	border-radius: 10px;
}

.ft-btn_wrap.hp{
	background-color: #fff;
}
.ft-btn_wrap.insta{
	background: linear-gradient(45deg, rgba(252,161,0,1) 0%, rgba(244,9,9,1) 34%, rgba(240,12,161,1) 72%, rgba(108,2,247,1) 100%);
}

.site-footer h4.tel-num {
	font-size: clamp(20px,calc(2rem + 2vw),36px);
}

body.home .site-footer{
	padding-bottom: 0;
}

/*過去のイベント*/
.past-event{
	margin-bottom: 3em;
}

.past-event_inner{
	width: min(100%,768px);
	margin: 0 auto;
}

.past-event p{
	font-size: 1rem;
	text-align: center;
}

.past-event ul{
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
}

.past-event ul a{
	color: #000;
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1;
}

.past-event ul a:hover{
	text-decoration: none;
}

/*--------------------------------
トップページ
--------------------------------*/
/*メインイメージ
--------------------------------*/
#main-img{
	margin-top: -1px;
	position: relative;
	height: calc(100dvh - 46px);
	width: 100vw;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-content: center;
}

/*★20250406イベント終了後用ここから*/
/*main-imgの上に半透明の黒を載せる*/
#main-img::after{
	content: "";
	background-color: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

/*イベント終了の表示*/
.event-end{
	position: absolute;
	bottom:0;
	left: 0;
	z-index: 5;
	width: clamp(320px,95%,800px);
	height: 90%;
	background-image: url("../images/event-end-sp.png");
	background-position: bottom left;
	background-repeat: no-repeat;
	background-size: contain;
}
/*★20250406イベント終了後用ここまで*/

#mainPC {
	display: none;
}

#mainSP{
	padding: 2rem 0 0;
}

div#mainSP img {
	margin: 0 auto;
}

.main-vs_wrap{
	width: min(640px,95%);
	position: absolute;
	top: 5%;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
}

figure#event-end img {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-5deg);
	width: min(90%,864px);
}

.vegas-overlay{
	background-color: rgba(0,0,0,0.5);
}

/*イベント終了時のCSS*/
.mainImg::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
}

/*開催概要
--------------------------------*/
#about{
	padding-top: 5vh;
	padding-bottom: 6vh;
	position: relative;
}
p.about_txt{
	/*font-size: calc(1.25rem + 0.5vw);*/
	font-size: 1rem;
	text-align: justify;
	line-height: 2;
}

.about_ttl div.myXkun-left{
	position: absolute;
	right: 0;
	bottom: -10px;
	width: 150px;
}

.overview_wrap{
	width: min(85%,400px);
	margin: 0 auto;
	padding-top: 2rem;
}

#overview h2{
	width: min(75%,640px);
	font-size: 2em;
	margin: 0 auto 1em;
}

#overview table,
#overview th,
#overview td{
	border-color: transparent!important;
}

#overview-dtl h3{
	font-size: calc(3rem + 1vw);
	margin-bottom: 0;
	line-height: 0.8;
}

#overview-dtl_left {
	border-bottom: 1px dotted;
	padding-bottom: 1rem;
}

#overview-dtl_left th{
	display: block;
	text-align: center;
	padding: 1rem 0 0;
	font-size: 1rem;
	color: #2377BD;
	line-height: 1.5;
}

#overview-dtl_left td {
	display: block;
	text-align: center;
	padding: 0;
	line-height: 1.5;
	font-size: 1em;
}

#overview-dtl_right{
	padding: 1rem 0 0;
	width: min(100%,300px);
	margin: 0 auto;
}

#overview-dtl_right th,
#overview-dtl_right td {
	vertical-align: top;
	font-size: 1rem;
}
#overview-dtl_right th{
	padding: 0 0 1rem 0;
}
#overview-dtl_right td {
	padding: 0 0 1rem;
}

#about .myXkun-right{
	width: 30%;
	bottom: -40px;
	z-index: 5;
	position: absolute;
}

/*イベントイメージ（Slick）
--------------------------------*/
.slider_wrap {
	margin: 0 calc(50% - 50vw);
}

.slide_ctr{
	aspect-ratio: 5/3;
	overflow: hidden;
	position: relative;
}

.slide_item{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*フロント出店ブランド一覧
--------------------------------*/
#exhibitors{
	padding: 3.5rem 0 5rem;
	z-index: 0;
	position: relative;
	background: none;
}

#exhibitors::before{
	content: "";
	background-color: rgba(10,36,16,0.7);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}

#exhibitors::after{
	content: "";
	display: block;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/brand-bg-sp.jpg) center no-repeat;
	background-size: cover;
	z-index: -1;
}

.exhibitors_hdr p{
	color: #fff;
	position: relative;
	z-index: 2;
}

#exhibitors_hdr_left{
	position: relative;
}

#exhibitors_hdr_left h2{
	margin-bottom: 0;
	font-size: calc(7.5rem + 2vw);
	color: #ffff16;
	line-height: 0.9;
	text-align: center;
	position: relative;
}

#exhibitors_hdr_right p {
	text-align: center;
	margin-bottom: 2rem;
}

#exhibitors_cont ul {
	list-style: none;
	position: relative;
}

#exhibitors_cont ul li{
	margin: 0;
}

#exhibitors.myXkun-left{
	display: none;
}

/*スペシャルコンテンツ
--------------------------------*/
.front-sp-cont_wrap {
	padding: 8vh 0 8vh;
	background-size: cover;
	position: relative;
}

.front-sp-cont_inner a:hover img{
	transform: scale(1.03);
	transition: all 0.3s;
}

.front-sp-cont h2{
	font-size: calc(8rem + 1vw);
	line-height: 0.8;
	margin: 0;
	color: #101947;
}

/*エリアマップ
--------------------------------*/
.areaMap_wrap{
	padding: 6vh 0 8vh;
	background-color: #fff;
}

#areaMap h2{
	text-align: center;
	font-size: calc(8rem + 2vw);
	margin-bottom: 1rem;
	color: #0f1848;
	line-height: 0.8;
}

#areaMap p.com-soon {
	width: clamp(300px,100%,768px);
	height: 300px;
	margin: 0 auto 3rem;
	border: 2px dashed #908c82;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: calc(1.5rem + 1vw);
	color: #908c82;
	font-weight: 700;
}

#areaMap h3{
	text-align: center;
	font-size: calc(4rem + 1vw);
	margin-bottom: 0;
	color: #0f1848;
	letter-spacing: 1rem;
	line-height: 1.8;
}

.map-pict {
	width: min(100%, 786px);
	margin: 0 auto 4em!important; 
}

.areaMap_cont ul {
	list-style: none;
	padding-left: 0;
	display: grid;
	gap:3vw;
	grid-template-columns: 1fr 1fr 1fr;
}

.areaMap_cont ul li{
	margin: 0;
	text-align: center;
	font-family: "Road Rage", serif;
	font-weight: 400;
	line-height: 0.8;
	font-size: calc(1.2rem + 0.5vw);
}

.areaMap_cont ul li figure{
	margin-bottom: 0;
}

.areaMap_cont a:hover{
	transform: scale(1.1);
	transition: 0.3s all;
}

.areaMap_cont figcaption {
	padding-top: 0.5rem;
	color: #101947;
}

.areaMap_cont ul li span.toyota{
	display: inline;
	margin-left: 0.5rem;
}

article.areaMap_info h4{
	position: relative;
	top:-1rem;
	font-weight: 700;
	font-size: 2rem;
	color: #2aa58b;
	margin-bottom: 0;
}

article.areaMap_info {
	background-color: #e3f9f4;
	padding: 0 2rem 2rem;
	width: min(100%, 640px);
	margin: 0 auto;
	border-radius: 10px;
}

/*アクセス
--------------------------------*/
#access{
	padding: 3vw 0 10vh;
	background-color: #fff;
	/*background-color: #fffae8;*/
	position: relative;
}

#access h2{
	font-size: calc(8rem + 2vw);
	color: #0f1848;
	line-height: 0.8;
	position: relative;
	z-index: 2;
	letter-spacing: 5px;
}

.g-map_wrap{
	position: relative;
	margin-bottom: 1rem;
}
.g-map_wrap::before{
	content: "";
	width: 80%;
	height: 50%;
	position: absolute;
	top: -40px;
	right: 0;
	background-color: #2ce1bd;
}

.g-map{
	position: relative;
	z-index: 3;
}

.g-map iframe {
	position: relative;
	aspect-ratio: 16/15;
	width: 100%;
}

#access-howto{
	margin-bottom: 1em;
}

#access-howto h4{
	background-color: #0f1848;
	color: #fff;
}

.atte_cont{
	width: min(100%, 600px);
	margin: 0 auto;
}

.atte_cont .vk_borderBox .vk_borderBox_title_container{
	text-align: center;
	font-size: 1.2rem;
}

article.access_info h3{
	position: relative;
	top:-1rem;
	font-weight: 700;
	font-size: 2rem;
	color: #6b89f7;
}

article.access_info {
	background-color:#edf1ff;
	padding: 0 2rem 2rem;
	width: min(100%, 640px);
	margin: 0 auto;
	border-radius: 10px;
}

/*デザイナー紹介
--------------------------------*/
#designer{
	padding: 0 0 10vh;
}

#designer h2{
	text-align: center;
	margin-bottom: 1.5rem;
	font-size: calc(3rem + 2vw);
	line-height: 1;
}

#designer h3{
	text-align: center;
	font-size: 2rem;
}

.designer-cont_img{
	display: none;
}

.designer-cont_txt {
	width: min(95%, 720px);
	margin: 0 auto;
}

.designer_icon,
.designer_btn{
	text-align: center;
}
.designer_icon img {
	width: 250px;
}

/*サポート
--------------------------------*/
#support{
	padding: 10vh 0;
	color: #fff;
	position: relative;
	z-index: 0;
}

#support::before{
	content: "";
	display: block;
	position: absolute;
	top:0;
	left: 0;
	width: 100%;
	height: 100%;
	background: url(../images/supp-bg-sp.jpg) no-repeat center center;
	background-size: cover;
	z-index: -1;
}

#support::after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(0,0,0,0.5);
	width: 100%;
	height: 100%;
	z-index: -1;
}

#support article{
	margin-bottom: 2rem;
}

#support figure{
	margin-bottom: 0;
}

#support h2{
	width: min(75%,640px);
	font-size: 2em;
	margin: 0 auto 1em;
}

#support h6{
	font-weight: normal;
	margin-bottom: 1em;
	font-size: calc(1em + 0.5vw);
	text-shadow: 0 2px 5px #000;
}

#support a:hover{
	opacity: 0.8;
	transition: 0.3s all;
}

#support img{
	box-shadow: 0 0 5px #000;
}

#support a:hover img{
	box-shadow: none;
}

.supp-co-host{
	width: min(100%,750px);
	margin: 0 auto;
}

.supp-co-host_cont{
	margin: 0;
	display: grid;
	gap:2vw; 
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}
/*後援*/
.supp-sponsor {
	width: min(100%, 900px);
	margin: 0 auto;
}

.supp-sponsor_cont{
	margin: 0;
	display: grid;
	gap:2vw; 
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

/*協賛*/
.supp-kyousan {
	width: min(100%, 900px);
	margin: 0 auto;
}

.supp-kyousan_cont{
	margin: 0;
	display: grid;
	gap:2vw; 
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

.supp-list{
	text-align: center;
}

.supp-list ul{
	list-style: none;
	padding-left: 0;
	margin-top: 0;
}

.supp-list ul li{
	font-size: calc(1em + 0.2vw);
	text-shadow: 0 2px 5px #000;
}

/*--------------------------------
出店ブランド一覧(ページ)
--------------------------------*/
/*背景*/
.site-body.brand-page{
	z-index: 0;
}

.site-body.brand-page::before{
	content: "";
	background-color: rgba(0,0,0,0.5);
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.site-body.brand-page::after{
	content: "";
	display: block;
	position: fixed;
	top:0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: url(../images/brand-bg-sp.jpg) center center no-repeat;
	background-size: cover;
	z-index: -1;
}

h1.brnd-page_header {
	position: relative;
	color: #ffff16;
	text-align: center;
	font-size: calc(5rem + 3vw);
	line-height: 1;
	font-family: "Road Rage", serif;
	font-weight: 400;
	font-style: normal;
	margin-bottom: 0;
	text-shadow: 0 0 10px #000;
}

#brand_nav{
	margin: 0 0 5rem;
}

ul#brand_list{
	padding-left: 0;
	margin: 0;
	display: grid;
	gap:2vw; 
	grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
}

#exhibitors ul#brand_list a{
	display: inline-block;
	overflow: hidden;
}

/*トップページのブランドリスト*/
#exhibitors ul#brand_list a li:hover {
	transform: scale(1.1);
	transition: all 0.3s;
}

/*ブランドページのブランドリスト*/
div.brand-page ul#brand_list a li img:hover{
	opacity: 0.8;
	transition: 0.3s all;
}

div.brand-page ul#brand_list a li{
	background-color: #000;
}

/*ゾーンマップのエリアコード*/
div.brand-page ul#brand_list a li div.area-code{
	color: #fff;
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
}

div.area-code.area_og{ background-color: #00ACB9; }
div.area-code.area_ap{ background-color: #F3868C; }
div.area-code.area_cw{ background-color: #e48520; }
div.area-code.area_cs{ background-color: #997fad; }
div.area-code.area_bc{ background-color: #EE805F; }

div.brand-page ul#brand_list a li div.brand-genre{
	background-color: #000;
	color: #fff;
	display: block;
	text-align: center;
	font-size: 11px;
}

/*ブランドの詳細*/
.dtl{
	color: #fff;
	margin-top: 0;
	padding-top: 0;
}

.dtl_wrap{
	background-color: #222;
	position: relative;
	margin-bottom: 5rem;
}

.dtl_inner{
	padding: 10vw 5vw;
}

.dtl h2 {
	border: none;
	text-align: center;
	padding: 0;
	display: block;
	font-size: calc(1.5em + 1vw);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.5rem;
}

/*ブランド詳細のエリアコード*/
.dtl h6.area-code{
	color: #fff;
	text-align: center;
}

.dtl h6.area-code span{
	padding: 5px 1rem;
	text-align: center;
	display: inline-block;
}

.dtl h6.area-code.area_og span{ background-color: #00ACB9; }
.dtl h6.area-code.area_ap span{ background-color: #F3868C; }
.dtl h6.area-code.area_cw span{ background-color: #e48520; }
.dtl h6.area-code.area_cs span{ background-color: #997fad; }
.dtl h6.area-code.area_bc span{ background-color: #EE805F; }

.dtl h2 span{
	display: block;
	font-weight: 400;
	line-height: 1.8;
	font-size: 0.875rem;
}

.dtl p{
	font-size: clamp(1em, 3vw, 24px );
	word-break: break-all;
	text-align: justify;
}

.dtl li{
	font-size: clamp(1em, 3vw, 24px );
	word-break: break-all;
}

.dtl figure{
	text-align: center;
	margin-bottom: 1.5rem;
}

.dtl-img_cont {
	display: grid;
	gap: 1rem 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.dtl-img_cont-col3 {
	display: grid;
	gap: 1rem 1.5rem;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.brand_cate {
	text-align: center;
}

.brand_cate h6 {
	font-size: 1em;
	border: 1px solid;
	display: inline-block;
	padding: 0.25em 1em;
	line-height: 1;
	font-weight: 400;
	vertical-align: middle;
}

/*フードマーケット用
---------------------*/
ul#food_list{
	padding-left: 0;
	margin: 0;
	display: grid;
	gap:2vw; 
	grid-template-columns: 1fr 1fr;
}

ul#food_list a{
	display: inline-block;
	background-color: #fff;
	color: #222;
	padding: 1em 0.8em;
	text-align: center;
	font-size: 0.875em;
}

ul#food_list a:hover {
	background-color: #ffd85a;
	transition: 0.3s all;
}

#food_nav{
	margin: 0 0 8em;
}

.dtl_wrap .food-exb-date{
	color: #222;
	display: inline-block;
	padding: 0.85rem 1rem;
	position: absolute;
	top: -20px;
	left: 10px;
	font-weight: 600;
	margin-bottom: 0;
	line-height: 1;
	font-size: calc(1.5em + 0.5vw);
	transform: rotate(-7deg);
}

h3.food-exb-date.both-days.nostyle{
	background-color: #ebc927;
}

h3.food-exb-date.sat-only.nostyle{
	background-color: #93d1f4;
}

h3.food-exb-date.sun-only.nostyle{
	background-color: #f6c8d3;
}

.food-exb_img {
  background-color: #9f9f9f;
  margin-bottom: 60px;
}

.food_cate {
	text-align: center;
}

.food_cate h3 {
	font-size: 1rem;
	border: 1px solid;
	display: inline-block;
	padding: 0.25em 0.5em;
	line-height: 1.3;
	font-weight: 400;
	vertical-align: middle;
}

/*フードマーケットのSlick*/
.food-exb-img_wrap{
	margin-bottom: 2.5em;
	padding: 0 1em;
}

.food-exb_img .slick-track{
	display: flex;
}

.food-exb_img .slick-track::before,
.food-exb_img .slick-track::after{
	content: none;
}

.food-exb_img .slick-slide{
	float: none;
	height: auto;
}

.food-exb_img .slick-slide > div{
	height: 100%!important;
}

.food-exb_img .item img{
	object-fit: cover;
	width: 100%;
	aspect-ratio: 5 / 5;
}

.no-square .food-exb_img .item img{
	aspect-ratio: 5 / 3.2;
}

.food-exb_img .slick-prev:before,
.food-exb_img .slick-next:before{
	font-size: 40px;
}

.food-exb_img .slick-next{
	right: -9px;
}

.food-exb_img .slick-prev{
	left: -30px;
	z-index: 2;
}

.food-exb_img .slick-dots li button:before{
	font-size: 10px;
	color: #fff;
}

.food-exb_img .slick-dots li.slick-active button:before{
	color: #fff;
}

/*続きを読む
---------------------*/
.show-more_ctr{
	position: relative;
	margin-bottom: 2.5rem;
}

.visible_text {
	height: 90px;
	overflow: hidden;
}

.show-more{
	position: absolute;
	bottom: 0px;
	left: 0px;
	width: 100%;
	height: 50px;
	padding-top: 30px;
	text-align: center;
	line-height: 30px;
	background: linear-gradient(180deg,rgb(252, 252, 248, 0) 0%,#222 70%);
	cursor: pointer;
	transition: bottom 0.2s;
	color:#fff;
}

/*SNS
---------------------*/
ul.social-parts {
	list-style: none;
	margin: 0;
	padding-left: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	justify-content: center;
}

ul.social-parts li {
	font-size: 2.5rem;
	margin-bottom: 0;
	margin-top: 0;
	line-height: 1;
}

ul.social-parts li:hover{
	color: #fff;
	transition: all .3s;
	transform: scale(1.3);
}

ul.social-parts li i{
	margin-right: 0;
}

section#come-soon {
	height: 50vh;
	display: flex;
	justify-content: center;
	align-items: center;
}

/*POP UP用*/
ul.social-parts p{
	display: none;
}

/*ページ下の固定メニュー
-----------------------------------*/
.fix-menu_wrap,
.tmk-footer-menu_wrap{
	display: none;
}

/*ブランド紹介ページのマップボタン
-----------------------------------*/
/*SP用*/
#sp-bmap-fixbtn{
	display: block;
	justify-content: center;
	color: #fff;
	position: fixed;
	bottom: 0;
	left: 0;
	line-height: 1;
	width: 100%;
	font-size: calc(1.15rem + 0.5vw);
	font-weight: 700;
	padding-left: 1rem;
	opacity: 0;
	transition: opacity .3s;
}

.sp-bmap-fixbtn_wrap{
	background-color: #ff8219;
	padding: 0.75rem 0;
	width: min(65%,300px) ;
	text-align: center;
	border-radius: 8px 8px 0 0;
	vertical-align: middle;
	box-shadow: 0 0 10px #000;
	text-shadow: 0 0 5px #562604;
}

.sp-bmap-fixbtn_wrap i{
	font-size: 1.5rem;
	margin-bottom: 0;
}

/*PC用*/
.pc-bmap_fixbtn{
	display: none;
}

/*--------------------------------
スペシャルコンテンツ（各ページ）
--------------------------------*/
#sp-cont,
.sp-content {
	background: url("../images/spc-pattern.png") repeat top left;
}

.sp-content h2{
	text-align: center;
	line-height: 1.5;
	padding-top: 80px;
	margin-bottom: 2rem;
	color: #101947;
}

.sp-content h2 span.en{
	background: linear-gradient(transparent 60%, #FFFF16 60% 80%, transparent 80%);
	line-height: 0.8;
	font-family: "Road Rage", serif;
  font-weight: 400;
	font-size: calc(5rem + 1vw);
}

.sp-content h2 span.rub{
	display: block;
	font-size: 1rem;
	line-height: 1;
	font-family: "font-family: 'Noto Sans JP', sans-serif";
	font-weight: 400
}

.sp-content p{
	font-size: calc(1em + 0.2vw);
}

.spc_wrap{
	background-color: #fffae8;
	border-radius: 15px;
	position: relative;
}

.spc_inner{
	padding: 3em 1.5em 2em;
}

.sp-content h1{
	margin-top: 0;
	margin-bottom: 1rem;
	text-align: center;
	line-height: 1;
}

a.back-home_btn{
	background-color: #fec94c;
	border:3px solid #0F1848;
	color: #0F1848;
	font-weight: 700;
	width: max(50%,300px)
}

a.back-home_btn:hover{
	background-color: #c49a39;
	transition: all 0.3s;
	border:3px solid #0F1848;
}

a.back-home_btn:active,
a.back-home_btn:focus-visible{
	background-color: #c49a39!important;
	transition: all 0.3s;
	border:3px solid #0F1848;
}

/*--------------------
トークショー専用CSS
--------------------*/
section#spc01 h1.ttl{
	width: min(100%,768px);
	margin-left: auto;
	margin-right: auto;
}

.ttl_wrap strong {
	font-size: calc(1.5rem + 0.25vw);
	line-height: 1.5;
}

/*ナビゲーション*/
nav.spc01_nav ul{
	padding-left: 0;
}

nav.spc01_nav ul a{
	display: block;
	background-color: #fdb127;
	width: min(80%,300px);
	margin: 0 auto;
	padding: 1rem 0;
	text-align: center;
	color: #0F1848;
	font-weight: 600;
	margin-bottom: 1rem;
	position: relative;
}

nav.spc01_nav ul a:last-child{
	margin-bottom: 0;
}

nav.spc01_nav ul a::after{
	font-family: "Font Awesome 6 Free";
	position: absolute;
	top:50%;
	right: 1rem;
	transform: translateY(-50%);
}

nav.spc01_nav ul.spc01_nav_top a::after{
	content: "\f358";
}

nav.spc01_nav ul.spc01_nav_bottom a::after{
	content: "\f35b";
}

nav.spc01_nav ul.spc01_nav_bottom{
	padding-top: 3rem;
}

nav.spc01_nav ul a li{
	line-height: 1;
	margin: 0;
}

/*紹介パート
-----------------------*/
article.speakers_item,
article.dj_item {
	display: flex;
	flex-direction: column;
	align-items: center;
	border-bottom: 1px dotted;
	margin-bottom: 1rem;
	padding-top: 1rem;
}

article.speakers_item p,
article.speakers_item li,
article.dj_item p,
article.dj_item li{
	font-size: 1rem;
}

article.speakers_item li,
article.dj_item li{
	margin-bottom: 0;
}

/*画像と名前*/
.speaker_item_photo,
.dj_item_photo{
	text-align: center;
}

.speaker_item_photo figure img,
.dj_item_photo figure{
	width: min(100%, 150px);
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.speaker_item_photo img,
.dj_item_photo img{
	margin-bottom: 0.5rem;
	border-radius: 10px;
}

/*名前*/
.speaker_item_photo figcaption,
.dj_item_photo figcaption{
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.3;
}

/*肩書*/
span.biz_ttl{
	display: block;
	line-height:1.3;
	font-weight: normal;
	font-size: 13px;
}

.dj_item_photo figure.two-days::after,
.dj_item_photo figure.sat-day::after,
.dj_item_photo figure.sun-day::after{
	position: absolute;
	top: -5px;
	left: -10px;
	transform: rotate(-5deg);
	line-height: 1.3;
	padding: 0 0.5rem 3px;
	font-weight: 900;
	font-size: 1rem;
}

.dj_item_photo figure.two-days::after{
	content: "2DAYS";
	background-color: #2CE1BD;
}
.dj_item_photo figure.sat-day::after{
	content: "4/5(SAT)";
	background-color: #5973d4;
	color: #fff;
}
.dj_item_photo figure.sun-day::after{
	content: "4/6(SUN)";
	background-color: #e53c1c;
	color: #fff;
}

/*紹介文*/
.speaker_item_dtl,
.dj_item_dtl{
	text-align: justify;
	word-break: break-all;
}

/*--------------------
イベントグッズ販売専用CSS
--------------------*/
section#spc02 h1.ttl{
	width: min(100%,768px);
	margin-left: auto;
	margin-right: auto;
}

section#spc02 .ttl_sub_txt p{
	text-align: center;
}

section#spc02 .ttl_sub_txt p.dayTime{
	text-align: center;
}

#eventGoods_sp{
	width: min(100%,400px);
	margin-left: auto;
	margin-right: auto;
}

.ttl_sub_map{
	position: relative;
}

.ttl_sub_map a::after {
	display: none;
}

/*--------------------
Instagramキャンペーン専用CSS
--------------------*/
h1.spc03_ttl {
	width: min(100%,992px);
	margin-left: auto;
	margin-right: auto;
}

h2 span.insta-camp_howto {
	background-color: #6d8af4;
	color: #fff;
	width: min(90%, 540px);
	display: inline-block;
	line-height: 2;
}

article#spc03_dtl {
	width: min(100%, 768px);
	margin: 0 auto 2rem;
}

article#spc03_dtl dt,
article#spc03_dtl dd{
	font-size: calc(1rem + 0.2vw);
}

article#spc03_dtl li{
	margin-top: 0;
	margin-bottom: 0;
}

.myx-insta_wrap{
	padding: 1.5em 1.5em 0;
	border: 2px dotted #2377bd;
	border-radius: 15px;
}

.myx-insta_cont {
	display: grid;
	grid-template-columns: 45% 1fr;
	grid-template-rows: repeat(2, auto);
	grid-column-gap: 16px;
	grid-row-gap: 0px;
	align-items: center;
}

.myx-insta_cont .txt { grid-area: 1 / 1 / 2 / 3; }
.myx-insta_cont .insta-img { grid-area: 2 / 1 / 3 / 2; }
.myx-insta_cont .qr-pict { grid-area: 2 / 2 / 3 / 3; }

.myx-insta_cont figure{
	margin-bottom: 0;
}

/*ハッシュタグをコピー*/
.hashTag_wrap {
	position: fixed;
	bottom: 0;
	left: 0;
	line-height: 1!important
}

.hashTag_wrap button{
	border: none;
	border-radius: 8px 8px 0 0;
	color: #fff;
	font-weight: bold;
	background-color: #ff8219;
	margin: 0 0 0 10px;
	padding: 0.75rem 1rem;
	text-shadow: 2px 2px 3px #562604;
	box-shadow: 0px 0px 5px #562604;
	line-height: 1;
}


/*--------------------------------
注意事項ページ
--------------------------------*/
#request{
	padding: 3rem 0;
}

.request_hdr i {
	margin: 0;
	opacity: 0.5;
}

.request_hdr h1{
	font-size: calc(2rem + 1vw);
	line-height: 1.3;
}

.request_hdr h1 span{
	font-size: 3.5rem;
	letter-spacing: 0.5rem;
}

.request_hdr h2{
	line-height: 1.8;
	font-weight: normal;
	text-align: justify;
	font-size: 1.5rem;
}

ul.request_list li{
	font-size: 1em;
	padding: 1rem;
	text-align: justify;
}

ul.request_list li:nth-child(odd){
	background-color: rgba(0,0,0,0.05);
}

/*実行委員会からのお願い*/
.request_list_cont{
	display: grid;
	grid-template-columns: 50px auto;
	align-items: flex-start;
	grid-column-gap: 1rem;
	padding: 1rem;
}

.request_list_cont div{
	padding: 1rem;
}

.request_list_cont figure,
.request_list_cont p{
	margin-bottom: 0;
}

.request_list_cont figure{
	width: auto;
	height: auto;
}

.request_list_cont p{
	text-align: justify;
	line-height: 1.8;
}

/*--------------------------------
Aozora Factoryページ
--------------------------------*/
#aozora-fac a{
	pointer-events: none!important;
}

#aozora-fac.dtl h1 {
	border: none;
	text-align: center;
	padding: 0;
	display: block;
	font-size: calc(2em + 1vw);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.5rem;
}

#aozora-fac.dtl h1 span{
	display: block;
	font-weight: 400;
	line-height: 1.8;
	font-size: 0.875rem;
}

#aozora-fac.dtl h2{
	font-size: calc(1em + 1vw);
}

#aozora-fac .exhibit_list{
	margin-bottom: 2rem;
}

#aozora-fac .exhibit_list dl{
	border-left: 1px solid;
	margin-top: 1em;
	margin-bottom: 0;
	padding-left: 1rem;
	vertical-align: middle;
}

#aozora-fac dt.exhibit_name{
	font-size: clamp(1.15em, 3vw, 24px );
	margin-bottom: 0;
	line-height: 1.5;
	font-weight: 700;
	display: inline-block;
	vertical-align: middle;
	width: 100%;
}

#aozora-fac dd.exhibit_cont,
#aozora-fac dd.exhibit_cont li{
	line-height: 1.5;
	margin-bottom: 0;
	font-size: clamp(1em, 3vw, 18px );
}

#aozora-fac dd.exhibit_cont li{
	margin: 0.2rem 0 0 0;
	line-height: 1.5;
}

#aozora-fac .exhibit_date::after{
	margin-left: 5px;
	margin-bottom: 4px;
	padding: 0 5px;
	font-weight: 600;
	font-size: clamp(12px, 3vw, 14px );
	vertical-align: middle;
	display: inline-block;
}

#aozora-fac .two-days::after{
	content: "両日";
	background-color: #FFFF16;
	color: #333;
}

#aozora-fac .sat-days::after{
	content: "4/5(土)のみ";
	background-color: #5973d4;
	color: #fff;
}

#aozora-fac .sun-days::after{
	content: "4/6(日)のみ";
	background-color: #e53c1c;
	color: #fff;
}


/*--------------------------------
TMK
--------------------------------*/
#tmk.dtl h1 {
	border: none;
	text-align: center;
	padding: 0;
	display: block;
	font-size: calc(2em + 1vw);
	font-weight: 700;
	line-height: 1.3;
	margin-bottom: 1.5rem;
}

/*--------------------------------
会場設置のQRコードから表示するメニューページ
--------------------------------*/
#mobile_nav.menu-only{
	position: fixed;
	z-index: 999;
	top: 0;
	right: 0%;
	width: 100%;
	height: 100vh;
	background-color: #fcd029;
	transition: all 0.6s;
}

/*--------------------------------
アーカイブページ
--------------------------------*/
body.ev-archives{
	background-color: #07234b;
}

body.ev-archives .site-body{
	padding: 2.5em 0 4em!important;
}

body.ev-archives h1.page-header-title{
	font-family: "peachy-keen-jf", sans-serif;
	font-weight: 400;
	font-size: calc(2.5rem + 3vw);
	line-height: 1.1;
	color: #FFFFFF;
}

body.ev-archives .page-header{
	background-color: transparent;
}

body.ev-archives .page-header .page-header-inner{
	margin: 0 auto;
}

#ev-archives{
	padding-top: 1em;
}

.archive_cont {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	grid-column-gap: 1em;
	grid-row-gap: 1em;
	margin-bottom: 5em;
}

.archive_card{
	aspect-ratio: 5/3;
	overflow: hidden;
	position: relative;
}

.archive_item{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.archive_item:hover{
	transform: scale(1.1);
	transition: .5s all;
}

.archive_card:hover::before{
	content: "";
	background-color: rgba(0,0,0,0.4);
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	transition: .3s all;
}

.archive_card:hover::after{
	content: "\f00e";
	font-family: "Font Awesome 6 Free";
	font-weight: 600;
	font-size: 2em;
	color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 3;
	transition: .3s all;
}

/*--------------------------------
BREAK POINT
--------------------------------*/
@media (min-width: 1073px) and (max-width: 1260.98px){
	#exhibitors{
		padding: 3.5rem 0 8rem;
	}
}
@media (min-width: 1200px){
	main p,
	main li{
		font-size: calc(1rem + 0.2vw);
	}
	/*Main Image
	-----------------------------*/
	#main-img{
		height: calc(100dvh - 89px);
	}
	.main-vs_wrap{
		width: min(800px,90%);
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	/*--------------------
	トークショー専用CSS
	--------------------*/
	article.speakers_item,
	article.dj_item{
		flex-direction: row;
		align-items: flex-start;
		column-gap: 1rem;
		padding-left: 1rem;
		padding-right: 1rem;
		margin-bottom: 1rem!important;
	}
	
	article.speakers_item .speaker_item_photo,
	article.dj_item .dj_item_photo{
		width: 30%;
	}
	
	article.speakers_item .speaker_item_dtl,
	article.dj_item .dj_item_dtl{
		width: 70%;
	}
	
	/*アーカイブ
	---------------------------------*/
	.archive_cont {
		grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	}
}/*end*/

@media (min-width: 1024px){
	/*メインイメージ
	---------------------------------*/
	#mainPC {
		width: 100%;
		height: 75dvh;
		background: url("../images/mainImg-pc02.png") no-repeat center;
		background-size: contain;
		display: block;
	}
	
	#mainSP{
		display: none;
	}
	
	/*アーカイブ
	--------------------*/
	body.ev-archives .site-body .container{
		width: 90%;
		max-width: 2560px;
	}
}/*end*/

@media (min-width: 992px) and (max-width: 1199.98px){
	#main-img{
		height: calc(100dvh - 143px);
	}
	.main-vs_wrap{
		width: min(640px,95%);
		top: 0%;
	}
	
	/*スペシャルコンテンツ　トークショー*/
	.spc01-prof_photo{
		height: 320px;
		display: flex;
		flex-direction: column;
		justify-content: space-around;
	}
	
	.archive_cont {
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
}/*end*/

@media (min-width: 992px){
	/*★20250406イベント終了後用ここから*/
	/*イベント終了の表示*/
	.event-end{
		width: 80%;
		height: 80%;
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		background-image: url("../images/event-end-pc.png");
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
	}
	/*★20250406イベント終了後用ここまで*/
	
	.pc-bmap_fixbtn{
		position: fixed;
		top: 150px;
		left: 86%;
		z-index: 2;
		width: 120px;
		opacity: 0;
		transition: opacity .3s;
		display: inline-block;
	}
	
	.pc-bmap_fixbtn:hover{
		transform: scale(1.1);
		transition: 0.3s all;
	}
	
	.pc-bmap_fixbtn .map-icon{
		z-index: 3;
		position: relative;
	}
	
	.pc-bmap_fixbtn .circle{
		content:url("../images/pc-areamap-circle.png");
		width: 120px;
		height: 120px;
		animation: 20s linear infinite rotate-btn;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 2;
	}
	
	@keyframes rotate-btn{
		0%{ transform:rotate(0deg); }
		100%{ transform:rotate(360deg); }
	}
	
	#sp-bmap-fixbtn{
		display: none;
	}
	/*イベントグッズ販売*/
	.ttl_sub_map a::after {
		content: "\2b";
		font-family: "Font Awesome 6 Free";
		font-weight: 900;
		position: absolute;
		right: 0;
		bottom: 0;
		padding: 0.5em;
		background: #182c59;
		color: #fff;
		line-height: 1;
		display: block
	}
	
	/*Site Header
	---------------------------------*/
	.device-pc .global-nav-list>li>a {
		color: #fff;
	}
	
	/*概要
	--------------------------------*/
	#about{
		padding-top: 10vh;
		padding-bottom: 10vh;
	}

	p.about_txt{
		font-size: calc(1rem + 0.2vw);
		margin-bottom: 0;
	}
	
	/*トップページ出店ブランド一覧
	--------------------------------*/
	#exhibitors::after{
		background: url(../images/brand-bg-pc.jpg) center no-repeat;
		background-size: cover;
	}
	
	.exhibitors_hdr {
		margin-bottom: 1rem;
	}

	#exhibitors_hdr_left {
		width: 63%;
		margin: 0!important;
		padding-top: 0;
	}
	
	#exhibitors_hdr_left .exhibitors_ttl{
		position: absolute;
		top: -1rem;
		left: 0;
		transform: rotate(-2deg);
	}
	
	#exhibitors_hdr_left h2{
		margin-top: 0;
		margin-bottom: 0;
		position: relative;
		top: 0;
		left: 0;
		font-size: calc(8rem + 2vw);
	}
	
	#exhibitors_hdr_right {
		text-align: right;
	}
	
	#exhibitors_hdr_right p{
		text-shadow: 0 2px 5px #222;
		font-weight: 500;
		font-size: calc(1rem + 0.5vw);
		margin-bottom: 0;
		text-align: right;
	}
	
	/*エリアマップ
	--------------------------------*/
	.areaMap_cont{
		width: min(100%,768px);
		margin:0 auto;
	}
	.areaMap_cont ul {
		gap:2vw; 
	}
	
	/*デザイナー紹介
	--------------------------------*/
	.designer-cont_img{
		display: block;
	}
	
	/*Support
	--------------------------------*/
	#support article{
		margin-bottom: 4rem;
	}
	
	/*出店ブランド一覧(ページ)	
	---------------------------------*/
	.site-body.brand-page::after{
		background: url(../images/brand-bg-pc.jpg) center center no-repeat;
	}
	
	ul#brand_list{
		grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	}
	
	/*ブランドの詳細*/
	.dtl{
		margin-top: -10vh;
		padding-top: calc(10vh + 50px);
	}
	
	.dtl_wrap{
		width: 80%;
		margin: 0 auto;
	}
	
	ul.social-parts {
		column-gap: 1rem;
		justify-content: flex-start;
	}

	ul.social-parts li {
		font-size: 1.5rem;
	}
	
	/*フードマーケット用
	---------------------*/
	ul#food_list{
		grid-template-columns: 1fr 1fr 1fr 1fr;
		gap:1vw;
	}
	
	ul#food_list a{
		font-size: 1.2rem;
	}
	
	/*ページ下の固定メニュー
	---------------------------------*/
	.fix-menu_wrap{
		position: fixed;
		display: block;
		width: 100%;
		bottom: 0;
		z-index: 2;
		color: #fff;
		padding-bottom: 0.7rem;
		transition: 0.5s all;
	}
	
	.fix-menu_wrap::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 4rem;
		background-color: rgba(89,115,212,0.8);
		z-index: -1;
	}
	
	#fix-menu ul{
		margin: 0 auto;
		padding-left:0;
		display: grid;
		gap:0.75rem;
		grid-template-columns:repeat(auto-fit, minmax(70px, 1fr));
		width: clamp(786px , 90% , 1024px);
	}

	#fix-menu ul a,
	#tmk-footer-menu ul a{
		color: #fff;
	}
	
	div#fix-menu ul a:hover,
	#tmk-footer-menu ul a:hover {
		transform: scale(1.1);
		transition: .3s all;
	}

	div#fix-menu figure,
	#tmk-footer-menu figure {
		text-align: center;
		margin-bottom: 0;
	}

	div#fix-menu figure figcaption,
	#tmk-footer-menu figure figcaption{
		font-size: min(10px, 100%);
		line-height: 1.3;
	}
	
	
	/*情報公開時に使う表示*/
	div#fix-menu a li.new_badge{
		position: relative;
	}
	
	div#fix-menu a li.new_badge::after {
    background-color: red;
    color: #fff;
    content: "NEW";
    position: absolute;
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    line-height: 1;
    padding: 3px;
    width: 3rem;
    border-radius: 5px;
		font-size: 12px;
		text-align: center;
	}
	
	/*TMKページ下のメニュー	
	---------------------------------*/
	.tmk-footer-menu_wrap{
		display: block;
		width: 100%;
		bottom: 0;
		position: relative;
		z-index: 5;
		color: #fff;
		padding-bottom: 0.7rem;
		transition: 0.5s all;
	}
	
	.tmk-footer-menu_wrap::after {
		content: "";
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 4rem;
		background-color: #5b74d2;
		z-index: -1;
	}
	
	#tmk-footer-menu ul{
		margin: 0 auto;
		padding-left:0;
		display: grid;
		gap:0.75rem;
		grid-template-columns:repeat(auto-fit, minmax(70px, 1fr));
		width: clamp(786px , 90% , 1024px);
	}
	
	#tmk-footer-menu ul a:hover {
		transform: scale(1.1);
		transition: .3s all;
	}
	
	/*実行委員会からのお願い
	---------------------------------*/
	.request_list_cont{
		grid-template-columns: 100px auto;
		align-items: center;
	}

	/*トークショー専用CSS
	---------------------------------*/
	.spc01-speakers_cont,
	.spc01-dj_cont {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 2em;
	}
	
	/*--------------------
	イベントグッズ販売専用CSS
	--------------------*/
	section#spc02 article.ttl_sub {
		display: grid;
		grid-template-columns: auto 300px;
		width: min(87%, 780px);
		margin: 0 auto;
		grid-column-gap: 1rem;
	}
	
	section#spc02 .ttl_sub_txt p,
	section#spc02 .ttl_sub_txt p.dayTime{
		text-align: left;
	}
	
	/*--------------------
	インスタキャンペーン専用CSS
	--------------------*/
	/*ハッシュタグをコピー*/
	.hashTag_wrap {
		display: none;
	}
	
}/*end*/

@media (min-width: 576px) and (max-width: 991.98px){
	/*トップページ
	---------------------------------*/
	p.about_txt{
		font-size: calc(1.25rem + 0.5vw);
	}
	/*フードマーケット用
	---------------------*/
	ul#food_list{
		grid-template-columns: 1fr 1fr 1fr;
	}
	/*フード用Slick*/
	.food-exb_img .item img{
		/*height: 40vw;*/
	}	
}/*end*/

@media (min-width: 768px) and (max-width: 991.98px){
	/*エリアマップ
	--------------------------------*/
	.areaMap_cont ul {
		gap:3vw; 
	}

}/*end*/

@media (min-width: 768px){
	/*共通
	---------------------------------*/
	/*576px以上では中央揃え*/
	.text-center-md{
		text-align: center!important;
	}
	/*576px以上では右揃え*/
	.text-left-md{
		text-align: left;
	}
	
	/*トップページ
	---------------------------------*/
	.about_ttl div.myXkun-left{
		display: none;
	}
	/*開催概要*/
	.overview_wrap{
		width: 100%;
		padding-top: 4rem;
	}
	
	#overview-dtl{
		width: min(100%,750px);
	}
	
	#overview-dtl h3{
		margin-bottom: 1rem;
	}
	div#overview-dtl_left {
		border-bottom: none;
		padding-bottom: 0;
	}

	div#overview-dtl_left th{
		display: table-cell;
		padding: 0.5rem 0.5rem 0 0;
		font-size: 1rem;
		color: #333;
		vertical-align: top;
		text-align: left;
		width: 5.5rem;
	}

	div#overview-dtl_left td {
		display: table-cell;
		text-align: left;
		padding: 0 0 1rem;
	}
	
	div#overview-dtl_left th.contact{
		padding-top: 0!important;
		line-height: 1.5;
	}
	
	div#overview-dtl_right{
		padding-top: 0.5rem;
	}
	
	.myXkun-right{
		display: block;
		position: absolute;
		bottom: 0;
		left: 2%;
		width: 20%;
		height: auto;
	}
	
	/*アクセス
	--------------------------------*/
	.g-map iframe {
		aspect-ratio: 16/9;
		margin-bottom: 0;
	}
	
	/*デザイナー紹介
	--------------------------------*/
	#designer h3{
		text-align: left;
		font-size: 1.5rem;
	}
	
	.designer_btn{
		text-align: left;
	}
	
	/*サポート
	--------------------------------*/
	#support::before{
		background: url(../images/supp-bg-pc.jpg) no-repeat center center;
		background-size: cover;
	}
	
	.supp-list ul li{
		display: inline;
	}
	
	.supp-list ul li::after{
		content: "／";
	}
	
	.supp-list ul li:last-child::after{
		content: none;
	}

	/*出店ブランド一覧(ページ)	
	---------------------------------*/
	ul#brand_list{
		gap:1vw; 
	}
	
	div.brand-page ul#brand_list a li div.brand-genre{
		font-size: calc(11px + 0.25vw);
	}
	
	/*ブランド詳細*/
	.dtl_inner{
		padding: 5vw;
	}
	
	.dtl-img_cont {
		gap: 1rem;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
	
	/*フードマーケットのSlick*/
	.food-exb-img_wrap{
		max-width: 425px;
		margin: 0 auto;
		padding: 0 3em;
	}
	
	.no-square .food-exb-img_wrap{
		max-width: 450px;
		margin: 0 auto;
		padding: 0 3em;
	}
	
	#exhibitors .myXkun-left{
		width: 200px;
		height: auto;
		position: absolute;
		bottom: 0;
		right: 2%;
	}
	
	/*POPUP
	-----------------------------------*/
	/*ブランド詳細*/
	.brand-popup_inner{
		padding: 5vw;
	}
	
	/*フッター
	---------------------------------*/
	.footer-btn {
		flex-direction: row;
		align-items: stretch;
	}

	.footer-btn > a{
		width: 50%;
	}
	
	/*注意事項ページ
	---------------------------------*/
	.request_hdr h1 span{
		font-size: calc(2rem + 1vw);
		letter-spacing: normal;
	}
	
	/*Aozora Factoryページ
	---------------------------------*/
	.exb-members-list02 li.sat-only::after,
	.exb-members-list02 li.sun-only::after,
	.exb-members-list02 li.both-day::after{
		font-size: 14px;
	}
	
	/*スペシャルコンテンツ専用CSS
	---------------------------------*/
	.spc_inner {
		padding: 5em 2em 2.5em;
	}
	
	/*トークショー専用CSS
	---------------------------------*/
	.spc01-timetable_cont h1 {
		width: min(90%,786px);
	}
	
	nav.spc01_nav{
		width: 90%;
		margin: 0 auto;
	}
	
	ul.spc01_nav_top,
	ul.spc01_nav_bottom{
		display: grid;
		grid-template-columns: 1fr 1fr 1fr;
		align-items: flex-start;
		grid-column-gap: 1rem;
	}
	
	nav.spc01_nav ul a{
		margin: 0;
		width: 100%;
	}
	
	.speakers_cont,
	.dj_cont{
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-column-gap: 1.5rem;
	}
	
	/*イベントグッズ販売専用CSS
	---------------------------------*/
	#eventGoods_pc{
		width: min(100%,900px);
		margin-left: auto;
		margin-right: auto;
	}
	
	/*Instagram Campaign専用CSS
	---------------------------------*/
	.myx-insta_cont {
		display: grid;
		grid-template-columns: 1fr 55% 1fr;
		grid-template-rows: auto;
		grid-column-gap: 16px;
		grid-row-gap: 0px;
		align-items: center;
	}

	.myx-insta_cont .txt { grid-area: 1 / 2 / 2 / 3; }
	.myx-insta_cont .insta-img { grid-area: 1 / 1 / 2 / 2; }
	.myx-insta_cont .qr-pict { grid-area: 1 / 3 / 2 / 4; }
	
}/*end*/

@media (min-width: 576px){
	/*Mobile navi
	-------------------------------*/
	span.mbNav-brand-toyota {
		padding-top: 3px;
		font-size: 11px;
	}
	
	/*ブランドページ
	-----------------------------------*/
	.dtl-img_cont-col3{
		gap: 1rem;
		grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
	}
	
	/*ブランドページ下の固定メニュー*/
	.brand-site-footer{
		padding-bottom: 130px;
	}
}/*end*/