
img{
	max-width: 100%;
}

/* [ 汎用：viewportで表示切り替え ]
-----------------------------*/
.pc_only {
}
.sp_only{
	display: none;
}
@media screen and (max-width: 640px){
.pc_only {
	display: none;
}
.sp_only{
	display: block;
}
.spi_only{
	display: inline-block;
}
}

/* [ 汎用：揃え ]
-----------------------------*/
.align-c{
	text-align: center !important;
}
.align-l{
	text-align: left !important;
}
.align-r{
	text-align: right !important;
}




.mfp-title{
	font-size: 13px;
	font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}
.mfp-image-holder .mfp-content{
	max-width: 90%;
}
.mfp-arrow{
	width: 63px
}
.mfp-arrow-left:after{
	margin-left: 5px;
}
.mfp-arrow-right:before,
.mfp-arrow-left:before{
	border: none;
}


#contents .content-wrap{
	border-top: 1px solid #ccc;
	padding-top: 20px;
}
@media screen and (max-width: 640px){
#contents .content-wrap{
	border-top: none;
	padding-top: 20px;
}
}


/* .photolife-header
-----------------------------*/
.photolife-header{
	border-top: 3px solid #333;
	border-bottom: 1px solid #333;
	margin: 0 auto;

	line-height: 1;
	text-align: center;
}
	.photolife-header img{
		height: 54px;
		vertical-align: bottom;
	}

	.photolife-header::before{
		content: "";
		display: block;
		height: 1px;
		width: 100%;
		background: #333;
		margin-top: 2px;
	}






/* ,inner-wrap
-----------------------------*/
.inner-wrap{
	padding: 30px 0 35px;
	overflow: hidden;
}
@media screen and (max-width: 640px){
.inner-wrap{
	padding: 15px;
}
}

/* ,article
-----------------------------*/
.article{
	width: 100%;/* 700/980 */
	float: left;
	line-height: 1.6;
	font-size: 14px;
}
@media screen and (max-width: 640px){
.article{
	width: 100%;
	float: none;
}
}


/* .article__col2
-----------------------------*/
.article__col2{
	display: table;
	width: 100%;
	margin-bottom: 25px;
}
p + .article__col2{
	margin-top: 25px;
}
.article__subtitle + .article__col2{
	margin-top: 10px;
}
	.article__col2 .text,
	.article__col2 .photo-wrap{
		display: table-cell;
		vertical-align: top;
	}

		.article__col2 .photo-wrap .photo img{
			width: 100%;
			max-width: 100%;
		}
		.article__col2 .photo-wrap .caption{
			font-size: 12px;
			text-align: left;
			margin-top: 5px;
		}


	/* .article__col2--img-r
	-----------------------------*/
	.article__col2--img-r{
	}
	@media screen and (max-width: 640px){
	.article__col2--img-r{
		display: block;
	}
	}
		.article__col2--img-r .text{
		}
		.article__col2--img-r .text span.cap{
			font-weight: bold;
		}
		@media screen and (max-width: 640px){
		.article__col2--img-r .text{
			display: block;
		}
		}

		.article__col2--img-r .photo-wrap{
			padding-left: 20px;/* 30/700 */
		}
		@media screen and (max-width: 640px){
		.article__col2--img-r .photo-wrap{
			padding-left: 0;
			display: block;
			text-align: center;
			margin-top: 15px;
		}
		}
			.article__col2--img-r .photo-wrap .photo{
				width: 170px;
			}
			@media screen and (max-width: 640px){
			.article__col2--img-r .photo-wrap .photo{
				width: 57.2463768115942%;/* 395/690 */
				margin: 0 auto;
			}
			}

	/* .article__col2--img-l
	-----------------------------*/
	.article__col2--img-l{
	}
	@media screen and (max-width: 640px){
	.article__col2--img-l{
		display: block;
	}
	}
		.article__col2--img-l .text{
		}
		@media screen and (max-width: 640px){
		.article__col2--img-l .text{
			display: block;
		}
		}

		.article__col2--img-l .photo-wrap{
			padding-right: 20px;/* 30/700 */
		}
		@media screen and (max-width: 640px){
		.article__col2--img-l .photo-wrap{
			padding-right: 0;
			display: block;
			text-align: center;
			margin-bottom: 15px;
		}
		}
			.article__col2--img-l .photo-wrap .photo{
				width: 240px;
			}
			@media screen and (max-width: 640px){
			.article__col2--img-l .photo-wrap .photo{
				width: 60.8695652173913%;/* 420/690 */
				margin: 0 auto;
			}
			}
			.article__col2--img-l .photo-wrap .caption{
			}



