@charset "utf-8";


/* intro */

#intro {
	position: relative;
/*
	height: -webkit-calc(100vh - 92px);
	height: calc(100vh - 92px);
*/
	height: -webkit-calc(100vh - 120px);
	height: calc(100vh - 120px);
}
.intro__mv {
	position: absolute;
	width: 100%;
/*	height: -webkit-calc(100vh - 92px);
	height: calc(100vh - 92px);	*/
	height: -webkit-calc(100vh - 120px);
	height: calc(100vh - 120px);
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-color: transparent;
	background-image: url('/img/home/mv/mv_190108_l.jpg');
	opacity: 0;
}

.intro__message {
	position: absolute;
	display: inline-block;
	box-sizing: border-box;
	width: 34rem;
	left: calc((100vw - 1024px) / 10);
	bottom: 5vh;
	margin: 0;
	padding: 2rem;
	background: rgba(255, 255, 255, 0);
	text-align: center;
	color: #000;
	opacity: 0;
}
.intro__message__catch {
	margin: 0 0 1rem;
	font-size: 2.2rem;
	line-height: 1.7;
	text-align: center;
}
.intro__message__catch br {
	display: none;
}
.intro__message__text {
	margin: 0;
	font-size: 1.5rem;
	line-height: 1.8;
}
.intro__link {
	display: block;
	box-sizing: border-box;
	width: 20rem;
	margin: 2rem auto 0;
	padding: 1.8rem 0;
    border: 2px solid #000;
    color: #000;
	font-size: 1.5rem;
	font-weight: bold;
	line-height: 1;
	text-align: center;
	text-decoration: none;
}

.loader {
	position: absolute;
	left: 50%;
	top: 50%;
	z-index: 100;
}

.ready .intro__mv {
	opacity: 1;
	transition: all 2s ease;
}
.ready .intro__message {
	opacity: 1;
	transition: all 2s  500ms ease;
}
.ready .loader {
/*	display: none;	*/
	opacity: 0;
	transition: all 0.5s ease;
	z-index: -1;
}

.loader__obj {
	display: block;
	font-size: 10px;
/*	text-indent: -9999em;	*/
	border-top: 0.3em solid rgba(0, 0, 0, 0.2);
	border-right: 0.3em solid rgba(0, 0, 0, 0.2);
	border-bottom: 0.3em solid rgba(0, 0, 0, 0.2);
	border-left: 0.3em solid #ffffff;
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation: load8 1.1s infinite linear;
	animation: load8 1.1s infinite linear;
}
.loader__obj,
.loader__obj:after {
	border-radius: 50%;
	width: 30px;
	height: 30px;
}
@-webkit-keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes load8 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}


/* product */

