@charset "utf-8";



.g-body{
	font-family: 'Lato', 'Noto Sans JP', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

.sitewidth{
	max-width: 1260px;
	min-width: 320px;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2.5%;
	padding-right: 2.5%;
	box-sizing: border-box;
}
@media (min-width: 769px){
	
}
@media (max-width: 768px){
	
}



/*--------------------------------------------------

 * hero

--------------------------------------------------*/
.hero{
	position: relative;
	z-index: 0;
	
	color: #fff;
	background-color: #000;
	
	
	box-sizing: border-box;
	height: 90vh;
	
	/*outline: 1px solid transparent;*/ /* fix for ios */
	
	
	
}
.hero:before{
	content: "";
	
	display: block;
	
	position: absolute;
	z-index: 0;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
	background-color: rgba(0,0,0, .3);
}
.hero__bg{
	display: block;
	
	position: absolute;
	z-index: -2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.hero__inner{
	box-sizing: border-box;
	height: 100%;
	
	position: relative;
	z-index: 1;
}
.hero__logo{
	line-height: 1;
	font-size: 1em;
	font-weight: normal;
	text-align: center;
	
	margin: 0;
}
.logo-slide{
	margin: 0;
	padding: 0;
	list-style: none;
}
.logo-slide__data{
	
}
.hero-logo__catch1{
	font-size: 1.82em;
	font-weight: normal;
	
	margin-top: .5em;
}
.hero-logo__catch2{
	font-size: 1em;
	margin-top: .5em;
}

@media (min-width: 769px){
	.hero__logo{
		display: table;
	}
	.hero__inner{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-end;
		
		padding: 3.75em;
		padding-bottom: 17.5em;
	}
	.logo-slide{
		width: 23.66em;
	}
	.logo-slide__data{
		width: 23.66em;
	}
}
@media (max-width: 768px){
	.hero__inner{
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		
		padding: 1.875em;
	}
	.logo-slide{
		width: 80vw;
	}
	.logo-slide__data{
		width: 100%;
	}
}







/* sns */
.sns{
	margin: 0;
	padding: 0;
	list-style: none;
	position: absolute;
}
.sns__item{
	margin-bottom: .75em;
}
.sns__site{}
.sns__icon{
	width: 2em;
}

@media (min-width: 769px){
	.sns{
		top: 90px;
		right: 1.25em;
	}
}
@media (max-width: 768px){
	.sns{
		top: 70px;
		right: 1.5em;
	}
}









.pickup{
	/*color: #fff;
	background-color: #999;*/
}
.pickup__inner{}
.pickup__image{
	width: 100%;
}
.pickup-header{}
.pickup-header__number{
	line-height: 1;
	font-size: 2.25em;
	font-weight: bold;
	
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	padding: .5em;
	background-color: #999;
}
.pickup-header__number:before{
	content: "ISM";
	font-size: .75em;
}
.pickup-header__title{
	line-height: 1.33;
	font-size: 1.3em;
	
	margin: 0;
}
.pickup-body{
	margin-top: 1.5em;
	margin-bottom: 3em;
}
.pickup__note{}
.pickup__more{
	font-size: 1.3em;
	font-weight: bold;
	text-align: center;
	text-decoration: inherit;
	
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	
	color: #fff;
	background-color: #28323C;
	
	padding: 1em;
}
.pickup__more:after{
	content: "";
	
	display: block;
	width: 1em;
	height: 1em;

	margin-left: 1em;
	
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/base/arrow--right.png);
}

@media (min-width: 769px){
	.pickup-header{
		margin-top: 1.5em;
		margin-left: -1em;
		position: relative;
		
		display: flex;
		align-items: center;
	}
	.pickup-header__number{
		flex: 0 0 auto;
	}
	.pickup-header__title{
		flex: 1 1 auto;
	}
	.pickup-body{
		margin-left: 5em;
		margin-right: 2.5em;
	}
	.pickup__more{
		margin-left: 60%;
	}
}
@media (max-width: 768px){
	.pickup{
		border-bottom: 3em solid #28323c;
	}
	.pickup-header__number{
		position: absolute;
		top: 2.5rem;
		right: 0;
	}
	.pickup-header__title{
		
	}
	.pickup-body{
		
	}
	.pickup__more{
		margin-left: 40%;
		margin-right: -1.125em;
		padding-bottom: 0;
	}
}




.pickup-list{
	margin: 0;
	padding: 0;
	list-style: none;
}
.pickup-list__item{}
.pickup-list__item:not(.js-random--active){
	display: none;
}




.pickup-grid__image{
	margin-top: -1.5em;
}

@media (min-width: 769px){
	.pickup-grid{
		display: flex;
	}
	.pickup-grid__image{
		flex: 0 0 40%;
		
		position: relative;
		margin-left: 1.5em;
	}
	.pickup-grid__body{
		flex: 1 1 auto;
		padding-bottom: 2em;
	}
	.pickup__image{
		box-sizing: border-box;
		
		height: 100%;
		object-fit: cover;
		font-family: "object-fit: cover;";
	}
}
@media (max-width: 768px){
	.pickup-grid{
		position: relative;
		z-index: 0;
		margin-left: 1.5em;
		margin-right: 1.5em;
	}
	.pickup-grid__image{
		margin-right: 1.5em;
		margin-bottom: 1.5em;
	}
	.pickup-grid__body{}
}






.filter{
	padding-top: 3.5em;
	padding-bottom: 3.5em;
	background-color: #f1f1f1;
}
.filter__inner{}
.filter__title{
	line-height: 1.33;
	font-size: 1.25em;
	font-weight: bold;
	
	margin: 0;
	margin-right: 1em;
	margin-bottom: 1em;
}
.filter__items{
	margin: 0;
	padding: 0;
	list-style: none;
}
.filter__item{
	font-weight: bold;
	
	box-sizing: border-box;
	border: 1px solid;
	border-radius: .375em;
	
	margin-right: 1em;
	margin-bottom: 1em;
	padding: .25em 1.25em;
}
.filter__more{
	color: inherit;
	text-decoration: none;
}

@media (min-width: 769px){
	.filter__inner{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}
	.filter__items{
		display: contents;
	}
}
@media (max-width: 768px){
	.filter__title{
		display: table;
		position: relative;
		
		margin-bottom: 1.75em;
	}
	.filter__title:after{
		content: "";
		display: block;
		border-bottom: 2px solid;
		
		margin-top: .5em;
	}
	.filter__title:before{
		content: "";
		display: block;
		
		width: .75em;
		height: .75em;
		
		border-style: solid;
		border-width: 0 2px 2px 0;
		
		position: absolute;
		z-index: 0;
		left: 2em;
		bottom: -.375em;
		
		background-color: #f1f1f1;
		
		transform: rotate(45deg);
	}
	.filter__items{
		display: flex;
		flex-wrap: wrap;
	}
}
@media all and (-ms-high-contrast:none){
	.filter__inner{
		display: block;
	}
	.filter__title{
		display: table;
		position: relative;
		
		margin-bottom: 1.75em;
	}
	.filter__title:after{
		content: "";
		display: block;
		border-bottom: 2px solid;
		
		margin-top: .5em;
	}
	.filter__title:before{
		content: "";
		display: block;
		
		width: .75em;
		height: .75em;
		
		border-style: solid;
		border-width: 0 2px 2px 0;
		
		position: absolute;
		z-index: 0;
		left: 2em;
		bottom: -.375em;
		
		background-color: #f1f1f1;
		
		transform: rotate(45deg);
	}
	.filter__items{
		display: flex;
		flex-wrap: wrap;
	}
}









.contents{
	background-color: #e74c3c;
	animation: bg-color 30s infinite;
	-webkit-animation: bg-color 30s infinite;
}

@-webkit-keyframes bg-color {
  0% { background-color: #e74c3c; }
  20% { background-color: #f1c40f; }
  40% { background-color: #1abc9c; }
  60% { background-color: #3498db; }
  80% { background-color: #9b59b6; }
  100% { background-color: #e74c3c; }
}
@keyframes bg-color {
  0% { background-color: #e74c3c; }
  20% { background-color: #f1c40f; }
  40% { background-color: #1abc9c; }
  60% { background-color: #3498db; }
  80% { background-color: #9b59b6; }
  100% { background-color: #e74c3c; }
}
.contents__inner{}
.contents__items{
	margin: 0;
	padding: 0;
	list-style: none;
	
	display: flex;
	flex-wrap: wrap;
}
.contents__item{
	box-sizing: border-box;
	color: #fff;
}
.contents__permalink{
	display: grid;
	grid-template-rows: 1fr auto;
	
	text-decoration: inherit;
	
	color: inherit;
	/*background-color: red;*/
	
	padding: 1.25em;
}
.contents__image{
	margin-left: 2.5em;
	
	grid-row: 1 / 3;
	grid-column: 1;
	z-index: 0;
	
	overflow: hidden;
}
.contents__photo{
	width: 100%;
	
	transition: transform 360ms cubic-bezier(.22,.61,.36,1);
}
.contents__permalink:hover .contents__photo{
	transform: scale(1.25);
}
.contents__number{
	z-index: 1;
	grid-row: 1;
	grid-column: 1;
	align-self: end;
	justify-self: start;
	
	line-height: 1;
	font-size: 2em;
	font-weight: bold;
	text-align: center;
	
	padding-top: 1em;
	padding-right: 1em;
	
	background-color: #999;
}
.contents__number:before{
	content: "ISM";
	display: block;
	
	font-size: .65em;
}
.contents__title{
	z-index: 1;
	grid-row: 2;
	grid-column: 1;
	
	line-height: 1.33;
	font-size: 1em;
	font-weight: normal;
	
	margin: 0;
	margin-right: 2.5em;
	
	padding-top: 1em;
	padding-right: 1em;
	background-color: #999;
}
.contents__more{
	cursor: pointer;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	
	box-sizing: border-box;
	height: 100%;
	
	color: inherit;
	background-color: #000;
}
.contents__more:after{
	content: "";
	
	width: 1em;
	height: 1em;
	line-height: 1;
	
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	background-image: url(../img/base/arrow--down.png);
}

@media (min-width: 769px){
	.contents__item{
		flex: 0 0 33.33%;
	}
}
@media all and (-ms-high-contrast:none) and (min-width: 769px){
	.contents__permalink{
		display: -ms-grid;
		-ms-grid-rows: 1fr auto;
	}
	.contents__image{
		-ms-grid-row: 1;
		-ms-grid-row-span: 2;
		-ms-grid-column: 1;
		
		position: relative;
		z-index: -1;
	}
	.contents__number{
		-ms-grid-row: 1;
		-ms-grid-column: 1;
		-ms-grid-row-align: end;
		-ms-grid-column-align: start;
	}
	.contents__title{
		-ms-grid-row: 2;
		-ms-grid-column: 1;
	}
}
@media (max-width: 768px){
	.contents__item{
		flex: 0 0 50%;
	}
	.contents__number{
		padding-top: .5em;
		padding-right: .5em;
	}
	.contents__title{
		margin-bottom: -.625em;
	}
}

/* 状態 */
#contents--more{
	display: none;
}
#contents--more:not(:checked) ~ .contents__inner .contents__item:nth-child(n + 7){
	display: none;
}
#contents--more:checked ~ .contents__inner .contents__item--more{
	display: none;
}











.usage{
	padding-top: 3.5em;
	padding-bottom: 3.5em;
	background-color: #f1f1f1;
}
.usage__inner{}
.usage__items{
	margin: 0;
	padding: 0;
	list-style: none;
}
.usage__item{}
.usage__more{
	color: inherit;
	text-decoration: inherit;
}
.usage__image{
	overflow: hidden;
}
.usage__banner{
	width: 100%;
	transition: transform 360ms cubic-bezier(.22,.61,.36,1);
}
.usage__more:hover .usage__banner{
	transform: scale(1.25);
}
.usage__title{
	font-size: 1em;
	font-weight: bold;
	
	margin: 0;
	margin-bottom: .5em;
}

@media (min-width: 769px){
	.usage__items{
		display: flex;
		flex-wrap: wrap;
		margin-left: -6%;
		margin-bottom: -6%;
	}
	.usage__item{
		box-sizing: border-box;
		flex: 0 0 44%;
		margin-left: 6%;
		margin-bottom: 6%;
	}
}
@media (max-width: 768px){
	.usage__items{
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	.usage__item + .usage__item{
		margin-top: 2em;
	}
}
