@charset "utf-8";

/* ---------------------------------------------------------------- main visual ---- */
#mainvisual {
	width: 100%;
	position: relative;
}

#mainvisual .slick-slide {
	width: 100%;
	height: calc(1000 / 750 * 100vw);
}

#mainvisual li.first {
	background: url("../images/top/main01_sp.jpg") no-repeat 50% 50%;
	background-size: 100%;
	-webkit-background-size: 100%;
	-o-background-size: 100%;
}

#mainvisual li.second {
	background: url("../images/top/main02_sp.jpg") no-repeat 50% 50%;
	background-size: 100%;
	-webkit-background-size: 100%;
	-o-background-size: 100%;
}

#mainvisual li.third {
	background: url("../images/top/main03_sp.jpg") no-repeat 50% 50%;
	background-size: 100%;
	-webkit-background-size: 100%;
	-o-background-size: 100%;
}

#mainvisual .catchcopy {
	position: absolute;
	left: 5%;
	top: 5%;
	z-index: 1;
	opacity: 0;
}

#mainvisual .catchcopy.on {
	opacity: 1;
	animation: catch .4s ease .4s 1 normal both;
	-webkit-animation: catch .4s ease .4s 1 normal both;
}

@keyframes catch {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

#mainvisual h1 {
	font-size: 3rem;
	font-weight: bold;
	line-height: 1.2;
}

#mainvisual h1 .total {
	font-size: 1.6rem;
	display: block;
}

#mainvisual .catchcopy .smad {
	font-weight: 700;
}

@media (min-width: 751px) {
	#mainvisual .slick-slide {
		height: calc(939 / 1920 * 100vw);
		max-height: 80vh;
	}

	#mainvisual li.first {
		background: url("../images/top/main01_pc.jpg") no-repeat 50% 50%;
		background-size: cover;
		-webkit-background-size: cover;
		-o-background-size: cover;
	}

	#mainvisual li.second {
		background: url("../images/top/main02_pc.jpg") no-repeat 50% 50%;
		background-size: cover;
		-webkit-background-size: cover;
		-o-background-size: cover;
	}

	#mainvisual li.third {
		background: url("../images/top/main03_pc.jpg") no-repeat 50% 50%;
		background-size: cover;
		-webkit-background-size: cover;
		-o-background-size: cover;
	}

	#mainvisual .catchcopy {
		top: 50%;
		transform: translateY(-50%);
	}
}

@media (min-width: 961px) {
	#mainvisual h1 {
		font-size: 6.4rem;
		line-height: 1.4;
	}

	#mainvisual h1 .total {
		font-size: 3rem;
	}

	#mainvisual .catchcopy .smad {
		margin-top: 3rem;
	}
}

#top_video_wap video {
	width: 100%;
}


/* ---------------------------------------------------------------- works ---- */
#works {
	position: relative;
	background: #f9f9f9;
}

#works h2 {
	position: absolute;
	z-index: 1;
	top: -40px;
	right: 5%;
	width: 80px;
	height: 80px;
	background: #ffa800;
	-webkit-border-radius: 100%;
	border-radius: 100%;
	color: #FFF;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
}

#works .slick-slide {
	padding: 5px 2.5px;
}

/* ---------------------------------------------------------------- about ---- */
#about {
	position: relative;
}

#about h3 {
	font-weight: 700;
}

#about svg {
	width: calc(400 / 750 * 100vw);
	position: absolute;
	top: 40%;
	right: 5%;
	fill: #fce6cc;
	z-index: -1;
}

@media (min-width: 751px) {
	#about .inner {
		width: 100%;
		max-width: 100%;
	}

	#about .dispflex {
		-webkit-align-items: center;
		align-items: center;
	}

	#about .image {
		position: relative;
		overflow: hidden;
		width: 50%;
		height: 700px;
	}

	#about .image img {
		height: 100%;
		width: auto;
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
	}

	#about .text-area {
		padding: 6rem;
	}

	#about .aligncenter {
		text-align: left;
	}

	#about .text {
		line-height: 2;
	}

	#about .btn {
		width: 260px;
	}

	#about svg {
		width: 370px;
		right: 10%;
		top: 10%;
	}
}

/* ---------------------------------------------------------------- business ---- */
#business {
	background: #f9f9f9;
}

#business img {
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

@media (min-width: 751px) {
	#business .wrap {
		padding: 0 1.5rem;
		margin-bottom: 5rem;
	}

	#business .dispflex:nth-of-type(2) .wrap {
		margin-bottom: 0;
	}
}

@media (min-width: 961px) {
	#business .aligncenter {
		text-align: left;
	}

	#business h2,
	#business .cap {
		display: inline-block;
		vertical-align: top;
	}

	#business .cap {
		margin-left: 3rem;
		margin-top: 3rem;
		margin-bottom: 0;
	}
}

/* ---------------------------------------------------------------- news ---- */
#news {
	background: #f9f9f9;
	padding-bottom: 6rem;
	position: relative;
}

#news li.item {
	background: #FFF;
	padding: 1.5rem;
}

#news li.item .outer {
	padding: 1.5rem;
	position: relative;
}

#news .date {
	position: absolute;
	right: 1.5rem;
	top: 1.5rem;
	color: #999;
}

#news .tag {
	position: absolute;
	left: 1.5rem;
	top: 1.5rem;
	border: 1px solid #ffa800;
	padding: 0.5rem;
	line-height: 1;
}

#news h3 {
	margin-top: 3.5rem;
}

#news img {
	-webkit-border-radius: 10px;
	border-radius: 10px;
}

#news .slick-track {
	display: flex;
}

#news .slick-slide {
	height: auto !important;
}

#news .slick-dots {
	bottom: -3rem;
}

#news .slick-dots li button:before {
	font-size: 4rem;
}

#news .slick-dots li.slick-active button:before {
	color: #FFA800;
}
#news .news-all-btn-area {
	position: relative;
	height: 100px;
    margin-top: 50px;
}
#news .news-all-btn-area .btn{
	position: absolute;
    z-index: 1;
    display: block;
    width: 16em;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
@media (min-width: 751px) {
	#news li {
		border-right: 1px solid #ddd;
	}

}

@media (min-width: 961px) {
	#news .inner {
		width: 100%;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
	}

	#news .title-area {
		width: 300px;
	}

	#news .title-area h2 {
		margin-top: -4rem;
	}

	#news .title-area .aligncenter {
		text-align: left;
	}

	#news .slide-area {
		width: calc(((100vw - 1025px) / 2) + 725px);
		margin-right: calc(((100vw - 1025px) / 2) * -1);
	}

	#news .slick-prev,
	#news .slick-next {
		z-index: 9999;
	}
	#news .news-all-btn-area {
		height: 0px;
		margin-top: 0px;
	}
	#news .news-all-btn-area .btn{
		left: -300px;
		top: -50px;
		transform: translate(0%, 0%);
	}
}

.alignleft-center {
    text-align: center;
}

@media (max-width: 520px) {
	.alignleft-center {
		text-align: left;
	}
	
}