/* .article__grid
-----------------------------*/
.article__grid{
	margin-bottom: 25px;
}
p + .article__grid{
	margin-top: 10px;
}
	.article__grid .wrap{
		overflow: hidden;
	}
		.article__grid .wrap .col img{
			max-width: 80%;
		}
		.article__grid .wrap .col .caption{
			font-size: 12px;
			text-align: center;
			margin-top: 5px;
			margin-bottom :25px;
		}

		.article__grid .wrap .col .caption_center{
			font-size: 12px;
			text-align: center;
			margin-top: 5px;
		}

	@media screen and (max-width: 640px){
	.article__grid .wrap .col{
		width: 100% !important;
		margin-left: 0 !important;
		float: none;
	}
	.article__grid.local .wrap .col:first-child {
		margin-top: -150px;
		position:relative;
	}
	.article__grid.local .wrap .col + .col{
		margin-top: -70px;
	}
	.article__grid.local .wrap .col:last-child {
		margin-top: 70px;
	}
	.article__grid .wrap .col .unique_img{
		margin-bottom:25px;
	}
	.article__grid .wrap .col .last_img {
		margin-bottom:0px;
	}
	.article__grid .wrap .col .notext {
		margin-bottom:30px;
	}
	}


	/* .article__grid--col3
	-----------------------------*/
	.article__grid--col3 .wrap{
		margin-left: -4.571428571428571%;/* 32/700 */
	}
	@media screen and (max-width: 640px){
	.article__grid--col3 .wrap{
		margin-left: 0;
	}
	.article__grid article__grid--col3 .caption{
		margin-bottom: 25px;
	}
	}
		.article__grid--col3 .wrap .col{
			width: 28.96174863387978%;/* 212/732 */
			margin-left: 4.371584699453552%;/* 32/732 */
			float: left;
		}
			@media screen and (max-width: 640px){
			.article__grid--col3 .wrap .col .photo{
				width: 57.2463768115942%;/* 395/690 */
				margin: 0 auto;
			}
			}

	/* .article__grid--col2
	-----------------------------*/
	.article__grid--col2{
	}
		.article__grid--col2 .wrap{
			margin-left: -4.285714285714286%;/* 30/700 */
		}
		@media screen and (max-width: 640px){
		.article__grid--col2 .wrap{
			margin-left: 0;
		}
		}
			.article__grid--col2 .wrap .col{
				width: 45.89041095890411%;/* 335/730 */
				float: left;
				margin-left: 4.10958904109589%;/* 30/730 */
			}
			@media screen and (max-width: 640px){
			.article__grid--col2 .wrap .col{
				width: 100%;
				float: none;
				margin-left: 0;
			}
			}
				@media screen and (max-width: 640px){
				.article__grid--col2 .wrap .col .photo{
					width: 57.2463768115942%;/* 395/690 */
					margin: 0 auto;
				}
				}


	/* .article__grid--col3
	-----------------------------*/
	.article__grid--col3 {

	}
	.article__grid--col3 .wrap {
		/* flex */
		display:flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: stretch;
	}

	@media screen and (max-width: 640px){
		.article__grid--col3 .wrap {
			/* flex */
			display: block;
		}
	}

	.article__grid--col3 .wrap .col {
		margin: 0 10px;
	}

	@media screen and (max-width: 640px){
		.article__grid--col3 .wrap .col {
			margin: 0;
		}
	}

	@media screen and (max-width: 640px){
		.article__grid--col3 .wrap .col .photo {
			width: 100%;
		}
	}

	@media screen and (max-width: 640px){
		.article__grid--col3 .wrap .col img {
			width: 100%;
		}
	}











	/* .article__grid--col1_80
	-----------------------------*/
	.article__grid--col1_80{
	}
		.article__grid--col1_80 .wrap{
			margin-left: -4.285714285714286%;/* 30/700 */
		}
		@media screen and (max-width: 640px){
		.article__grid--col1_80 .wrap{
			margin-left: 0;
		}
		}
			.article__grid--col1_80 .wrap .col{
				width: 80%;/* 335/730 */
				margin: 0 auto;
			}
			.article__grid--col1_50 .wrap .col{
				width: 50%;
				margin: 0 auto;
			}
			@media screen and (max-width: 640px){
			.article__grid--col1_80 .wrap .col,
			.article__grid--col1_50 .wrap .col{
				width: 100%;
				float: none;
				margin-left: 0;
			}
			}
				@media screen and (max-width: 640px){
				.article__grid--col1_80 .wrap .col .photo{
					width: 100%;/* 395/690 */
					margin: 0 auto;
				}
				}



	/* .article__grid--col_3Split
	-----------------------------*/
	.article__grid--3Split{
	}
		.article__grid--3Split .wrap{
			margin-left: -4.3%;/* 30/700 */
		}
		@media screen and (max-width: 640px){
		.article__grid--3Split .wrap{
			margin-left: 0;
		}
		}
			.article__grid--3Split .wrap .col{
				width: 29%;/* 335/730 */
				float: left;
				margin-left: 4.3%;/* 30/730 */
			}
			@media screen and (max-width: 640px){
			.article__grid--3Split .wrap .col{
				width: 100%;
				float: none;
				margin-left: 0;
			}
			}
				@media screen and (max-width: 640px){
				.article__grid--3Split .wrap .col .photo{
					width: 57.2463768115942%;/* 395/690 */
					margin: 0 auto;
				}
				}



	/* .article__grid--col_2Split
	-----------------------------*/
	.article__grid--2Split{
	}
		.article__grid--2Split .wrap{
			margin-left: -4.3%;/* 30/700 */
		}
		@media screen and (max-width: 640px){
		.article__grid--2Split .wrap{
			margin-left: 0;
		}
		}
			.article__grid--2Split .wrap .col{
				width: 45%;/* 335/730 */
				float: left;
				margin-left: 5%;/* 30/730 */
			}
			@media screen and (max-width: 640px){
			.article__grid--2Split .wrap .col{
				width: 100%;
				float: none;
				margin-left: 0;
			}
			}
				@media screen and (max-width: 640px){
				.article__grid--2Split .wrap .col .photo{
					width: 100%;/* 395/690 */
					margin: 0 auto;
				}
				}




