@charset 'utf-8';

footer{
	padding-bottom: 95px !important;
}
#contents{
	padding: 0 0 20px;
	#visual{
		z-index: 1;
		position: relative;
		width: 100%;
		background: #000;
		line-height: 0;
		margin: 0 auto 60px;
		padding: 0 0 10px;
		&::before{
			content: '';
			border-left: 470px solid transparent;
			border-bottom: 80px solid #1b1464; 
			height: 0;
			width: 0;
			position: absolute;
			bottom: 0;
			right: 0;
		}
		p.logo{
			position: absolute;
			top: 30px;
			left: 30px;
			line-height: 0;
			margin: 0 auto;
		}
		p.img{
			position: absolute;
			bottom: 0;
			left: 0;
			line-height: 0;
			margin: 0 auto;
		}
		h1{
			font-size: 6.8rem;
			line-height: 160%;
			text-align: right;
			font-weight: bolder;
			color: #fff;
			margin: 0 auto;
			padding: 80px 0 40px;
			border: none;
		}
		p.cp{
			font-size: 3rem;
			line-height: 140%;
			text-align: right;
			color: #fff;
			margin: 0 auto;
			padding: 0;
			border: none;
		}
	}
	ul.images{
		display: block;
		letter-spacing: -0.4em;
		text-align: center;
		line-height: 0;
		li{
			display: inline-block;
			letter-spacing: normal;
			vertical-align: top;
			margin: 0 60px 0 0;
			&:last-child{
				margin-right: 0;
			}
		}
	}
	.concept{
		margin: 0 auto 80px;
		p.t{
			font-size: 2.8rem;
			line-height: 160%;
			margin: 0 auto 10px;
			text-align: left;
			padding: 0 0 0 40px;
			position: relative;
			z-index: 2;
		}
		p.img{
			position: absolute;
			top: 0;
			right: 40px;
			z-index: 1;
		}
		ul.images{
			padding: 160px 0 80px;
		}
		p.t2{
			font-size: 2rem;
			line-height: 160%;
			margin: 0 auto 1em;
			text-align: left;
			padding: 0 0 0 40px;
			position: relative;
			z-index: 2;
			&:last-child{
				margin-bottom: 0;
			}
		}
	}
	
	.color{
		margin: 0 auto 70px;
		line-height: 0;
		padding: 0;
		h2{
			text-align: center;
			font-size: 4rem;
			line-height: 160%;
			color: #0071bc;
			font-weight: bolder;
			margin: 0 auto 20px;
		}
		p.img{
			line-height: 0;
			margin: 0 auto;
			text-align: center;
			padding: 0;
		}
	}
	.recommend{
		position: relative;
		overflow: hidden;
		margin: 0 auto;
		padding: 0 0 60px;
		&::before{
			content: '';
			width: 100%;
			height: 100%;
			position: absolute;
			top: 50px;
			left: 0;
			z-index: -1;
			background: rgba(0, 0, 0, 0.247);
		}
		h2{
			text-align: center;
			line-height: 0;
			margin: 0 auto;
			padding: 0;
		}
		p.colr{
			text-align: center;
			line-height: 0;
			margin: 0 auto;
			padding: 0;
		}
		p.img{
			position: absolute;
			bottom: -50px;
			right: 0;
		}
	}
	.price{
		background: #efefef;
		padding: 60px 0;
		margin: 0 auto 120px;
		line-height: 0;
		h2{
			font-size: 3.7rem;
			line-height: 160%;
			color: #1b1464;
			margin: 0 auto 20px;
			padding: 0;
			border: none;
			text-align: center;
		}
		p.img{
			line-height: 0;
			text-align: center;
			margin: 0 auto;
			padding: 0;
		}
	}
	.texts{
		margin: 0 auto 50px;
		padding: 0;
		ul.images{
			margin: 0 auto 50px;
		}
		p{
			font-size: 2.1rem;
			line-height: 160%;
			padding: 0 40px;
			margin: 0 auto;
		}
	}
	.period{
		padding: 40px 0 50px;
		position: relative;
		margin: 0 auto 60px;
		&::before{
			content: '';
			width: 70%;
			height: 100%;
			background: linear-gradient(to right,  rgba(0,0,0,1) 0%,rgba(0,0,0,1) 77%,rgba(0,0,0,0) 100%);
			position: absolute;
			top: 0;
			left: 0;
		}
		h2{
			font-size: 2.7rem;
			color: #fff;
			line-height: 140%;
			margin: 0 auto 20px;
		}
		p.t{
			font-size: 2.6rem;
			color: #fff;
			line-height: 140%;
			margin: 0 auto 20px;
		}
		p.t2{
			font-size: 2.6rem;
			color: #fff;
			line-height: 140%;
			margin: 0 auto;
		}
		p.img{
			line-height: 0;
			position: absolute;
			bottom: 0px;
			right: 0;
		}
	}
	p.btn{
		line-height: 0;
		margin: 0 auto;
		text-align: center;
		a{
			display: inline-block;
			line-height: 0;
			background: #000;
			color: #fff;
			transition: 0.3s ease-in-out;
			text-decoration: none;
			&:hover{
				opacity: 0.7;
				text-decoration: none;
			}
			span{
				display: block;
				line-height: 120%;
				padding: 10px 20px;
			}
		}
	}
	.column{
		display: block;
		letter-spacing: -0.4em;
		text-align: left;
		line-height: 0;
		margin: 0 auto 80px;
		p.img{
			display: inline-block;
			letter-spacing: normal;
			vertical-align: middle;
		}
		.text{
			display: inline-block;
			letter-spacing: normal;
			vertical-align: middle;
			margin: 0 0 0 40px;
			max-width: 450px;
			p{
				font-size: 2rem;
				line-height: 220%;
				margin: 0 auto 20px;
				&.btn{
					a{
						display: block;
					}
				}
			}
		}
	}
	.blog-youtube{
		padding: 0;
		margin: 0 auto 80px;
		display: grid;
		grid-template-columns: 440px 440px;
		gap: 40px;
		place-content: center;
		place-items: center;
		&.v2{
			grid-template-columns: 565px 440px;
		}
		.item{
			width: auto;
			margin: 0;
			h3{
				font-size: 1.8rem;
				line-height: 120%;
				font-weight: bold;
				padding: 0;
				margin: 0 auto 10px;
			}
			a{
				display: block;
				text-decoration: none;
				line-height: 0;
				background-color: #000;
				color: #fff;
				position: relative;
				transform: translateY(20px);
				transition: .4s;
				&:hover{
					text-decoration: none;
					transform: translateY(0);
					opacity: .7;
				}
				figure{
					width: 100%;
					height: auto;
					aspect-ratio: 2 / 1;
					overflow: hidden;
					margin: 0;
					img{
						width: 100%;
						height: calc(100% + 20px);
						object-fit: cover;
						transition: .4s;
						position: relative;
						transform: translateY(-20px);
					}
				}
				.text{
					padding: 10px 20px 15px;
					transition: .4s;
					p{
						color: #fff;
						font-size: 1.4rem;
						.day {
							opacity: .7;
						}
						.category {
							margin-left: 10px;
							color: #f60;
						}
						&.title{
							font-size: 1.8rem;
							padding-top: 15px;
							line-height: 1.6;
							font-weight: bold;
							overflow: hidden;
							display: -webkit-box;
							-webkit-box-orient: vertical;
							-webkit-line-clamp: 2;
							border-top: 1px solid #ccc;
							background: none;
							text-align: left;
							margin: 0 auto;
						}
					}
				}
			}
		}
	}
}

