@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap&subset=japanese");

/* index - main
----------------------------------------------------------------------*/

.menu {
	width: 100%;
	overflow: hidden;
	background: #f9f9f9;
}

.menu ul {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: center;
	padding: 40px 0 20px;
}

.menu ul li {
	padding: 0 3%;
	text-align: center;
}

.menu ul li a {
	letter-spacing: 0;
}

.menu ul li a span {
	display: block;
	margin-top: 10px;
	font-size: 12px;
	font-size: 1.2rem;
	text-align: center;
}

.title {
	z-index: 1;
	position: relative;
	height: 320px;
	min-height: 320px;
	background: url("/jp/products/image/main_pc.jpg") no-repeat center/cover;
}

/*.title::before {
	display: block;
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.54);
	content: "";
}*/

.title h1 {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	height: 100%;
	padding-left: 8%;
	color: #fff;
	font-size: 40px;
	font-size: 4rem;
	font-weight: 300;
	line-height: 1.8;
}

.feature {
	margin-bottom: 120px;
	overflow: hidden;
}

.feature_title {
	margin-bottom: 0;
	text-align: center;
}

.feature_big {
	margin-bottom: 200px;
}

.feature_big_col {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	z-index: 1;
	position: relative;
	padding-top: 120px;
}

.feature_big_col:not(:last-child) {
	margin-bottom: 120px;
}

.feature_big_col::before {
	display: block;
	z-index: -1;
	position: absolute;
	top: 0;
	width: 100vw;
	height: 100%;
	background: #f3f3f3;
	content: "";
}

