@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Sans+JP:wght@200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Yomogi&display=swap');

#bwj24_osaka * {
	font-size: 14px;
	font-family: "Noto Sans JP";
}


/*----- H1 / H2 / H3 / H4 -----*/
#bwj24_osaka h1,
#bwj24_osaka h2,
#bwj24_osaka h3,
#bwj24_osaka h4 {
	font-weight: bold;
}

#bwj24_osaka h1 {

}
#bwj24_osaka h2 {
	padding: 20px 0;
	color: #FFF;
	font-size: 3rem;
	text-align: center;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.4);
	background-image: radial-gradient(#ff52b7 2px, #E5309A 2px);
	background-size: 15px 15px;
}
	#bwj24_osaka h2 span {
		font-size: 4rem;
	}

#bwj24_osaka h3 {
}
#bwj24_osaka h4 {

}

/*----- COMMON -----*/
#bwj24_osaka img {
	width: 100%;
}
#bwj24_osaka a {
	font-size: inherit;
}


#bwj24_osaka .flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-evenly;
}
	#bwj24_osaka .flex > * {
	}

/*----- STRUCTURE -----*/
#bwj24_osaka .kv {
	position: relative;
	font-size: 1.8rem;
	height: auto;
	text-align: center;
	background: #a44193;
}
	#bwj24_osaka .kv img {
		max-width: 1170px;
		width: 100%;
	}

	#bwj24_osaka .content > div {
		margin: 0 auto;
		max-width: 1200px;
	}


/*----- NAV -----*/
	#bwj24_osaka .header_nav {
		display: flex;
		flex-wrap: wrap;
		font-weight: bold;
	}
	#bwj24_osaka .header_nav p {
		position: relative;
		font-size: 3.2rem;
		font-family: times;
		letter-spacing: 0.6rem;
		font-weight: 400;
		cursor: pointer;
		user-select: none;
	}
		#bwj24_osaka .header_nav p::after {
			content: '';
			width: 8px;
			height: 8px;
			position: absolute;
			bottom: -20px;
			left: calc(50% - 4px);
			border-top: solid 1px #555;
			border-right: solid 1px #555;
			transform: rotate(135deg);
		}
		#bwj24_osaka .header_nav p span {
			display: block;
			margin-top: -8px;
			font-size: 1.2rem;
			letter-spacing: 0.2rem;
		}

		#bwj24_osaka .header_nav > div {
			flex: 1 1 0;
			padding: 24px 0 36px 0;
			font-family: big-caslon-fb, serif;
			color: #515151;
			text-align: center;
			background: #F2E5B6;
			transition: 0.5s;
			cursor: pointer;
		}
			#bwj24_osaka .header_nav > div:hover {
				opacity: 0.7;
			}

/*----- ABOUT -----*/
#bwj24_osaka .about tr th,
#bwj24_osaka .about tr td {
	padding: 20px;
	font-size: 1.6rem;
	border: solid 1px #e0e0e0;
}

#bwj24_osaka .about tr th {
	text-align: right;
	vertical-align: middle;
	background: #EEE;
	white-space: nowrap;
}
#bwj24_osaka .about div.booth_map {/* BOOTH MAP*/
	padding: 60px 180px;
}

#bwj24_osaka .about div.zone {/* BG EG*/
	margin-bottom: 60px;
}
	#bwj24_osaka .about div.zone > div {
		width: 25%;
		border: 1px solid #CCC;
		border-radius: 12px;
	}
		#bwj24_osaka .about div.zone h3 {
			text-align: center;
			padding: 8px;
		}
			#bwj24_osaka .about div.zone p {
				padding: 4px 16px;
				font-size: 2rem;
				text-align: center;
			}

	#bwj24_osaka .about h3.entry {
		margin: 48px auto 0 auto;
		width: fit-content;
		font-size: 2.4rem;
		background: #c6a956;
	}
		#bwj24_osaka .about h3.entry a {
			display: block;
			padding: 12px 48px;
			color: #FFF;
		}

