@charset "utf-8";
/* -----------------------------------------------------------------------

photocon2026.css

----------------------------------------------------------------------- */


/*-----------------------------------------------------------------

	common
	
-----------------------------------------------------------------*/

#photocon2026 {
	font-size:1.12em;
}
#photocon2026 .heading {
	width:90%;
	max-width:300px;
	height:44px;
	margin:0 auto;
	font-size:2.4rem;
	line-height:44px;
	letter-spacing:0.06em;
	text-align:center;
	color:#fff;
	border-radius:50vh;
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (max-width:768px) {
	#photocon2026 .inner {
		width:92.5%;
	}
}
@media print, screen and (min-width:769px) {
	#photocon2026 .heading {
		height:54px;
		font-size:2.8rem;
		line-height:54px;
	}
}



/*-----------------------------------------------------------------

	mainimg
	
-----------------------------------------------------------------*/

#mainimg {
	padding-top:65%;
	background-image:url(../img/photocon2026/mainimg.webp);
	background-repeat: no-repeat;
	background-position: top 50% left 50%;
	background-size:cover;
}

/*----------------------------------------------------------
	Display：← 559px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width:559px) {
	#mainimg {
		margin-top:72px;
		padding-top:75%;
		background-position: top 50% left 45%;
	}
}

/*----------------------------------------------------------
	Display：560px →（ tablet ）
----------------------------------------------------------*/

@media screen and (min-width:560px) {
	#mainimg {
		margin-top:100px;
	}
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#mainimg {
		margin-top:144px;
	}
}

/*----------------------------------------------------------
	Display：1200px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:1200px) {
	#mainimg {
		padding-top:0;
		min-height:780px;
	}
}

/*----------------------------------------------------------
	Display：1800px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:1400px) {
	#mainimg {
		padding-top:55.7%;
		height:auto;
		min-height:auto;
	}
}



/*-----------------------------------------------------------------

	lead
	
-----------------------------------------------------------------*/

#lead {
	background:#000;
}
#lead .strong {
	display:inline-block;
	margin:0 0.5em;
	padding:0 0.75em;
	color:#000;
	background:#ffb400;
}

/*----------------------------------------------------------
	Display：← 559px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width:559px) {
	#lead .inner{
		padding-top:30px;
		padding-bottom:30px;
	}
	#lead .strong {
		margin-left:0;
	}
}

/*----------------------------------------------------------
	Display：560px →（ tablet ）
----------------------------------------------------------*/

@media screen and (min-width:560px) {
	#lead .inner{
		padding-top:40px;
		padding-bottom:40px;
	}
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#lead .inner{
		padding-top:45px;
		padding-bottom:45px;
	}
}

/*----------------------------------------------------------
	Display：1000px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:1000px) {
	#lead .inner{
		padding-top:50px;
		padding-bottom:50px;
		text-align:center;
	}
	#lead .strong {
		margin-left:0;
	}
}



/*-----------------------------------------------------------------

	present
	
-----------------------------------------------------------------*/

#present {
	color:#111;
	background:#fff;
}
#present .presentList {
	display:flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#present .presentList .box{
	width:100%;
	max-width:520px;
	margin:30px auto 0;
	padding-bottom:30px;
	position:relative;
	overflow:hidden;
}
#present .presentList .box.profile > div{
	padding:30px 15px 0;
}
#present .presentList .box:nth-child(1){
	margin-top:0;
}
#present .presentList .box .bottom{
	width:100%;
	position:absolute;
	bottom:0;
	left:0;
	z-index:1;
}
#present .presentList .box .image{
	width:100%;
	position:relative;
	z-index:2;
}
#present .presentList .box .presentTxt {
	padding:10px 6% 0;
}
#present .presentList .box .presentTxt li {
	margin:8px 0;
	padding-left:1em;
	font-size:1em;
	font-weight:700;
	line-height:1.5;
	position:relative;
}
#present .presentList .box .presentTxt li::before {
	display:block;
	content:"";
	width:10px;
	height:10px;
	background:#000;
	border-radius:50vh;
	position:absolute;
	top:7px;
	left:0;
}
#present .presentList .box .haku_logo {
	text-align:center;
}
#present .presentList .box .haku_logo img {
	width:100%;
	max-width:195px;
}
#present .presentList .box .haku_logo_y {
	display:inline-block;
	width:100%;
	max-width:307px;
	position:relative;
	bottom:-5px;
}

.letter-spacing-005{
	letter-spacing:-0.05em;
}


/*----------------------------------------------------------
	Display：← 559px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width:559px) {
	#present .inner{
		padding-top:20px;
		padding-bottom:50px;
	}
}

/*----------------------------------------------------------
	Display：560px →（ tablet ）
----------------------------------------------------------*/