.feature_big_col[data-col="reverse"] {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.feature_big_col_exp {
	-webkit-align-self: center;
	-ms-flex-item-align: center;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	align-self: center;
	padding: 0 60px 0 110px;
	letter-spacing: .016em;
}

[data-col="reverse"] .feature_big_col_exp {
	padding: 0 110px 0 60px;
}

.feature_big_col_exp_title {
	margin-bottom: 15px;
	font-size: 24px;
	font-size: 2.4rem;
}

.feature_big_col_exp p {
	line-height: 2;
}

.feature_big_col_exp_model {
	margin-bottom: 25px;
	font-size: 16px;
	font-size: 1.6rem;
}

.feature_big_col_exp_model::before {
	display: block;
	width: 32px;
	height: 1px;
	margin: 65px 0 40px;
	background: #000;
	content: "";
}

.feature_big_col_exp p {
	color: #1a1a1a;
}

.feature_big_col_exp_link {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	justify-content: space-between;
}

.feature_big_col_exp_link a {
	width: 48%;
	font-size: 12px;	font-size: 1.2rem;
	display: flex;
	align-items: center;
	line-height: 1.8;
}

.feature_big_col_image {
	max-width: 50%;
	width: 100%;
}

.feature_list {
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 -2.8%;
}

.feature_list_item {
	width: 27.6%;
	margin: 3.5% 2.8%;
}

.feature_list_item_title {
	margin-bottom: 15px;
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: left;
}

.feature_list_item_text {
	font-size: 12px;
	font-size: 1.2rem;
	letter-spacing: .016em;
}

.feature_list_item figure {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	margin-bottom: 20px;
}

.feature_list_item figure img {
	width: 100%;
}

.lineup {
	margin-bottom: 80px;
	overflow: hidden;
}

.lineup_head {
	z-index: 1;
	position: relative;
	margin-bottom: 110px;
	overflow: hidden;
	background: #fcfcfc;
}

.lineup_head_bg {
	width: 100%;
}

.lineup_head_bg img {
	width: 100%;
}

.lineup_head_inner {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	max-width: calc((30px * 2) + 1280px);
	height: 100%;
	margin: 0 auto;
	padding: 0 20px;
}

.lineup_head_title {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	height: 100%;
	margin-bottom: 0;
}

.lineup_col {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	justify-content: space-between;
	width: 100%;
	max-width: calc((30px * 2) + 1280px);
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}

.lineup_col[data-col="reverse"] {
	-webkit-box-orient: horizontal;
	-webkit-box-direction: reverse;
	-webkit-flex-direction: row-reverse;
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

.lineup_col_item {
	position: relative;
	width: 50%;
	max-width: 520px;
	padding: 240px 0 100px 0;
}

.lineup_col_item::before {
	display: block;
	z-index: -1;
	position: absolute;
	bottom: 0;
	left: -100%;
	width: 100vw;
	height: 84%;
	background: #fdfdfd;
	content: "";
}

.lineup_col_item h3 {
	font-size: 24px;
	font-size: 2.4rem;
}

.lineup_col_item_type {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	align-items: flex-end;
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.lineup_col_item_type::after {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 32px;
	height: 1px;
	background: #000;
	content: "";
}

.lineup_col_item_type_logo {
	min-width: 80px;
	margin-right: 20px;
}

.lineup_col_item_type_device {
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	-webkit-box-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	flex: 1;
	align-items: flex-end;
}

.lineup_col_item_type_device li {
	margin-right: 8px;
}

.lineup_col_item_type_device li span {
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	align-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 10px;
	background: #eee;
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-size: 10px;
	font-size: 1rem;
	font-weight: bold;
	font-weight: bold;
	line-height: 1;
	text-align: center;
}

.lineup_col_item p {
	letter-spacing: .016em;
}

.lineup_col_item_model {
	margin-top: 25px;
	color: #1a1a1a;
}

.lineup_col_item_model dt {
	float: left;
}

.lineup_col_item_model dd {
	padding-left: 55px;
}

.lineup_col_item_model dd::before {
	margin-right: 5px;
	content: ":";
}

.lineup_col_item_link {
	margin-top: 55px;
}

.lineup_col_item_link .button:not(:last-child) {
	margin-right: 15px;
}

.lineup_col_image {
	z-index: 1;
	position: relative;
	padding-top: 240px;
}

.lineup_col_image::before {
	display: block;
	z-index: -1;
	position: absolute;
	position: absolute;
	top: 0;
	left: 40%;
	width: 100vw;
	height: 100%;
	background: #f3f3f3;
	content: "";
}

[data-col="reverse"] .lineup_col_image::before {
	right: 40%;
	left: auto;
}

.lineup_col_image img {
	margin-left: -20px;
}

.lineup .container {
	margin-top: 80px;
}

.gallery_wrap {

}

.gallery {
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
	 max-width: 1536px;
	 margin: 0 auto 170px;
}

.gallery > figure {
	width: 48%;
}

.gallery > figure > img {
	width: 100%;
}

.magnifier-preview {
	width: calc(100% + 40px);
	height: auto;
	overflow: hidden;
	position: absolute;
	top: -10px;
	left: -20px;
	background: #fff;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
	opacity: 0;
	z-index: -1;
	-moz-transition: opacity 0.1s linear;
	transition: opacity 0.1s linear;
}

.magnifier-preview img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: none;
	height: auto !important;
}

.opaque {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100)
}

.magnifier-lens {
	position: absolute;
	border: none;
	z-index: 1000;
	top: 0;
	left: 0;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 0 8px rgba(0, 0, 0, 0.2);
	height: auto !important;
}

.magnifier-preview::before,
.magnifier-lens::before {
	content: "";
	display: block;
	padding-top: 52.03%;
}

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

.menu ul li a {
	-webkit-transition: 200ms;
	transition: 200ms;
}

.menu ul li a:hover {
	opacity: .8;
}

.menu ul li a:hover span {
	text-decoration: underline;
}

.feature_big_col::before {
	right: 50%;
	margin: 0 -440px 0 0;
}

.feature_big_col[data-col="reverse"]::before {
	z-index: -1;
	right: auto;
	left: 50%;
	margin: 0 0 0 -440px;
}

}

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

.lineup_col_item {
	width: 50%;
	padding-top: 120px;
}

.lineup_col_item_type_device li span {
	padding: 0 6px;
}

.lineup_col_image {
	width: 48%;
	padding-top: 120px;
}

.feature_big_col:not([data-col="reverse"]) .feature_big_col_exp {
	padding-left: 0 !important;
}

[data-col="reverse"] .feature_big_col_exp {
	padding-right: 0 !important;
}
}

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

.feature_list {
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	margin: 0;
}

.feature_list_item {
	width: 47%;
	margin: 3.5% 0;
}

}

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

.menu ul {
	-webkit-overflow-scrolling: touch;
	-webkit-box-pack: start;
	-webkit-justify-content: flex-start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	padding: calc(40 / 750 * 100vw) 0 calc(30 / 750 * 100vw);
	overflow: scroll;
}

.menu ul li {
	padding: 0 calc(16 / 750 * 100vw);
	white-space: nowrap;
}

.menu ul li:last-child {
	padding: 0 calc(32 / 750 * 100vw) 0 calc(16 / 750 * 100vw);
}

.menu ul li:first-child {
	padding: 0 calc(16 / 750 * 100vw) 0 calc(32 / 750 * 100vw);
}

