@charset "utf-8";

/*-----------------------------------------------------------------------------------------------> ▼ general <--*/

/*----------------------------------------------------------------------> ▼ .introduction <--*/

.introduction .background {
	animation: background 10s linear infinite;
}

@keyframes background {
	to {
		transform: scale(1.1);
	}
}

.introduction {
	display: flex;
	flex-wrap: wrap;
	position: relative;
	overflow: hidden;
}

.slide {
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	padding: var(--margin);
	cursor: auto;
}

.slide .wrap_summary {
	display: flex;
	align-items: center;
	position: relative;
	padding: 1em 1.5em;
	border: 5px solid #fff;
	border-radius: var(--border_radius);
	
	background: rgba(0, 0, 0, 0.5);
	background: rgba(255, 255, 255, 1);
	transition: var(--transition);
	z-index: 10;
}

.slide .summary {
	margin-right: 25px;
}

.slide .copy {
	font-family: NotoSerif-B;
}

.slide .name {
	font-family: YakuHan-R, YuGo-R;
}

.slide .go {
	aspect-ratio: 1 / 1;
	background: url(/asset/image/general/cursor_444.png) no-repeat center / 30px, rgba(255, 255, 255, 0);
	border: 1px solid #aaa;
	border-radius: 9999px;
	transform: rotate(90deg);
}

.slide .background {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

@media (1281px <= width) {
	.introduction {
		height: 70vh;
	}
	
	.slide .copy {
		font-size: 30px;
	}
	
	.slide .name {
		font-size: 30px;
	}
	
	.slide .go {
		width: 100px;
	}
}

@media (width <= 1280px) {
	.introduction {
		height: 75vh;
	}
	
	.slide {
		padding: ;
	}
	
	.slide .copy {
		font-size: 24px;
	}
	
	.slide .name {
		font-size: 24px;
	}
	
	.slide .go {
		width: 80px;
	}
}

@media (width <= 767px) {
	.introduction {
		height: 65vh;	
	}
	
	.slide .wrap_summary {
		width: 100%;
		border-radius: var(--border_radius_light);
	}
	
	.slide .summary {
		margin-right: 0;
	}
	
	.slide .copy {
		font-size: 20px;
	}
	
	.slide .name {
		font-family: YakuHan-R, YuGo-R;
		font-size: 20px;
	}
	
	.slide .go {
		display: none;
	}	
}

@media (width <= 500px) {
}

@media (1024px <= width) and (height <= 768px) {
	.introduction {
		height: calc(100vh - 100px);
	}
}

@media (hover: hover) and (pointer: fine) {
	.slide .go {
		transition: var(--transition);
	}
	
	.slide .wrap_summary:hover {
		border-color: ;
		background: #fff;
	}
	
	.slide .wrap_summary:hover .copy, 
	.slide .wrap_summary:hover .name {
		color: #333;
	}
	
	.slide .wrap_summary:hover .go {
		border-color: #fff;
		background: url(/asset/image/general/cursor_fff.png) no-repeat center / 30px, linear-gradient(#f93, #f69);
	}
}

/*----------------------------------------------------------------------> ▼ #news <--*/

#news {
	background: linear-gradient(#fafafa, #f0f0f0);
}

#news a.button {
	border-radius: var(--border_radius_light);
	box-shadow: 0 0 3px #eee;
}

@media (769px <= width) {
	#news a.button {
		width: calc((100% - 30px) / 3);
		
		height: 75px;
	}
}

@media (width <= 768px) {
	#news a.button {
		width: 100%;
		height: calc(var(--margin) * 2);
		margin-top: 15px;
	}
}

@media (hover: hover) and (pointer: fine) {
	a.button:hover {
		background: var(--theme);
		color: #fff;
	}
}

/*----------------------------------------------------------------------> ▼ .plans <--*/

@media (768px <= width <= 1024px) {
	.plans a:nth-child(n + 3) {
		display: none;
	}
}

/*----------------------------------------------------------------------> ▼ #domestic <--*/

#domestic {
	background: 
		url(/asset/image/home/kyoto.png) no-repeat left top / 25% auto, 
		url(/asset/image/home/sakura.png) no-repeat right bottom / 20% auto, 
		url(/asset/image/home/domestic_bg.jpg) no-repeat left top / cover;
}

@media (width <= 1023px) {
	#domestic {
		background: 
			url(/asset/image/home/kyoto.png) no-repeat 0 0 / 25% auto, 
			url(/asset/image/home/sakura.png) no-repeat right bottom / 30% auto, 
			url(/asset/image/home/domestic_bg.jpg) no-repeat left top / cover;
	}
}

/*----------------------------------------------------------------------> ▼ #overseas <--*/

#overseas {
	position: relative;
	background: url(/asset/image/home/overseas_bg.jpg) no-repeat left top / cover;
}

#overseas::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 1) 200px, rgba(255, 255, 255, 0.35));
}

#overseas img,
#overseas .frame {
	position: relative;
}

@media (width <= 1024px) {
	#overseas {
		padding-top: 0;
	}
}