/*----- BONUS -----*/
	#bwj24_osaka .bonus .flex {
		margin: 60px 0;
		border-radius: 20px;
		box-shadow: 0 0 0 0 rgba(0,0,0,0.3);
	}
		#bwj24_osaka .bonus .flex > div {
			position: relative;
			flex: 1 1 0;
		}
			#bwj24_osaka .bonus .flex > div h3 {
				font-size: 2.4rem;
			}
			#bwj24_osaka .bonus .flex > div p {
				padding-top: 12px;
				line-height: 2.4rem;
			}

		#bwj24_osaka .bonus .flex > div:first-child {
			padding: 60px;
			background:
				linear-gradient(135deg, #fff4db 21px, #ece9d9 22px, #ece9d9 24px, transparent 24px, transparent 67px, #ece9d9 67px, #ece9d9 69px, transparent 69px),
				linear-gradient(225deg, #fff4db 21px, #ece9d9 22px, #ece9d9 24px, transparent 24px, transparent 67px, #ece9d9 67px, #ece9d9 69px, transparent 69px)0 64px;
			background-color:#fff4db;
			background-size: 64px 128px;
			z-index: 1;
		}

		#bwj24_osaka .bonus .flex:nth-child(even) {
		
		}
		#bwj24_osaka .bonus .flex:nth-child(odd) {
			flex-direction: row-reverse;
		}
			#bwj24_osaka .bonus .flex:nth-child(odd) img {
				border-radius: 20px 0 0 20px;
			}
			#bwj24_osaka .bonus .flex:nth-child(even) img {
				border-radius: 0 20px 20px 0;
			}
			#bwj24_osaka .bonus .flex div p.title {
				position: absolute;
				top: -12px;
				font-size: 10rem;
				font-family: big-caslon-fb, serif;
				color: #b89331;
				opacity: 0.3;
			}
				#bwj24_osaka .bonus .flex:nth-child(odd) div p.title {
					right: 24px;
				}
				#bwj24_osaka .bonus .flex:nth-child(even) div p.title {
					left: 24px;
				}

/*----- SALE -----*/
		#bwj24_osaka p.sale_info {
			margin: 32px 0;
			font-size: 1.6rem;
			text-align: center;
		}


		#bwj24_osaka .content > div.sale {
			max-width: 100%;
		}
		#bwj24_osaka .sale .medama ,
		#bwj24_osaka .sale .brand {
			display:flex;
			flex-wrap: wrap;
			justify-content: space-evenly;
		}
		#bwj24_osaka .sale .medama > div {
			width: 23%;
		}
			#bwj24_osaka .sale .medama > div > div {
				min-height: 160px;
			}

			#bwj24_osaka .sale .medama h3 {
				font-size: 1.2rem;
			}
				#bwj24_osaka .sale .medama h3 span {
					display: block;
					font-size: 2rem;
					line-height: 2rem;
				}
				#bwj24_osaka .sale .medama p {
					padding-top: 16px;
					line-height: 2.2rem;
					text-align: justify;
				}

		#bwj24_osaka .sale .brand > p {
			width: 160px;
			margin: 1%;
		}

/*----- BRAND -----*/
	#bwj24_osaka .brand h3 {
		padding: 60px 0;
		width: 100%;
		font-size: 3.2rem;
		text-align: center;
	}

@media screen and (max-width: 1199px){
}
@media screen and (max-width: 1169px){
	#bwj24_osaka .about div.booth_map {
		padding: 32px 80px;
	}
}

@media screen and (max-width: 1024px){
	#bwj24_osaka .sale .medama > div {
		width: 40%;
		margin-bottom: 48px;
	}
		#bwj24_osaka .sale .medama > div > div {
			min-height: 120px;
			width: 100%;
		}
		#bwj24_osaka .sale .medama p {
			padding-bottom: 16px;
			font-size: 1.8rem;
		}
		#bwj24_osaka .sale .medama h3 {
			font-size: 1.8rem;
		}
		#bwj24_osaka .sale .medama h3 span {
			font-size: 2.4rem;
		}


}

@media (max-width: 767px){
	#bwj24_osaka .about div.booth_map {
		padding: 20px 10px;
	}
	#bwj24_osaka .content .about .flex > div {
		margin: 0;
		width: 45%;
	}
	#bwj24_osaka .about h3.entry {
		margin-top: 20px;
	}
	#bwj24_osaka .bonus .flex {
		flex-direction: column-reverse!important;
		margin: 20px 12px;
	}
	#bwj24_osaka .bonus .flex > div:first-child {
		padding: 40px;
	}

	#bwj24_osaka p.sale_info {
		padding: 0 12px;
	}
	#bwj24_osaka .sale .medama > div {
		position: relative;
		width: 90%;
		font-size: 1.4rem;
		margin-bottom: 48px;
	}
		#bwj24_osaka .sale .medama > div::after {
			content: "";
			position: relative;
			top: 24px;
			height: 1px;
			width: 100%;
			background: #AAA;
		}
		#bwj24_osaka .sale .medama > div > div {
			min-height: auto;
		}

		#bwj24_osaka .sale .brand h3 {
			padding: 24px 0;
		}
		#bwj24_osaka .sale .brand > p {
			width: 100px;
		}
}
