@charset "utf-8";

/*====================================================
campAIGN CONTENTS //index
======================================================*/

body{
	background: #fff;
}

#container{
	background: none;
}

#hokkaidofair202512{
	width: 100%;
	margin: 0 auto;
	font-family: "メイリオ","Hiragino Kaku Gothic ProN", sans-serif;
	position: relative;
	font-feature-settings : "palt";
	background: #fff;
	overflow: hidden;
}

#hokkaidofair202512 #container{
	position: relative;
}
.topic-path{
    text-align: left;
    width: 980px;
    margin: 10px auto 2px;
}

#hokkaidofair202512 li{
	list-style: none;
	line-height: 1.6;
}

#hokkaidofair202512 #container{
	width: 980px;
	font-size: 16px;
    margin: 0 auto;
}

#hokkaidofair202512 #ttl_area{
	margin: 0;
	margin-bottom: 32px;
	width: 100%;
	background-image: url(/campaign/images/hokkaidofair_ti_back.png);
	background-position-x: 50%;
	background-position-y: -20px;
	background-repeat: no-repeat;
	background-color: #7eaddc;
}

.title_lvl02{
	background: #6e60ab;
	font-size: 150%;
	color: #fff;
	font-weight: bold;
	padding: 5px 0;
	background-repeat: no-repeat;
	background-size: 60px;
	font-size: 20px;
	text-align: left;
	margin-bottom: 0;
	padding: 14px 8px 8px 16px;
	line-height: 1.4;
}
#hokkaidofair202512 div.column02{
width: 478px;
}

#hokkaidofair202512 div.contwrap{
	width:100%;
	margin: 0 auto;
}

#hokkaidofair202512 div.cont{
	margin-top: 0px;
	padding: 16px 20px;
	background: #fff;
	position: relative;
}

#hokkaidofair202512 .column01,
#hokkaidofair202512 .column02{
	border: 1px solid #6e58a3;
	margin-bottom: 18px;
	overflow: hidden;
}

#hokkaidofair202512 div.cont ul{
	text-align: left;
}

.text01{
	font-size: 100%;
	line-height: 1.6;
	margin-bottom: 12px;
	font-size: 14px;
	text-align: left;
}

.text05{
	font-size: 14px;
	text-align: left;
	line-height: 1.6;
}

#hokkaidofair202512 div.cont p.text03{
text-align: right;
    margin-top: 4px;
}

#hokkaidofair202512 ul.othres {
	margin: 30px auto;
}

.mr0{margin-right: 0!important;}
.justify{
	text-align: justify;
	justify-content:space-between;	
	-webkit-justify-content:space-between;	
	-ms-justify-content:space-between;	
}

.clear{
	clear: both;
}

.flex{
	display: flex;
	display: -ms-flexbox; /* IE10 */
	display: -webkit-box; /* Android4.3以下、Safari3.1〜6.0 */
	display: -webkit-flex; /* Safari6.1以降 */
}

.flex_justify{
justify-content: justify;
-webkit-justify-content: justify;
-ms-justify-content: justify;
}

.horizontal_center{
	justify-content: center;
	-webkit-justify-content: center;	
	-ms-justify-content: center;	
}
.grid{
	display: grid;
	width: 100%;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr; 
	grid-template-areas: 
	"item1 item1 item1 item2 item2 item2"
    "item3 item3 item4 item4 item5 item5" ;
	gap: 0;
}
.grid li img {
	width: 100%;
}
.grid li{
	line-height: 0 !important;
}
.grid li:first-of-type{ grid-area: item1;}
.grid li:nth-of-type(2){ grid-area: item2;}
.grid li:nth-of-type(3){ grid-area: item3;}
.grid li:nth-of-type(4){ grid-area: item4;}
.grid li:last-of-type{ grid-area: item5;}

.column01{
	width: 980px;
}

.image-grid {
  display: grid;
  gap: 0px;
  width: 100%;
  margin: 0 auto;
}

/* 通常は3列 */
.image-grid {
  grid-template-columns: repeat(3, 1fr);
}

/* 画像5枚のときだけ 1行目2枚・2行目3枚にする */
.image-grid:has(img:nth-child(5)):not(:has(img:nth-child(6))) {
  grid-template-columns: repeat(3, 1fr);
  grid-template-areas:
    "a a ."
    "b b b";
}

.image-grid:has(img:nth-child(5)):not(:has(img:nth-child(6))) img:nth-child(1) { grid-area: a; }
.image-grid:has(img:nth-child(5)):not(:has(img:nth-child(6))) img:nth-child(2) { grid-area: a; }
.image-grid:has(img:nth-child(5)):not(:has(img:nth-child(6))) img:nth-child(3) { grid-area: b; }
.image-grid:has(img:nth-child(5)):not(:has(img:nth-child(6))) img:nth-child(4) { grid-area: b; }
.image-grid:has(img:nth-child(5)):not(:has(img:nth-child(6))) img:nth-child(5) { grid-area: b; }

/* 共通設定 */
.image-grid img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
}