.product {
	width: 960px;
	margin: 5rem auto 2rem;
	font-size: 0;
}
.product__head {
	margin: 0 0 1.5rem;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.product__item {
	display: inline-block;
	box-sizing: border-box;
	width: 320px;
	padding: 0 10px;
	vertical-align: top;
}
.product__pic {
	display: block;
	width: 100%;
	height: auto;
}
.product__logo {
	display: block;
	display: none;
	width: 200px;
	height: auto;
	margin: 1rem auto 0;
}
.product__name {
/*	display: none;	*/
	margin: 1rem 0 0;
	font-size: 1.4rem;
	font-weight: bold;
	text-align: center;
}
.product__more {
	width: 960px;
	margin: 4rem auto 0;
	font-size: 1.4rem;
	text-align: right;
}
.product__more a {
	text-decoration: none;
}
.product__more a:after {
	margin-left: 0.4rem;
	font-size: 1.3rem;
	content: "\f054";
    font-family: FontAwesome;
    color: #999;
}


.product2 {
	width: 960px;
	margin: 5rem auto 2rem;
	font-size: 0;
}
.product2__item {
	display: inline-block;
	box-sizing: border-box;
	width: 25%;
	padding: 0 5px;
	vertical-align: top;
}
.product2__pic {
	display: block;
	width: 100%;
	height: auto;
}
.product2__name {
	display: none;
	margin: 1.5rem 0 0;
	font-size: 1.4rem;
	text-align: center;
}


/* content */

.content {
	font-size: 0;
}
.content__sub {
	display: inline-block;
	width: 240px;
	vertical-align: top;
}
.content__news {
	display: inline-block;
	box-sizing: border-box;
	width: 740px;
	padding-left: 60px;
	vertical-align: top;
}


/* lineup */

.lineup__nav {
    margin: 5rem 0 0;
	position: relative;
}
.lineup__head {
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}
.lineup__carousel {
	visibility: hidden;
	margin: 2rem auto 0;
	opacity: 0;
}
.lineup__carousel.slick-initialized {
	visibility: visible;
	opacity: 1;
	transition: all 2s ease;
}
.lineup__carousel li {
	padding: 0 5px;
	text-align: center;
}
.lineup__carousel li a {
	color: #444;
	text-decoration: none;
	outline: none;
}
.lineup__pic {
	width: 100%;
	height: auto;
/*	transition: all 300ms ease;	*/
}
.slick-center .lineup__pic {
/*	transform: scale(1.08);	*/
}
.lineup__name {
	display: inline-block;
	margin-top: 1rem;
	font-size: 1.5rem;
	text-align: center;
}

.lineup__nav .slick-prev,
.lineup__nav .slick-next {
	position: absolute;
	top: 50%;
	width: 5rem !important;
	height: 8rem !important;
	margin-top: -4rem !important;
	padding: 0;
	background: rgba(0, 0, 0, 0.8);
	color: transparent;
	border: none;
	font-size: 1px !important;
	line-height: 0 !important;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	cursor: pointer;
	opacity: 1;
	z-index: 2;
	outline: none;
}
.lineup__nav .slick-prev:before,
.lineup__nav .slick-next:before {
	color: #fff;
	font-family: FontAwesome;
	font-size: 1.6rem;
	line-height: 1;
}
.lineup__nav .slick-prev:active,
.lineup__nav .slick-next:active {
	border: none;
}
.lineup__nav .slick-prev:hover,
.lineup__nav .slick-prev:focus,
.lineup__nav .slick-prev {
	left: 0;
}
.lineup__nav .slick-prev:before {
	display: block;
	content: "\f053";
}
.lineup__nav .slick-next:hover,
.lineup__nav .slick-next:focus,
.lineup__nav .slick-next {
	right: 0;
}
.lineup__nav .slick-next:before {
	display: block;
	content: "\f054";
}
.lineup__nav .slick-prev:hover,
.lineup__nav .slick-prev:focus,
.lineup__nav .slick-next:hover,
.lineup__nav .slick-next:focus {
	opacity: 0.75;
}

.lineup__more {
	margin: 4rem auto 8rem;
	text-align: center;
}
.lineup__more a {
	position: relative;
	display: block;
	width: 20rem;
	margin: 0 auto;
	padding: 1.8rem 0;
	border: 2px solid #111;
	color: #111;
	font-size: 1.5rem;
	font-weight: bold;
	text-decoration: none;
}
.lineup__more a:after {
	position: absolute;
	right: 0.5rem;
	margin: 0;
	font-size: 1.4rem;
	font-weight: normal;
	content: "\f054";
	font-family: FontAwesome;
	color: #111;
}


/* features */

.features {
	margin: 5rem auto;
}
.features__head {
	margin: 0 0 2rem;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
}
.features__nav {
	max-width: 900px;
	margin: 0 auto;
	font-size: 0;
}
.features__cat {
	display: inline-block;
	box-sizing: border-box;
	width: 50%;
	margin: 0;
	padding: 1rem;
	vertical-align: top;
}
.features__cat a {
	display: block;
	border: 1px solid #ccc;
	text-decoration: none;
}
.features__cat img {
	display: inline-block;
	width: 25%;
	height: auto;
	margin: 0 auto;
	vertical-align: middle;
}
.features__cat__text {
	display: inline-block;
	box-sizing: border-box;
	width: 75%;
	padding: 0 0 0 2rem;
	text-align: left;
	vertical-align: middle;
}
.features__cat .label {
	margin: 0 auto 0.4em;
	color: #444;
	font-size: 1.6rem;
	line-height: 1.3;
}
.features__cat .catch {
	margin: 0 auto;
	color: #444;
	font-size: 1.4rem;
	line-height: 1.3;
	text-decoration: none;
}


/* banners */

.banner li {
	margin: 0 auto 1rem;
	padding: 0;
	list-style: none;
}
.banner a {
	text-decoration: none;
}
.banner img {
	display: block;
	margin: 0 auto;
	height: auto;
}
.banner .label {
	display: block;
	margin-top: 1rem;
	font-size: 1.3rem;
	line-height: 1.4;
	text-align: center;
}


/* news */

.news {
	margin: 0 auto;
	box-sizing: border-box;
	padding: 1rem;
}
.news a {
	text-decoration: none;
}
.news dt {
	margin: 0 0 0.3rem;
	padding: 0.7rem 0.5rem 0;
	border-top: 1px dotted #ccc;
}
.news dd {
	padding: 0 0.5rem 0.5rem;
}
.news__head {
	margin: 0 0 1.5rem;
	font-size: 1.5rem;
	font-weight: bold;
}
.news__date {
	display: inline-block;
	font-size: 1.3rem;
	line-height: 1;
}
.news__media-type {
	display: inline-block;
	width: 8rem;
	margin-left: 1rem;
	padding: 0.3rem 0;
	background: #888;
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	text-align: center;
}
.news dd {
	font-size: 1.3rem;
	line-height: 1.5;
}
.news__more {
	margin: 2rem 0 0;
	font-size: 1.4rem;
	text-align: right;
}
.news__more a:after {
	margin-left: 0.4rem;
	font-size: 1.3rem;
	content: "\f054";
    font-family: FontAwesome;
    color: #999;
}

.news-topics ul {
	border-top: 1px dotted #ccc;
}
.news-topics ul li {
	display: table;
	width: 100%;
	padding: 1px 0;
	font-size: 0;
	border-bottom: 1px dotted #ccc;
}
.news-topics ul li a {
	display: block;
	color: #444;
}
.news-topics ul li a:hover {
	background: #f9f9f9;
}
.news-topics__date {
	display: table-cell;
	padding: 1rem 0.5rem;
	font-size: 1.3rem;
	line-height: 1.4;
	vertical-align: top;
}
.news-topics__headline {
	display: table-cell;
	padding: 1rem 0.5rem;
	font-size: 1.3rem;
	line-height: 1.4;
	vertical-align: top;
}

.news-media dd:last-child {
	border-bottom: 1px dotted #ccc;
}
.news-media dd a.black {
	color: #444;
}

@media screen and (max-width: 1024px) {

	#intro {
		height: calc(65vh);
	}
	.intro__mv {
		height: calc(65vh);
/*		background-image: url(/img/home/mv/mv_190101_p.jpg);	*/
		background-position: 45% 50%;
	}
	.intro__message {
		width: auto;
		padding: 0rem;
		bottom: 4vh;
		left: 2rem;
		text-align: left;
	}
	.intro__message__catch {
		line-height: 1.6;
		text-align: left;
	}
	.intro__message__catch br {
		display: inline;
	}

	.product {
		width: 100%;
		margin-top: 7rem;
	}
	.product__item {
		width: 33.3%;
	}
	.product__logo {
		width: 70%;
	}

	.product2 {
		width: 100%;
	}

	.product__more {
		width: 96%;
		text-align: center;
	}
	.product__more a {
		position: relative;
		display: block;
		width: 20rem;
		margin: 0 auto;
		padding: 1.8rem 0;
		border: 2px solid #111;
		color: #111;
		font-size: 1.5rem;
		font-weight: bold;
		text-decoration: none;
	}
	.product__more a:after {
		position: absolute;
		right: 0.5rem;
		margin: 0;
		font-size: 1.4rem;
	    color: #111;
	}

	.content {
		margin-top: 3rem;
	}
	.content__sub {
		display: block;
		width: 100%;
	}
	.content__news {
		width: 100%;
		padding: 0;
	}

	.lineup__nav {
	    margin: 7rem 0 0;
	}
	.lineup__nav .slick-prev,
	.lineup__nav .slick-next {
		top: -1rem;
		width: 5rem !important;
		height: 4rem !important;
		background: transparent;
	}
	.lineup__nav .slick-prev:before,
	.lineup__nav .slick-next:before {
		color: #ccc;
	}

	.features {
		margin: 8rem auto 0;
	}
	.features__nav {
		max-width: 90%;
	}
	.features__cat img {
		width: 30%;
	}
	.features__cat__text {
		width: 70%;
		padding: 0 2rem;
	}

	.banner {
		width: 96%;
		margin: 0 auto 3rem;
		font-size: 0;
	}
	.banner li {
		display: inline-block;
		box-sizing: border-box;
		width: 25%;
		margin: 0;
		padding: 0.5rem;
		vertical-align: top;
	}
	.banner li img {
		width: 100%;
	}

	.news {
		width: 90%;
	}

}

