#page_title {
    width: 100%;
    height: max(750px, 39.06vw);
    background: #fff;
    position: relative;
    margin: 0 auto 40px;
    background: url('../images/saiseikai-fair2025/bg_pagetitle_fair2025.webp') no-repeat top center;
    background-size: max(1920px,100vw) auto;
}
#page_title a{
	border:3px solid #ff4c71;
	border-radius:5px;
	color:#ff4c71;
	background:#fff;
	line-height:40px;
	text-align:center;
	text-decoration:none;
	position:absolute;
	bottom:20px;
	right:20px;
	padding:0 15px;
	display:block;
}
#page_title::after{
    display: none;
}

#page_title h2{
    text-indent: -9999px;
}

main section{
    max-width: none;
    width: max(960px, 80vw);
	margin: 0 auto 80px !important;
    padding: 0;
}
main section img{
	max-width:100%;
	height:auto;
}
#section0{
	width:100% !important;
}
main section article p{
    max-width: none;
}

#dday_Wrap{
	display:flex;
	height:256px;
	justify-content:center;
	align-items:center;
	background:url('../images/saiseikai-fair2025/illust.webp') no-repeat center center;
}
#dday{
    height: 48px;
    margin: 0 0 40px;
    text-align: center;
    font-size: 32px;
    font-weight: bold;
    color: #FF4C72;
}

#dday .num{
    font-size: 48px;
}
#muryou{
	background:#ff4c71;
	color:#fff;
	border-radius:10px;
	text-align:center;
	max-width:300px;
	margin:0 auto;
	line-height:50px;
	font-size:26px;
}

#topLead{
    padding: 40px;
    border-radius: 40px;
    background-color: #FFE4EA;   
}
.topLead_Photo{
	display:flex;
	gap:5px;
}
.topLead_Photo img{
	display:block;
	width:calc((100% - 15px) / 4);
    border-radius: 10px;
}

#areaShokai{
    margin: 0 0 120px;
}

.text-center h2{
    padding: 20px 0;
    border-radius: 20px;
    background-color: #FFE4EA;
    font-size: 36px;
    text-align: center;
}

.text-center h3{
    text-align: center;
    font-family: sans-serif;
}

.text-center h3::before{
    display: none;
}
#gaiyou{
	background:url('../images/saiseikai-fair2025/bg_tree.webp') no-repeat bottom right;
	background-size:40% auto;
}

#areaBoxWrapper{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    justify-content: center;
    /* align-items: center; */
}

#areaBoxWrapper .card{
    box-sizing:  border-box;
    margin: 0;
    padding: max(1vw, 20px);
    border: 2px solid #ccc;
    border-radius: 20px;
    width: calc((100% - 80px) / 3);
}

.cardHeader{
    padding: 0 0 5px;
    border-bottom: 1px solid #ccc;
    margin: 0 0 4px;
}


.number-box{
    background-color: #00AAFC;
    color: #fff;
    width: 48px;
    height: 49px;
    line-height: 48px;
    text-align: center;
    font-size: 32px;
    border-radius: 10px;
}

#areaBoxWrapper .card ul{
    margin: 0 0 40px 0;
    font-size: 16px;
    line-height: 1.6;
}

#areaBoxWrapper .card img{
    width: 75%;
    height: auto;
    display: block;
    margin: 20px auto 0;
}

.floorMap img{
    width: 100%;
}
.floorMap dl{
	margin-bottom:20px;
}
.floorMap dt,
.floorMap dd{
	width:100%;
	flex:none;
	font-size:15px;
}
.floorMap dt img{
	display:block;
	margin:0 auto 10px;
}
.floorMap dd th,
.floorMap dd td{
	padding:3px;
}

#foodshop ul{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: none;
    margin: 0;
    padding: 0;
    list-style: none;
}

#foodshop ul li{
    box-sizing:  border-box;
    padding: max(1vw, 20px);
    border: 2px solid #ccc;
    border-radius: 20px;
    width: calc((100% - 40px) / 2);
}


#foodshop ul li img{
	max-width:100%;
	display:block;
	margin:0 auto 15px;
}
.shopName img{
	display:inline !important;
	vertical-align:middle;
	margin-right:5px;
}
#photoGallery ul{
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    max-width: none;
    padding: 0;
    margin: 0;
    list-style: none;
}

#photoGallery ul li{
    width: calc((100% - 120px) / 4);
}

#photoGallery ul li img{
	display:block;
	width:100%;
	height:250px;
	object-fit:cover;
	border-radius:10px;
}

main section article details{
    max-width: none;
    margin: 0 0 20px 0;
}
main section article details summary h5{
	display:inline;
}

main section h3{
    padding: 0 0 0 40px;
    margin: 40px 0 10px;
}

main section h3::before{
    left: 0;
}

#access table{
    max-width: none;
}

#access iframe{
    max-width: none;
    width: 100%;
}

#contactForm p{
    font-size: 36px;
    text-align: center;
}

#contactForm h4{
    text-align: center;
}

#contactForm p span{
    font-size: 48px;
}
#kyousan_kouen{
	margin:0 auto;
	width: max(960px, 80vw);
}
.oshigototaiken img{
	display:block;
	margin:0 auto 15px;
	width:100%;
	height:23dvw;
	object-fit:cover;
	object-position:top center;
}
#artist_profile_inner{
	display:flex;
	gap:50px;
}
#artist_profile_inner dl{
	width:calc((100% - 50px) / 2);
	flex:none;
}
#artist_profile_inner dl dt img{
	display:block;
	width:80%;
	height:300px;
	object-fit:contain;
	margin:0 auto;
}
.foodshop_list ul li{
	width: calc((100% - 80px) / 3) !important;
}
.foodshop_img{
	display:block;
	width:330px;
	height:330px;
	object-fit:contain;
	margin:0 auto 15px;
}
.foodshop_list summary h5{
}
.foodshop_list summary h5 img{
	margin:0;
}
ol.thumbsphoto{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	padding:0 !important;
	list-style:none;
}
ol.thumbsphoto li{
	padding:0 !important;
	border:0 !important;
	border-radius:0 !important;
	width:calc((100% - 10px) / 2) !important;
	flex:none;
}