@media screen and (min-width:560px) {
	#present .inner{
		padding-top:25px;
		padding-bottom:55px;
	}
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#present .inner{
		padding-top:30px;
		padding-bottom:60px;
	}
	#present .presentList .box{
		margin:30px 0 0;
	}
	#present .presentList .box{
		width:49.1%;
	}
	#present .presentList .box:nth-child(2){
		margin-top:0;
	}
	#present .presentList .box .haku_logo {
		text-align:left;
	}
	#present .presentList .box.profile > div{
		padding:60px 7% 0;
	}
}

/*----------------------------------------------------------
	Display：1000px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:1000px) {
	#present .inner{
		padding-top:35px;
		padding-bottom:65px;
	}
}



/*-----------------------------------------------------------------

	step
	
-----------------------------------------------------------------*/

#step {
	color:#fff;
	background:#000;
}
#step .heading {
	background:#454545;
}
#step .stepList {
	padding:30px 0;
}
#step .stepList li {
	margin-top:20px;
	padding-left:45px;
	position:relative;
}
#step .stepList li:first-child {
	margin-top:0;
}
#step .stepList li::before {
	display:block;
	width:35px;
	height:35px;
	font-size:2.2rem;
	line-height:35px;
	text-align:center;
	color:#000;
	font-family:Oswald;
	border-radius:50vh;
	background:#fff;
	position:absolute;
	top:-4px;
	left:0;
}
#step .stepList li:nth-child(1)::before {
	content:"1";
}
#step .stepList li:nth-child(2)::before {
	content:"2";
}
#step .stepList li:nth-child(3)::before {
	content:"3";
}
#step .stepList li .midahi {
	font-size:1.36em;
	line-height:1.5;
	font-weight:bold;
	color:#fff;
}
#step .stepList li .midahi .strong{
	display:inline-block;
	margin:0 0.5em 0 0;
	padding:0 0.5em;
	color:#000;
	background:#ffb400;
}
#step .stepList li .txt {
	margin-top:5px;
	color:#fff;
}
#step .download {
	padding:30px 6%;
	color:#000;
	background:#fff;
	border-radius:20px;
	position:relative;
}
#step .download .logo_insta {
	width:77px;
	height:77px;
	margin:0 auto;
}
#step .download .txt {
	line-height:1.6;
}
#step .download .btnList {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	max-width:370px;
	margin-top:15px;
}
#step .download .btnList li {
	width:49%;
	max-width:179px;
}

/*----------------------------------------------------------
	Display：← 559px（ sp ）
----------------------------------------------------------*/

@media screen and (max-width:559px) {
	#step .inner{
		padding-top:50px;
		padding-bottom:50px;
	}
	#step .download {
		padding:20px 15px 15px;
	}
	#step .download .logo_insta {
		margin:0 auto 15px;
	}
	#step .download .btnList {
		margin:15px auto 0;
	}
}

/*----------------------------------------------------------
	Display：560px →（ tablet ）
----------------------------------------------------------*/

@media screen and (min-width:560px) {
	#step .inner{
		padding-top:55px;
		padding-bottom:55px;
	}
	#step .stepList {
		padding:35px 0;
	}
	#step .stepList li {
		padding-left:50px;
	}
	#step .stepList li::before {
		width:40px;
		height:40px;
		font-size:2.4rem;
		line-height:40px;
		top:-4px;
	}
	#step .stepList li .midahi .strong{
		margin:0 0.5em;
	}
	#step .download {
		padding:25px 6% 25px 140px;
	}
	#step .download .logo_insta {
		margin:auto 0;
		position:absolute;
		top:0;
		bottom:0;
		left:35px;
	}
}

/*----------------------------------------------------------
	Display：769px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:769px) {
	#step .inner{
		padding-top:60px;
		padding-bottom:60px;
	}
	#step .stepList {
		padding:40px 0;
	}
	#step .download {
		padding:30px 6% 30px 180px;
	}
	#step .download .logo_insta {
		left:60px;
	}
}

/*----------------------------------------------------------
	Display：1000px →（ pc ）
----------------------------------------------------------*/

@media print, screen and (min-width:1000px) {
	#step .stepList {
		padding:40px 0 40px 6%;
	}
}



/*-----------------------------------------------------------------

	step
	
-----------------------------------------------------------------*/

#rule {
	font-size:1.6rem;
	color:#fff;
	background:#2c2c2c;
}
#rule .heading {
	background:#000;
}
#rule .ruleList {
	padding:0;
}
#rule .ruleList > li {
	margin-top:1em;
	padding:0;
	text-indent:0;
}
#rule .ruleList > li .midashi {
	color:#ffcc00;
}
#rule .inlist > li {
	padding-left:1em;
	text-indent:-1em;
}