@media screen and (min-width:768px){

}

@media screen and (max-width:767px){
	#contents{
		#visual{
			p.logo{
				img{width: auto;height: 14px;}
			}
			h1{
				font-size: 2.4rem;
				padding: 50px 0 70px;
			}
			p.cp{
				font-size: 1.8rem;
			}
			p.img{
				bottom: 30px;
			}
		}
		.column{
			p.img{
				display: block;
				margin: 0 auto 10px;
			}
			.text{
				display: block;
				max-width: 100%;
				margin: 0 auto;
				p{
					font-size: 1.4rem;
				}
			}
		}
		.concept{
			margin: 0 auto 40px;
			p.t,
			p.t2{
				font-size: 1.6rem;
				padding: 0;
			}
			p.img{
				position: static;
			}
			ul.images{
				padding: 0;
				margin: 0 auto 20px;
				li{
					width: 48%;
					margin: 0 4% 0 0;
					&:last-child{
						margin-right: 0;
					}
				}
			}
		}
		.color{
			h2{
				font-size: 2rem;
			}
		}
		.recommend{
			padding-bottom: 20px;
			p.colr{
				margin: 0 auto 20px;
			}
			p.img{
				position: static;
			}
		}
		.price{
			padding: 20px 0;
			margin-bottom: 40px;
			h2{
				font-size: 3rem;
			}
		}
		.texts{
			ul.images{
				margin: 0 auto 20px;
				li{
					width: 48%;
					margin: 0 4% 0 0;
					&:last-child{
						margin-right: 0;
					}
				}
			}
			p{
				font-size: 1.6rem;
				padding: 0;
			}
		}
		.period{
			background: #000;
			padding: 30px 0 10px;
			margin-bottom: 20px;
			&:before{
				content: none;
			}
			h2{
				font-size: 2.2rem;
			}
			p.t{
				font-size: 1.6rem;
			}
			p.t2{
				font-size: 1.6rem;
			}
			p.img{
				position: static;
			}
		}
		.blog-youtube{
			grid-template-columns: 100%;
			gap: 10px;
			&.v2{
				grid-template-columns: 100%;
			}
		}
	}
}
