@charset "utf-8";
/* CSS Document */
/*全体設定*/
*, *:before, *:after {
	box-sizing: inherit;
}
html {
	box-sizing: border-box;
}
img {
	vertical-align: bottom;
}
#festival{
	width: 1260px;
	margin: 0 auto;
}
#festival a {
	color: #000000;
	text-decoration: underline;
}
a.adjustment{
	display: block;
	padding-top: 120px;
	margin-top: -120px;
}
#festival h2.uline_b{
	font-size: 2em;
	line-height: 1;
	font-weight: bold;
	border-bottom: solid 5px #00a3af;
	text-align: center;
	margin-bottom: 25px;
	padding-bottom: 5px;
}
#festival h3.uline_b {
	font-size: 1.8em;
	line-height: 1;
	font-weight: bold;
	border-bottom: solid 2px #dd6f5e;
	text-align: center;
	margin-bottom: 25px;
	padding-bottom: 5px;
}
/*TOPイメージ*/
#festival .top_parts{
	width: 100%;
	background-color: #00a3af;
	display: flex;
	justify-content: space-between;
}
#festival .top_parts .top_txt{
	width: 54%;
	color: #ffffff;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 0 0 25px;
}
#festival .top_parts .top_txt h1{
	font-size: 3.5em;
	font-weight: bold;
	line-height: 1.2;
	margin-bottom: 10px;
}
#festival .top_parts .top_img{
	width: 44%;
}
#festival .top_parts .top_img img{
	width: 100%;
}
/*ナビゲーション*/
#festival .festival_first {
	width: 100%;
	background-color: #ffffff;
	margin: 0 auto 50px;
	box-sizing: border-box;
	position: sticky;
	top: 0;
	z-index: 2;
	padding-bottom: 0;
	padding-top: 0;
	max-width: 100%;
}
#festival .festival_first ul.festival_menu {
	width: 100%;
	display: flex;
	flex-flow: row;
	justify-content: center;
	margin: 0;
	box-sizing: border-box;
	border: solid 1px #00a3af;
	list-style: none;
	padding: 0;
}
#festival .festival_first ul.festival_menu li.global-item {
	border-right: solid 1px #00a3af;
	width: 49%;
	position: relative;
}
#festival .festival_first ul.festival_menu li.global-item:last-child {
	border-right-style: none;
	margin-right: 0;
}
#festival .festival_first ul.festival_menu li.global-item a {
	font-size: 1.5em;
	display: block;
	padding: 20px 20px 40px 20px;
	color: #00a3af;
	font-weight: bold;
	text-decoration: none;
	box-sizing: border-box;
	text-align: center;
}
#festival .festival_first ul.festival_menu li.global-item:last-child a {
	border-right: none;
}
#festival .festival_first ul.festival_menu li.global-item a::after {
	content: "";
	display: block;
	position: absolute;
	left: 50%;
	top: 70%;
	-ms-transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 15px 17.5px 0 17.5px;
	border-color: #0F2540 transparent transparent transparent;
}
#festival .festival_first ul.festival_menu li a:hover {
	opacity: 0.7;
}
/*ナビゲーション終*/
/*枠全体指定*/
#festival .contents{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
#festival .contents .item{
	width: 24%;
	border-radius: 5px;
	border: solid 1px #cccccc;
	z-index: 1;
	margin: 0 0 20px 0;
	padding-bottom: 15px;
	display: flex;
	flex-direction: column;
}
#festival .contents::after {
	content: "";
	display: block;
	width: 24%;
	height: 0;
}
#festival .contents::after,#festival .contents::before {
	content: "";
	display: block;
	width: 24%;
	height: 0;
}
#festival .contents::before{
	order: 1;
}
#festival .contents .item .item_image{
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	display:inline-block;
	overflow: hidden;
}
#festival .contents .item .item_image img{
	width: 100%;
	vertical-align: top;
}
#festival .contents .item h4.item_title{
	margin-top: 10px;
	padding: 0 10px;
	margin-bottom: 5px;
	font-size: 1.4em;
	color: #0F2540;
	font-weight: bold;
}
#festival .contents .item .item_txt{
	padding: 0 10px;
	margin-bottom: 20px;
	font-size: 0.9em;
}
#festival .contents .item ul.btns{
	margin-top: auto;
	margin-bottom: 12px;
	padding: 0 10px;
}
#festival .contents .item ul.btns li.btn_list,#festival .contents .item ul.btns li.btn_pdf{
	position: relative;
}
#festival .contents .item ul.btns li:nth-child(2n){
	margin-top: 12px;
}
#festival .contents .item ul.btns li.btn_no{
	border-radius: 1.5em;
	padding: 0.8em 0;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	display: block;
	border: solid 2px #d3d3d3;
	background-color: #ffffff;
	color: #555555;
}
#festival .contents .item ul.btns li.btn_list a,#festival .contents .item ul.btns li.btn_pdf a{
	border-radius: 1.5em;
	padding: 0.8em 0;
	text-decoration: none;
	font-weight: bold;
	text-align: center;
	display: block;
}
#festival .contents .item ul.btns li.btn_list a{
	background-color: #00a3af;
	color: #ffffff;
}
#festival .contents .item ul.btns li.btn_pdf a{
	border: solid 2px #00a3af;
	background-color: #ffffff;
	color: #0F2540;
}
#festival .contents .item ul.btns li.btn_list a:hover,#festival .contents .item ul.btns li.btn_pdf a:hover{
	opacity: 0.7;
}
#festival .contents .item ul.btns li.btn_list a::after {
	content: url(/img/freepage/food_delivery/ico_ya.png);
	margin: auto;
	line-height: 0;
	position: absolute;
	top: 28%;
	right: 7%;
}
#festival .contents .item ul.btns li.btn_pdf a::after {
	content: url(/img/freepage/drink/ico_pdf.png);
	margin: auto;
	line-height: 0;
	position: absolute;
	top: 15%;
	right: 5%;
}
#festival .large_bnr{
	color: #0F2540;
	font-weight: bold;
	text-align: center;
	font-size: 1.2em;
}
@media screen and (max-width: 768px) {
	#festival{
		width: 100%;
	}
	#festival h2.uline_b{
		font-size: 1.3em;
		font-weight: bold;
		margin: 0 10px 25px;
		padding-bottom: 5px;
	}
	#festival h3.uline_b{
		font-size: 1.2em;
		margin: 0 10px 25px;
		padding-bottom: 5px;
	}
	/*TOPイメージ*/
	#festival .top_parts {
		flex-direction: column-reverse;
	}
	#festival .top_parts .top_txt {
		width: 100%;
		padding: 15px;
	}
	#festival .top_parts .top_txt h1{
		font-size: 1.5em;
	}
	#festival .top_parts .top_txt p {
		font-size: 0.8em;
	}
	#festival .top_parts .top_img {
		width: 100%;
	}
	/*メニュー部分*/
	#festival .festival_first {
		width: 100%;
		background-color: #ffffff;
		margin: 0 auto;
		margin-bottom: 8px;
		box-sizing: border-box;
		border-radius: 1rem;
		position: static;
	}
	#festival .festival_first ul.festival_menu {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		font-size: 0.9em;
		border-right-style: none;
		border-left-style: none;
		border-bottom-style: none;
		margin-bottom: 25px;
	}
	#festival .festival_first ul.festival_menu li.global-item a{
		width: 100%;
		margin: 0 auto;
		padding: 5px 7px;
		font-size: 10px;
		text-align: center;
	}
	#festival .festival_first ul.festival_menu li.global-item a::before{
		position: absolute;
		content: '';
		top: 0.7em;
		left: 1.0em;
		height: 0;
		width: 0;
		border-style: solid;
		border-width: 6px 0 6px 9px;
		border-color: transparent transparent transparent #0F2540;
	}
	#festival .festival_first ul.festival_menu li.global-item a::after {
		content: none;
	}
	#festival .festival_first ul.festival_menu li.global-item {
		width: 50%;
		border-bottom: solid 1px #00a3af;
	}
	#festival .festival_first ul.festival_menu li.global-item:nth-child(2n+1){
		border-left: solid 1px #00a3af;
	}
	#festival .festival_first ul.festival_menu li.global-item:last-child{
		border-right: solid 1px #00a3af;
	}
	/*枠全体指定*/
	#festival .contents{
		padding: 0 10px;
	}
	#festival .contents .item{
		width: 49%;
		margin: 0 0 5px 0;
		padding-bottom: 15px;
	}
	#festival .contents::after {
		content: none;
	}
	#festival .contents._youki .item{
		width: 49%;
	}
	#festival .contents._youki::after,#festival .contents._youki::before {
		content: none;
	}
	#festival .contents .item h4.item_title{
		padding: 0 5px;
		font-size: 1em;
	}
	#festival .contents .item .item_txt{
		padding: 0 5px;
		margin-bottom: 20px;
		font-size: 0.8em;
	}
	#festival .contents .item ul.btns{
		margin-top: auto;
		margin-bottom: 10px;
		padding: 0 5px;
	}
	#festival .contents .item ul.btns li:nth-child(2n){
		margin-top: 10px;
	}
	#festival .contents .item ul.btns li.btn_no,#festival .contents .item ul.btns li.btn_list a,#festival .contents .item ul.btns li.btn_pdf a{
		font-size: 0.7em;
		border-radius: 2em;
		padding: 1em 0 1em 1em;
		text-align: left;
	}
	#festival .contents .item ul.btns li.btn_list a:hover,#festival .contents .item ul.btns li.btn_pdf a:hover{
		opacity: 1;
	}
	#festival .contents .item ul.btns li.btn_list::after {
		top: 20%;
	}
	#festival .contents .item ul.btns li.btn_pdf::after {
		top: 8%;
	}
	#festival .large_bnr{
		font-size: 1em;
		padding: 0 10px;
	}
}
#festival .industry_festival_list {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	/* 要素間の余白 */
	list-style: none;
	padding: 0;
	margin: 0;
}
#festival .industry_festival_list li {
	flex: 0 0 calc(20% - 10px);
	/* 5列分の幅を確保 */
	box-sizing: border-box;
}
#festival .industry_festival_list li img {
	width: 100%;
	height: auto;
	display: block;
}
@media (max-width: 1024px) {
	#festival .industry_festival_list li {
		flex: 0 0 calc(25% - 10px);
		/* タブレットは4列 */
	}
}
@media (max-width: 768px) {
	#festival .industry_festival_list li {
		flex: 0 0 calc(50% - 10px);
		/* スマホ横も2列に変更 */
	}
}
@media (max-width: 480px) {
	#festival .industry_festival_list li {
		flex: 0 0 calc(50% - 10px);
		/* スマホ縦も2列 */
	}
	a.adjustment{
		display: inherit;
		padding-top: inherit;
		margin-top: inherit;
	}
}