.menu ul li a img {
	width: calc(217 / 750 * 100vw);
}

.menu ul li a span {
	margin-top: calc(10 / 750 * 100vw);
	font-size: calc(20 / 750 * 100vw);
}

.title {
	min-height: calc(476 / 750 * 100vw);
	background-image: url("/jp/products/image/main_sp.jpg");
	height: auto;
}

.title h1 {
	-webkit-box-align: start;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
	padding: calc(120 / 750 * 100vw) calc(64 / 750 * 100vw) 0;
	font-size: calc(46 / 750 * 100vw);
}

.feature {
	margin-bottom: calc(180 / 750 * 100vw);
}

.feature_title {
	margin-bottom: calc(80 / 750 * 100vw);
}

.feature_big {
	margin-bottom: calc(120 / 750 * 100vw);
}

.feature_big_col {
	display: block;
	padding-top: calc(150 / 750 * 100vw);
}

.feature_big_col:not(:last-child) {
	margin-bottom: 0;
}

.feature_big_col::before {
	right: calc(-1 * (64 / 750 * 100vw));
	width: calc(504 / 750 * 100vw);
	margin: 0;
}

.feature_big_col_exp {
	padding: 0 0 calc(120 / 750 * 100vw);
}

[data-col="reverse"] .feature_big_col_exp {
	padding: 0 0 calc(120 / 750 * 100vw);
}

.feature_big_col_exp_title {
	margin-bottom: calc(80 / 750 * 100vw);
	font-size: calc(32 / 750 * 100vw);
}

.feature_big_col_exp_model {
	margin-bottom: calc(40 / 750 * 100vw);
	font-size: calc(26 / 750 * 100vw);
}

.feature_big_col_exp_model::before {
	margin: calc(120 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
}

.feature_big_col_exp_link {
	display: block;
}

.feature_big_col_exp_link a {
	width: 100%;
}

.feature_big_col_image {
	margin: 0 calc(-1 * (64 / 750 * 100vw));
	max-width: none;
	width: auto;
}

.feature_list {
	display: block;
}

.feature_list_item {
	width: 100%;
	margin: 0;
}

.feature_list_item:not(:last-child) {
	margin-bottom: calc(80 / 750 * 100vw);
}

.feature_list_item_title {
	margin-bottom: calc(20 / 750 * 100vw);
	font-size: calc(28 / 750 * 100vw);
}

.feature_list_item_text {
	font-size: calc(22 / 750 * 100vw);
}

.feature_list_item figure {
	margin-bottom: calc(25 / 750 * 100vw);
}

.lineup {
	margin-bottom: calc(170 / 750 * 100vw);
}

.lineup_head {
	margin-bottom: 0;
}

.lineup_head_inner {
	padding: 0 calc(64 / 750 * 100vw);
}

.lineup_head_title {
	display: block;
	padding: calc(120 / 750 * 100vw) 0 0;
}

.lineup_col {
	display: block;
	margin: 0;
	padding-right: calc(64 / 750 * 100vw);
	padding-left: calc(64 / 750 * 100vw);
}

.lineup_col_item {
	width: 100%;
	padding: calc(150 / 750 * 100vw) 0 calc(120 / 750 * 100vw);
}

.lineup_col_item::before {
	right: calc(-1 * (64 / 750 * 100vw));
	left: auto;
	width: calc(504 / 750 * 100vw);
	height: 100%;
}

.lineup_col_item h3 {
	font-size: calc(32 / 750 * 100vw);
}

.lineup_col_item_type {
	display: block;
}

.lineup_col_item_type_logo {
	margin-right: 0;
	margin-bottom: calc(20 / 750 * 100vw);
}

.lineup_col_item_model {
	margin-top: calc(25 / 750 * 100vw);
}

.lineup_col_item_link {
	margin-top: calc(50 / 750 * 100vw);
}

.lineup_col_item_link .button {
	width: 100%;
}

.lineup_col_item_link .button:not(:last-child) {
	margin-right: 0;
}

.lineup_col_image {
	width: 100%;
	padding: calc(120 / 750 * 100vw) 0;
}

.lineup_col_image::before {
	left: calc(-1 * (64 / 750 * 100vw));
	width: calc(504 / 750 * 100vw);
}

.gallery_wrap {

}

.gallery {
	display: block;
	margin: 0 auto calc(180 / 750 * 100vw);
}

.gallery > figure {
	width: auto;
}

.gallery > figure:first-child {
	margin-bottom: calc(80 / 750 * 100vw);
}

.magnifier-preview,
.magnifier-lens {
	display: none;
}

}