@media screen and (max-width: 767px) {

	#intro {
		height: auto;
	}
	.intro__mv {
		position: static;
		min-height: 40rem;
/*		height: -webkit-calc(100vh - 8.6rem);
		height: calc(100vh - 8.6rem);	*/
		height: 130vw;
		background-position: center center;
		background-image: url('/img/home/mv/mv_190108_p.jpg');
	}
	.intro__message {
		width: auto;
		margin: 0 auto;
		color: #000;
		text-align: center;
	}
	.intro__message__catch {
		text-align: center;
	}
	.intro__message__catch br {
		display: none;
	}
	.intro__link {
		position: relative;
		width: 22rem;
	    border: 2px solid #000;
	    color: #000;
	}
/*
	.intro__link:after {
		position: absolute;
		right: 0.5rem;
		font-size: 1.4rem;
		content: "\f054";
	    font-family: FontAwesome;
	    color: #111;
	}
*/

	.loader {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		width: 100%;
		height: -webkit-calc(100vh - 8.6rem);
		height: calc(100vh - 8.6rem);
		top: 0;
		left: 0;
		text-align: center;
	}

	.intro__message__catch {
		margin: 1.5rem 0 1rem;
		font-size: 1.8rem;
	}
	.intro__message {
		position: static;
		display: block;
		width: 90%;
		margin: 0 auto;
	}

	.product__item {
		display: block;
		width: 85%;
		margin: 0 auto 2rem;
	}
