/*■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　
		アーカイブ・カテゴリ用
■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■　■ */
/****************************************************************************************************************************
	ｈ1エリア
****************************************************************************************************************************/
main.archive-page article.mainConts .contsHead{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

main.archive-page article.mainConts .h1Area{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  flex: 1;
}

main.archive-page article.mainConts .h1Area h1{
  text-align: left;
  font-size: 25px;
  letter-spacing: 0.15em;
  line-height: 1.5em;
}

main.archive-page article.mainConts .h1Area p{
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  color: #666;
  letter-spacing: 0.12em;
  line-height: 1.7em;
  margin-left:15px;
  text-align: right;
  min-width: 160px;
}

main.archive-page article.mainConts .h1Area p a{
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  color: #666;
  letter-spacing: 0.12em;
  line-height: 1.7em;
}

main.archive-page article.mainConts .contsHead .pagenum{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 150px;
}

main.archive-page article.mainConts .contsHead .pagenum p{
  display: inline-block;
  line-height: 1.7em;
  color: #999;
}

main.archive-page article.mainConts .contsHead .pagenum span{
  display: inline-block;
  line-height: 1.7em;
  padding-left: 5px;
  padding-right: 5px;
  color: #999;
}

@media screen and (max-width: 920px){
  main.archive-page article.mainConts .contsHead{
    display: block;
    position: relative;
  }
  main.archive-page article.mainConts .h1Area{
    display: block;
  }
  main.archive-page article.mainConts .h1Area h1{
    margin-bottom: 5px;
  }
  main.archive-page article.mainConts .h1Area p{
    margin-left: 0px;
    text-align: left;
  }
  main.archive-page article.mainConts .contsHead .pagenum{
    display: inline-block;
    width: auto;
    position: absolute;
    top:auto;
    left:auto;
    right:0;
    bottom:0;
    margin: auto;
  }
}
@media screen and (max-width: 640px){
  main.archive-page article.mainConts .h1Area{
    display: block;
  }
  main.archive-page article.mainConts .h1Area h1{
    font-size: 22px;
    letter-spacing: 0.12em;
    line-height: 1.3em;
  }
  main.archive-page article.mainConts .h1Area p a{
    font-size: 13px;
    line-height: 1.3em;
    letter-spacing: 0.1em;
    margin-left: 0px;
  }
  main.archive-page article.mainConts .contsHead .pagenum{
    font-size: 13px;
  }
}
@media screen and (max-width: 500px){
  /*main.archive-page article.mainConts .contsHead .pagenum{
    font-size: 11px;
  }*/
}




/*-------------------------------------------------------------
カテゴリ表示
-------------------------------------------------------------*/
main.archive-page article.mainConts .headcutBox{
  margin-top: 20px;
}

main.archive-page article.mainConts .headcutBox .headcutBox_in{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #f7f7f7;
  padding: 15px 30px;
  position: relative;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}

main.archive-page article.mainConts .headcutBox .headcutBox_in .target_ar{
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 25px;
  height: 25px;
  position: absolute;
  top:0;
  left: auto;
  right:15px;
  bottom:0;
  margin: auto;
  color: #666;
  border: solid 1px #333;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  overflow: hidden;
  cursor:pointer;
  letter-spacing: 0;
  line-height: 1em;
  font-size: 15px;
}

main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_left{
}

main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_left h2{
  font-size: 15px;
  letter-spacing: 0.12em;
  margin-right: 30px;
  color: #666;
}


main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right{
  flex: 1;
}

main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right ul{
  display: block;
  width: 100%;
  margin: 0;
  padding-top: 0px;
  text-align: left;
  padding-right: 0px;
  position: relative;
  overflow: hidden;
}

main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li{
  display: inline-block;
  width: auto;
  margin: 0px 10px 0px 0;
  text-align: left;
}

main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li a{
  display: inline-block;
  color: #666;
  text-decoration: underline;
  padding: 3px 0px;
}

/* current-cat */
main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li.current-cat a{
  text-decoration: none;
  color: #666;
  font-weight: bold;
}

/* open */
main.archive-page article.mainConts .headcutBox.open .headcutBox_in .cut_right ul{
  padding-right: 0px;
  -webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	-ms-transition: all 0.5s;
	-o-transition: all 0.5s;
	transition: all 0.5s;
}

@media screen and (min-width: 919px){
	main.archive-page article.mainConts .h1Area p a:hover{
		-webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		opacity: 0.5;
	}
  main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li a:hover{
    -webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		opacity: 0.5;
  }
  main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li.current-cat a:hover{
    opacity: 1;
  }
  main.archive-page article.mainConts .headcutBox .headcutBox_in .target_ar:hover{
    -webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
		opacity: 0.5;
  }
}

@media screen and (max-width: 640px){
  main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_left h2{
    font-size: 15px;
    letter-spacing: 0.1em;
    margin-right: 20px;
  }
  main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li a{
    font-size: 13px;
    letter-spacing: 0.1em;
  }
}
@media screen and (max-width: 500px){
  main.archive-page article.mainConts .headcutBox .headcutBox_in{
    padding: 10px 30px 10px 10px;
  }
  main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_left h2{
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-right: 10px;
  }
  main.archive-page article.mainConts .headcutBox .headcutBox_in .cut_right li{
    margin: 0px 5px 0px 0;
  }
}

/*-------------------------------------------------------------
カテゴリ表示(NEW)
-------------------------------------------------------------*/
main.archive-page article.mainConts .headcutNewBox{
  border-bottom: dashed 1px #ddd;
}

main.archive-page article.mainConts .headcutNewBox:nth-child(2){
  border-top: dashed 1px #ddd;
  margin-top: 30px;
}

main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in{
  padding: 15px 0px;
}

main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in .cut_left{
  text-align: left;
}

main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in .cut_left h2{
  font-size: 16px;
  letter-spacing: 0.12em;
  color: #333;
  text-align: left;
  padding-bottom: 10px;
}


main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in .cut_right{
}

main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in .cut_right ul{
  display: block;
  margin: 0;
  padding: 0;
}

main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in .cut_right ul li{
  display: inline-block;
  width: auto;
  margin: 0 5px 0 0;
}

main.archive-page article.mainConts .headcutNewBox .headcutNewBox_in .cut_right ul li a{
  display: inline-block;
  color: #666;
  text-decoration: underline;
  padding: 3px 0px;
}






/****************************************************************************************************************************
  画像リスト
****************************************************************************************************************************/
main.archive-page article.mainConts ul{
  display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
  padding-top: 30px;
  padding-bottom: 50px;
}

main.archive-page article.mainConts li{
  width: 23.5%;
  margin-right: 2%;
  margin-top: 30px;
}

main.archive-page article.mainConts li:nth-child(4n+4){
  margin-right: 0;
}

main.archive-page article.mainConts li:nth-child(1){
	margin-top: 0px;
}
main.archive-page article.mainConts li:nth-child(2){
	margin-top: 0px;
}
main.archive-page article.mainConts li:nth-child(3){
	margin-top: 0px;
}
main.archive-page article.mainConts li:nth-child(4){
	margin-top: 0px;
}

main.archive-page article.mainConts li .li_in{
	width: 100%;
}

main.archive-page article.mainConts li .li_in .imgArea{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 230px;
	position: relative;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	background-color: #fff;
	overflow: hidden;
}

main.archive-page article.mainConts li .li_in .imgArea a{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

main.archive-page article.mainConts li .li_in .imgArea a img{
	display: block;
	width: 100%;
	object-fit: cover;
}

main.archive-page article.mainConts li .li_in .textArea{
	margin-top: 5px;
}

main.archive-page article.mainConts li .li_in .textArea a{
	display: block;
	color: #333;
	font-weight: bold;
	letter-spacing: 0.15em;
}

main.archive-page article.mainConts li .li_in .textArea p{
	display: block;
	width: 100%;
	/*text-overflow: ellipsis;
	overflow: hidden;
	white-space: nowrap;*/
  overflow: hidden;
  display: -webkit-box;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  /* ブラウザがサポートしていない場合のフェールセーフ */
  max-height: 45px;
}

main.archive-page article.mainConts li .li_in .textArea .new_icon{
  display: inline-block;
  background-color: #ff0000;
  color: #fff;
  font-weight: bold;
  padding: 1px 5px;
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.5em;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
}

@media screen and (min-width: 919px){
  main.archive-page article.mainConts li .li_in:hover{
    -webkit-transition: all 0.5s;
		-moz-transition: all 0.5s;
		-ms-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
    opacity: 0.5;
  }
}


@media screen and (max-width: 1220px){
  main.archive-page article.mainConts li{
    width: 32%;
    margin-right: 2%;
  }
  main.archive-page article.mainConts li:nth-child(4n+4){
    margin-right: 2%;
  }
  main.archive-page article.mainConts li:nth-child(3n+3){
    margin-right: 0;
  }
  main.archive-page article.mainConts li:nth-child(4){
  	margin-top: 30px;
  }
}
@media screen and (max-width: 1000px){
  main.archive-page article.mainConts ul{
    padding-bottom: 30px;
  }
}
@media screen and (max-width: 640px){
  main.archive-page article.mainConts li{
    width: 49%;
    margin-right: 2%;
  }
  main.archive-page article.mainConts li:nth-child(4n+4){
    margin-right: 2%;
  }
  main.archive-page article.mainConts li:nth-child(3n+3){
    margin-right: 2%;
  }
  main.archive-page article.mainConts li:nth-child(2n+2){
    margin-right: 0;
  }
  main.archive-page article.mainConts li:nth-child(3){
  	margin-top: 20px;
  }
  main.archive-page article.mainConts li:nth-child(4){
  	margin-top: 20px;
  }
  main.archive-page article.mainConts li .li_in .imgArea{
    height: 220px;
  }
  main.archive-page article.mainConts li .li_in .textArea a{
    font-size: 14px;
    letter-spacing: 0.1em;
  }
  main.archive-page article.mainConts li .li_in .textArea .new_icon{
    font-size: 11px;
    line-height: 1.3em;
  }
}
@media screen and (max-width: 500px){
  main.archive-page article.mainConts ul{
    padding-top: 20px;
  }
  main.archive-page article.mainConts li{
    margin-top: 20px;
  }
  main.archive-page article.mainConts li .li_in .imgArea{
    height: 180px;
  }
}
@media screen and (max-width: 450px){
  main.archive-page article.mainConts li .li_in .imgArea{
    height: 160px;
  }
}
@media screen and (max-width: 400px){
  main.archive-page article.mainConts li .li_in .imgArea{
    height: 130px;
  }
}
@media screen and (max-width: 350px){
  main.archive-page article.mainConts li .li_in .imgArea{
    height: 110px;
  }
}










/****************************************************************************************************************************

****************************************************************************************************************************/