/* .article__point
-----------------------------*/
.article__point{
	border: 5px solid #f0f0f0;
	box-sizing: border-box;

	padding: 2.551020408163265%;/* 25/980 */
}
	.article__point .title{
		font-size: 20px;
		font-weight: bold;
	}
	.article__point .list{
		padding-top: 5px;
	}
		.article__point .list li{
			margin-left: 1em;
			text-indent: -1em;
		}
		.article__point .list li + li{
			padding-top: 5px;
		}




/* .article__photo
-----------------------------*/
.article__photo{
	margin-top: 15px;
}
.article__photo + .article__photo{
	margin-top: 35px;
}
	.article__photo .photo{
		text-align: center;
	}
		.article__photo .photo img{
			max-width: 100%;
			max-height: 100%;
		}
	.article__photo .caption{
		margin-top: 5px;
		font-size: 12px;
	}
	.article__photo .caption_bottommargin{
		width:335px;
		margin: 5px auto 25px ;
		text-align: left;
		font-size: 12px;
	}
	@media screen and (max-width: 780px){
	.article__photo .caption_bottommargin{
		width: 100%;
		margin: 5px 0 25px 0;
}
}




/* [ 余白系 ]
-----------------------------*/
.article p + p,
.article p + .article__point,
.article p + .article__subtitle,
.article .article__point + .article__subtitle,
.article .article__photo +  p,
.article .article__photo +  .article__subtitle{
	margin-top: 25px;
}