/*
	.product__more {
		text-align: center;
	}
	.product__more a {
		position: relative;
		display: block;
		width: 60%;
		margin: 0 auto;
		padding: 1.4rem 0;
		border: 2px solid #111;
		color: #111;
		font-weight: bold;
		text-decoration: none;
	}
	.product__more a:after {
		position: absolute;
		right: 0.5rem;
		margin: 0;
		font-size: 1.4rem;
	    color: #111;
	}
*/

	.product2 {
		width: auto;
		margin: 3rem auto 0;
		box-sizing: border-box;
		padding: 0.1rem;
	}
	.product2__item {
		width: 50%;
		padding: 0.1rem;
	}

	.product__more a {
		width: 70%;
	}

	.content {
		margin-top: 0;
	}

	.features__cat {
		display: block;
		width: 100%;
		padding: 0.5rem;
	}

	.banner {
		width: 98%;
		margin: 3rem auto 3rem;
	}
	.banner li {
		width: 50%;
		padding: 0.3rem;
	}
	.banner .label {
		padding: 0 0.5rem;
		font-size: 1.25rem;
		text-align: left;
	}

	.news {
		width: 100%;
		margin-top: 2rem;
	}
	.news__head {
		text-align: center;
	}
	.news__more {
		margin: 1rem 0 0;
		text-align: center;
	}
	.news__more a {
		display: block;
		width: 60%;
		margin: 0 auto;
		padding: 1.4rem 0;
		border: 0px solid #999;
		text-decoration: none;
	}

}