.bigwrap{
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-webkit-flex;
	display:-moz-flex;
	display:flex;
	-webkit-box-lines:multiple;
	-moz-box-lines:multiple;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width:980px;
	justify-content: space-between;
	-webkit-justify-content: space-between;
	-ms-justify-content: space-between;
}

.overwidth{
	margin: 32px -200%;
	padding: 20px 200%;
	background: #faf7f2;
	text-align: center;
}

.sp_only{
	display: none;
}

.pc_only{
	display: block;
}

.lvl2{
	margin-bottom: 0;
}

.img_02colum img{
	width: 216px;
}

.bnrAria li{
	margin-bottom: 8px;
}

.bnrAria img{
    width: 486px;
    height: 107px;
}
.ic_otherwindow:after{
    content: '';
    background: url(/common/images/ic_window.png) 0 0 no-repeat transparent;
    top: 6px;
    width: 12px;
    height: 16px;
    background-size: 12px 12px;
    display: inline-block;
    margin-left: 6px;
    margin-bottom: 2px;
}
.sponserWrap .title{
    padding: 0 4px;
    margin-right: 12px;
    display: inline-block;
    background: #6e58a3;
    color: #fff;
    padding: 10px;
    margin: 0px 8px 0 0;
}

.sponserWrap .flex{
    align-items: center;
    -webkit-align-items: center;
    -ms-align-items: center;
    margin-bottom: 8px;
}

.corp{
	width: 90%;
}

.corp li{
	display: inline-block;
	margin-right: 16px;
}

.keyvisual{
    margin: 0 auto;
    text-align: -webkit-center;
    padding: 20px;	
}

.keyvisual img{
	/* display: block; */
	margin: 0 auto;
}
.main .imgWrap{
	width: 100%;
}
.imgWrap img,
.cont img{
	border: 1px solid #ccc;
}

@media screen and (max-width: 768px){
	#hokkaidofair202512 #ttl_area{
		margin-left: 0;
	}
	.corp{
		width: 100%;
	}

	.corp .ic_otherwindow:after{
		margin-bottom: 0;
	}
	.ic_otherwindow:after{
		vertical-align: middle;
		height: 20px;
	}

	.corp li{
		margin-bottom: 8px;
		display: block;
	}
	.main .imgWrap .flex{
	flex-flow: column;	
	}
	.bnrAria .flex{
			flex-direction: column;
	}

	.bnrAria img {
			width: 100%;
			height: auto;
	}

	.text05{
		font-size: 1.2rem;
	}

	.text01{
		font-size: 1.3rem;
	}

	.pagetop{
			background: #e7decf;
			color: #580300;
	}

	.title_lvl03{
		font-size: 1.4rem;
	}
	.main .imgWrap{
		width: 100%;
	}

	.sp_topbtn .pagetop{
		bottom: 1%;
			width: 72px;
			height: 72px;
			line-height: 28px;
	}

	.pagetop:before{
			font-size: 20px;
			line-height: 1.8;
	}

	#hokkaidofair202512 ul.othres li {
		padding: 0;
	}

	#hokkaidofair202512 li:last-child{
		margin-bottom: 0;
	}

	#hokkaidofair202512 #container{
	letter-spacing: 0.1rem;	
	}
	#hokkaidofair202512{
		overflow: hidden;
	}

	#hokkaidofair202512 #container{
		width: 95%;
	}

	#hokkaidofair202512 div.cont{
		padding: 12px;
	}

	#hokkaidofair202512 img{
    width: 100%;
    margin: 0 auto;
	}

	#ttl_area{
		height: auto !important;
	}

	#hokkaidofair202512 #ttl_area{
    height: auto;
    background-size: cover;
    padding: 10px 0;
    background-color: #fff;
	}

	.pc_only{
		display: none;
	}
	.sp_only{
		display: block;
	}


	.bigwrap{
		display: block;
		width: 100%;
	}
	.main .flex{
		flex-flow: column;	
	}

	h2{
		margin: 0;
	}
	.title_lvl02{
		font-size: 1.8rem;
	}

	.overwidth{
    margin: 32px -12px;
	}
	.column01{
		width: 100%;
	}
	.column02{
		width: 100% !important;
	}

	.sponserWrap .flex{
	flex-direction: column;
	}

	.sponserWrap .title{
			margin: 0 0 8px 0;
			width: 96%;
			text-align: center;
			padding: 4px 2%;
	}

	.sponser_text .flex{
			padding: 0 6%;
			margin-bottom: 12px;
	}

	.title_lvl02{
		padding: 10px 12px 8px 10px;
	}

	.title_lvl02 span{
		margin-top: 4px;
	}

	.indent{
		margin-left: 0.5em;
		text-indent: -0.6em;
	}

	.sponser_text{
			padding: 0px;
	}

	.lvl2{
		margin-top: -12px;
			padding: 0 20px 32px 20px;
	}

}

@media screen and (max-width: 360px){
.title_lvl02 {
    font-size: 1.6rem;
}
}