.article__point + p{
	margin-top: 25px;
}

.article .article__subtitle + p{
	margin-top: 0;
}


/* .icon
-----------------------------*/
.icon{
}

.icon--blank::after{
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	vertical-align: middle;

	background: url(/japan/photo-life/common/img/icon-blank.png) no-repeat;
	background-size: 12px auto;

	position: relative;
	top: -2px;
	margin-left: 3px;
}


.article__grid .caption {
    font-size: 12px;
    text-align: left;
    margin-top: 5px;
}

.article__grid .captionC {
	font-size: 12px;
	text-align: center;
	margin-top: 5px;
}

/* .article__grid_2col
-----------------------------*/

p + .article__grid_2col{
	margin-top: 10px;
}
	.article__grid_2col .wrap{
		overflow: hidden;
	}
		.article__grid_2col .wrap .col img{
			max-width: 100%;
		}
		.article__grid_2col .wrap .col .caption{
			font-size: 12px;
			text-align: left;
			margin-top: 5px;
		}

		.article__grid_2col .wrap .col .caption_center{
			font-size: 12px;
			text-align: center;
			margin-top: 5px;
		}

	@media screen and (max-width: 640px){
	.article__grid_2col .wrap .col{
		width: 100% !important;
		margin-left: 0 !important;
		float: none;
	}
	.article__grid_2col.local .wrap .col:first-child {
		margin-top: -150px;
		position:relative;
	}
	.article__grid_2col.local .wrap .col + .col{
		margin-top: -70px;
	}
	.article__grid_2col.local .wrap .col:last-child {
		margin-top: 70px;
	}
	}
	.app {
		margin-bottom: 5px;
	}
	.app li {
		display: inline-block;
	}
	.app li:last-child {
		padding-left: 10px;
	}

	@media screen and (max-width: 640px){
	.app {
		text-align: center;
	}
	.app li:last-child {
		margin-top: 10px;
		padding-left: 0px;
	}
	}



	/* .tbl-style
	-----------------------------*/

	.text-tbl-style {
		/* flex */
		display:flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		width: 100%;
	}

	@media screen and (max-width: 640px){
		.text-tbl-style {
			display: block;
		}
	}

	.text-tbl-style + .text-tbl-style {
		margin-top: 5px;
	}

		@media screen and (max-width: 640px){
			.text-tbl-style + .text-tbl-style {
				margin-top: 20px;
			}
		}



	.text-tbl-style .inner-col li {
		/* flex */
		display:flex;
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
	}

	@media screen and (max-width: 640px){
		.text-tbl-style .inner-col li {
			display: block;
		}
	}

	.text-tbl-style .inner-col li p:last-child {
		margin-left: 40px;
	}

	@media screen and (max-width: 640px){
		.text-tbl-style .inner-col li + li {
			margin-top: 7px;
		}

		.text-tbl-style .inner-col li p {
			line-height: 1.2;
		}

		.text-tbl-style .inner-col li p:last-child {
			margin-left: 0px;
		}
	}



	.text-tbl-style .inner-col li p + p {
		margin-top: 0;
	}

	.article__title{
	font-size: 30px;
	font-weight: bold;
	padding-bottom: 10px;
	margin-bottom: 20px;

	border-bottom: 2px solid #333333;
	line-height: 1.3;
}
@media screen and (max-width: 640px){
.article__title{
	font-size: 20px;
}
