.ff_ming {
	font-family: "ヒラギノ明朝 ProN W3", HiraMinProN-W3, HG明朝E, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.ttl_bdr_line {
	position: relative;
	display: inline-block;
}
.ttl_bdr_line::before {
	content: "";
	display: block;
	width: calc(100% + 5vw);
	height: 1px;
	position: absolute;
	bottom: -0.3vw;
	left: -5vw;
}
.is-active .ttl_bdr_line::before {
	background-color: #000000;
	animation: border_anim 0.6s linear forwards;
}
@keyframes border_anim {
	0%{
		width: 0%;
	}
	100%{
		width: calc(100% + 5vw);
	}
}

.fv {
	position: relative;
}
.fv_contents {
	background-color: #EDEFEF;
	padding-bottom: 5vw;
	min-height: 84vh;
}
.fv_imgs {
	padding-left:24vw;
	/* max-height: 646px; */
}
.fv_imgs img {
	width: 100%;
	object-fit: cover;
}
.fv_catch_ja {
	font-size: 6.4vw;
	text-align: left;
	margin-top: -16vw !important;
	position: relative;
	z-index: 2;
}
.fv_catch_ja > div {
	display: inline-block;
	width: 52vw;
	padding: 1vw 0 1vw 7vw;
	margin-bottom: 1vw;
	position: relative;
}
.fv_catch_ja_txt span {
	display: inline-block;
	position: relative;
}
.fv_catch_ja .fv_catch_ja_bg {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #EDEFEF;
	position: absolute;
	top: 0;
    left: 0;
}
.fv_catch_en {
	position: absolute;
	left: 7vw;
	top: 3vw;
	width: 1.5vw;
}
.fv_catch_en img {
	width: 100%;
}

.about {
	margin-bottom: 13vw;
}
.about_us {
	height: 37.5vw;
	/* background: url('img/top/world_map.jpg') no-repeat left top; */
	background-size: cover;
	margin-right: 12.5vw;
	padding-left: 9vw;
	padding-top: 5vw;
	position: relative;
}
.about_us h2 {
	font-size: 0.7vw;
	margin-bottom: 2.5vw;
}
.about_us h2 .ttl_txt {
	display: inline-block;
}
.about_us p {
	font-size: 1.2vw;
	line-height: 2.5;
	letter-spacing: 0.3vw;
}
.about_us_txt {
	position: relative;
	z-index: 1;
}
.about_us_img {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
    width: 100%;
}
.about_us_img img {
	width: 100%;
}
.about_work {
	position: relative;
}
.about_work::before {
	position: absolute;
	content: "";
	display: inline-block;
	background: url('img/top/bg_marble_rectangle.jpg') no-repeat left bottom;
	background-size: cover;
	width: 100%;
	height: 100%;
	left: 0;
	bottom: -0.5vw;
	margin-left: 12.5vw;
}
.about_work_lists {
	/* display: flex; */
	background-color: #323232;
	color: #ffffff;
	padding: 3vw 0 3vw 6vw;
	margin-left: 12.5vw;
	position: relative;
}
.about_work_list {
	margin-right: 7vw;
}
.about_work_list dl {
	margin-bottom: 3vw;
}
.about_work_list dl:not(:last-child) {
	margin-bottom: 3vw;
}
.about_work_ttl {
	font-size: 0.9vw;
	border-left: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	padding-left: 0.8vw;
	padding-bottom: 0.5vw;
	margin-bottom: 1vw;
}
.about_work_txt {
	font-size: 1.1vw;
}
.about_more {
	position: absolute;
	bottom: 3vw;
	right: 0;
	z-index: 1;
}
.about_more a {
	display: inline-block;
	font-size: 1vw;
	color: #ffffff;
	padding: 0.5vw 1vw;
	background-color: #323232;
}


.news {
	margin-left: 12.5vw;
	margin-right: 12.5vw;
	margin-bottom: 8vw;
}
.news h3 {
	font-size: 1.2vw;
	margin-bottom: 2vw;
	float: none;
}
.news_post {
	display: flex;
	align-items: flex-start;
	margin-bottom: 4.5vw;
}
.news_post_lists {
	display: flex;
	flex-wrap: wrap;
}
.news_post_list {
	width: 18vw !important;
	margin-right: 1vw;
	margin-bottom: 1.5vw;
}
.news_post_img {
	margin-bottom: 0.3vw;
	overflow:hidden;
}
.news_post_img img {
	width: 100%;
	vertical-align: bottom;
	transition:1s all;
}
.news_post_list a {
	display: block;
}
.news_post_list a:hover .news_post_img img {
	transform:scale(1.2,1.2);
	transition:1s all;
}
.news_post_data {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.4vw;
}
.news_post_date {
	font-size: 0.7vw;
	color: #444446;
}
.news_post_cat {
	font-size: 0.5vw;
	color: #808BA9;
}
.news_post_cat span {
	display: inline-block;
	border: 1px solid #808BA9;
	padding: 0.25vw 0.5vw;
	margin: 0 0.15vw;
}
.news_post_cat span.news_post_all {
	display: none;
}
.news_post_txt {
	font-size: 0.7vw;
	font-weight: bold;
	line-height: 1.35vw;
	color: #444446;
}

.news_mv {
	width: 35vw;
	background-color: #EDEFEF;
	padding: 2.5vw;
}
.news_mv h3 {
	margin-bottom: 3.5vw;
	text-align: center;
}
.news_mv_contents {
	background-color: #ffffff;
	padding: 4vw 0 4vw;
	border-radius: 1vw;
	width: 30vw;
}
.news_mv_list {
	width: 30vw;
	height: auto !important;
	position: relative;
}
.news_mv_list iframe {
	width: 30vw;
	height: 17vw;
}
.news_mv .swiper-pagination {
	text-align: center;
    width: 100%;
    position: relative;
	margin-top: 4vw !important;
}
.news_mv .swiper-pagination span {
    margin: 0 0.8vw;
	width: 10px;
	height: 10px;
}
.news_mv .swiper-pagination-bullet-active {
    opacity: 1;
    background: #444446;
}
.movie_thumbnail {
	cursor: pointer;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.movie_thumbnail.paused {
	opacity: 0.01 !important;
}
.news_more {
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.news_more:before {
	border-top: 1px solid #444446;
	content: "";
	width: calc(100% - 5vw);
}
.news_more a {
	width: 5vw;
	display: block;
	padding: .6vw 0;
	text-align: center;
	font-size: 1vw;
	border: 1px solid #444446;
	border-radius: 5px;
}
.news_more.sp {
	display: none;
}


.brand {
	margin-bottom: 12vw;
}
.brand h3 {
	margin-left: 12.5vw;
	font-size: 1.2vw;
	margin-bottom: 2vw;
	float: none;
}
.brand_contents {
	margin-right: 14.5vw;
	position: relative;
}
.brand_contents > div {
	display: flex;
	align-items: center;
}
.brand_img {
	width: 70vw;
}
.brand_img img {
	width: 100%;
}
.brand_info {
	width: 29vw;
	margin-left: -13vw;
	background-color: #ffffff;
	position: relative;
}
.brand_info::before {
	position: absolute;
	content: "";
	display: inline-block;
	background: url('img/top/bg_marble_square.jpg') no-repeat right bottom;
	background-size: cover;
	width: 100%;
	height: 100%;
	right: -0.1vw;
	bottom: -0.1vw;
}
.brand_info_bg {
	position: relative;
	background-color: #fff;
	padding: 3vw;
}
.brand_ttl {
	font-size: 1.8vw;
	line-height: 3.0vw;
	margin-bottom: 2.5vw;
}
.brand_txt {
	font-size: 1.0vw;
	line-height: 2.0vw;
	margin-bottom: 3.5vw;
}
.brand_logos {
	display: flex;
	align-items: center;
}
.brand_logo_mytrex img {
	width: 7vw;
}
.brand_logo_x img {
	width: 1.6vw;
	margin: 0 0.4vw;
}
.brand_logo_pikalife img {
	width: 8.5vw;
}
.brand_more {
	position: absolute;
	bottom: 0;
	right: 0;
}
.brand_more a {
	width: 5vw;
	display: block;
	padding: .6vw 0;
	text-align: center;
	font-size: 1vw;
	border: 1px solid #444446;
	border-radius: 5px;
}

.page_link {
	margin-bottom: 12vw;
}
.page_link_contents {
	margin-left: 12vw;
	margin-right: 12vw;
}
.page_link_lists {
	display: flex;
	justify-content: space-between;
	text-align: center;
}
.page_link_list {
	width: 34vw;
}
.page_link_list a {
	display: block;
}
.page_link_list img {
	width: 100%;
	vertical-align: top;
}
.page_link_list .page_link_img {
	overflow:hidden;
}
.page_link_list .page_link_img img {
	transition:1s all;
   }
.page_link_list a:hover .page_link_img img {
	transform:scale(1.2,1.2);
	transition:1s all;
}

.page_link_ttl {
	background-color: #EDEFEF;
	padding: 1.0vw;
	font-size: 1.0vw;
}
.page_link_ttl i img {
	width: 1vw;
	margin-left: 3vw;
}

.sub_page_link_lists {
	display: flex;
	justify-content: space-between;
}
.sub_page_link_list a {
	display: block;
}
.sub_page_link_list {
	width: 50vw;
	position: relative;
}
.sub_page_link_list:nth-child(1) {
	background-color: #6F7A7C;
	z-index: 2;
}
.sub_page_link_list:nth-child(2) {
	background-color: #82A0B9;
	z-index: 1;
}
.sub_page_link_list dl {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 15vw;
}
.sub_page_link_img {
	width: 10vw;
}
.sub_page_link_img img {
	image-rendering: -webkit-optimize-contrast;
	image-rendering: crisp-edges;
}
.sub_page_link_ttl {
	color: #ffffff;
	margin-left: 3vw;
	line-height: 2.5vw;
}
.sub_page_link_list a .sub_page_link_ttl {
	transition:1s all;
}
.sub_page_link_list a:hover .sub_page_link_ttl {
	transform:scale(1.05,1.05);
	transition:1s all;
}
.sub_page_link_ttl i img {
	width: 0.6vw;
	margin-left: 0.6vw;
}
.sub_page_link_ttl .fs_s {
	font-size: 1.1vw;
}
.sub_page_link_ttl .fs_m {
	font-size: 1.25vw;
}
.sub_page_link_ttl .fs_l {
	font-size: 1.9vw;
}

@media screen and (max-width: 767px) {
	.fv_contents {
		padding-bottom: 0;
		min-height: inherit;
	}
	.fv_contents > div {
		position: relative;
	}
	.fv_catch_ja {
		position: absolute;
		margin-top: 0 !important;
		bottom: 0;
		left: 0;
		font-size: 12.5vw;
	}
	.fv_catch_ja > div {
		width: 91vw;
		padding: 2.5vw 0 2.5vw 5.5vw;
		margin-bottom: 2.5vw;
		white-space: nowrap;
		opacity: 0.9;
	}

	.fv_imgs {
		padding-left: 0;
		/* min-height: 575px; */
	}
	.fv_imgs video {
		min-height: calc(100vh - 200px);
	}
	.fv_catch_en_sp {
		position: relative;
		width: 4.5vw;
		left: -4.5vw;
		top: 0;
		margin-bottom: 16.25vw;
	}
	.fv_catch_en_sp img {
		width: 100%;
	}

	.about {
		margin-bottom: 16vw;
	}
	.about_us {
		height: auto;
		min-height: 172.5vw;
		/* background: url('img/top/world_map_sp.jpg') no-repeat left top; */
		background-size: cover;
		margin-right: 0;
		padding-left: 12.5vw;
		padding-top: 6.25vw;
	}
	@keyframes border_anim {
		0%{
			width: 0%;
		}
		100%{
			width: calc(100% + 12.5vw);
		}
	}

	.ttl_bdr_line::before {
		width: calc(100% + 12.5vw);
		left: -12.5vw;
	}
	.about_us h2 {
		font-size: 3.5vw;
		margin-bottom: 5vw;
	}
	.about_us p {
		font-size: 3.25vw;
		line-height: 9.0vw;
	}
	.about_more {
		bottom: 19vw;
	}
	.about_more a {
		font-size: 3vw;
		padding: 2vw 3vw;
	}

	.about_work::before {
		background: url('img/top/bg_marble_rectangle_sp.jpg') no-repeat right bottom;
		background-size: cover;
		left: 0;
		bottom: -1vw;
		right: -1vw;
		margin-right: 12vw;
		margin-left: 0;
		width: auto;
	}
	.about_work_lists {
		display: block;
		padding: 18vw 0 18vw 8vw;
		margin-left: 0;
		margin-right: 12vw;
	}
	.about_work_list {
		margin-right: 0;
	}
	.about_work_list dl:not(:last-child) {
		margin-bottom: 10vw;
	}
	.about_work_list dl {
		margin-bottom: 10vw;
	}
	.about_work_ttl {
		font-size: 3.25vw;
		padding-left: 2.5vw;
		padding-bottom: 1.25vw;
		margin-bottom: 2.5vw;
	}
	.about_work_txt {
		font-size: 3.75vw;
		line-height: 6vw;
		text-indent: -1.2em;
		margin-left: 1.2em;
	}

	.news {
		margin-left: 0;
		margin-right: 0;
		margin-bottom: 25vw;
	}
	.news h3 {
		font-size: 4vw;
		margin-bottom: 6.25vw;
		text-align: center;
	}
	.news_post {
		display: block;
		margin-bottom: 0;
	}
	.news_post_lists {
		flex-wrap: initial;
		margin-bottom: 8vw !important;
	}
	.news_post_list {
		width: 40vw !important;
		margin-right: 6.25vw;
		margin-bottom: 0;
	}
	.news_post_list:first-child {
		margin-left: 6.25vw;
	}
	.news_post_img {
		margin-bottom: 2.5vw;
	}
	.news_post_data {
		margin-bottom: 2.5vw;
		display: block;
	}
	.news_post_date {
		font-size: 2.5vw;
		margin-bottom: 2vw;
		display: block;
		text-align: right;
	}
	.news_post_cat {
		font-size: 2vw;
	}
	.news_post_cat span {
		padding: 1vw 2.0vw;
		margin: 0.15vw 0.15vw !important;
	}
	.news_post_txt {
		font-size: 3.0vw;
		font-weight: normal;
		line-height: 4.3vw;
	}
	.news_mv {
		width: 100vw;
		padding: 7.5vw;
	}
	.news_mv h3 {
		margin-bottom: 10vw;
	}
	.news_mv_contents {
		width: auto;
		border-radius: 3vw;
		padding: 10vw 0 10vw;
	}
	.news_mv_list {
		width: auto;
		height: 48vw;
	}
	.news_mv_list iframe {
		width: 100vw;
		height: 48vw;
	}
	.news_mv .swiper-pagination {
		margin-top: 10vw !important;
	}
	.news_mv .swiper-pagination span {
		margin: 0 1.875vw;
		width: 8px;
		height: 8px;
	}
	.news_more {
		margin-right: 6.25vw
	}
	.news_more.sp {
		display: block;
		text-align: right;
		margin-bottom: 12.5vw;
	}
	.news_more a {
		width: 19vw;
		position: relative;
		display: inline-block;
		text-align: center;
		padding: 1.2vw 3.5vw;
		font-size: 3vw;
	}
	.news_more:before {
		border: none;
	}
	.news_more.pc {
		display: none;
	}

	.brand {
		margin-bottom: 25vw;
	}
	.brand_contents > div {
		display: block;
	}
	.brand_info {
		margin-left: 6.25vw;
		margin-right: 6.25vw;
		margin-top: -14vw !important;
		margin-bottom: 6.25vw;
		width: auto;
	}
	.brand h3 {
		margin-left: 0;
		font-size: 4vw;
		text-align: center;
		margin-bottom: 6.25vw;
	}
	.brand_contents {
		margin-right: 0;
	}
	.brand_img {
		width: 100vw;
	}
	.brand_info_bg {
		padding: 10vw;
	}
	.brand_info::before {
		background: url('img/top/bg_marble_square_sp.jpg') no-repeat right bottom;
		background-size: contain;
		right: -0.5vw;
		bottom: -0.5vw;
	}
	.brand_ttl {
		font-size: 5.6vw;
		line-height: 8.0vw;
		margin-bottom: 7.5vw;
	}
	.brand_txt {
		font-size: 3.0vw;
		line-height: 7.0vw;
		margin-bottom: 10vw;
	}
	.brand_logo_mytrex img {
		width: 25vw;
	}
	.brand_logo_x img {
		width: 7vw;
		margin: 0 2vw;
	}
	.brand_logo_pikalife img {
		width: 30vw;
	}
	.brand_more {
		position: relative;
		text-align: right;
		margin-right: 6.25vw;
	}
	.brand_more a {
		width: 19vw;
		display: inline-block;
		padding: 1.2vw 3.5vw;
		font-size: 3vw;
	}

	.page_link {
		margin-bottom: 25vw;
	}
	.page_link_contents {
		margin-left: 6.25vw;
		margin-right: 6.25vw;
	}
	.page_link_lists {
		display: block;
	}
	.page_link_list {
		width: auto;
	}
	.page_link_list:not(:last-child) {
		margin-bottom: 6.25vw;
	}
	.page_link_ttl {
		padding: 2.5vw;
		font-size: 3.25vw;
	}
	.page_link_ttl i img {
		width: 3vw;
		margin-left: 11vw;
	}

	.sub_page_link_lists {
		display: block;
	}
	.sub_page_link_list {
		width: 100vw;
	}
	.sub_page_link_list dl {
		height: 37.5vw;
	}
	.sub_page_link_img {
		width: 20vw;
	}
	.sub_page_link_ttl {
		margin-left: 4vw;
		line-height: 6.5vw;
	}
	.sub_page_link_ttl i img {
		width: 1.4vw;
		margin-left: 2.5vw;
	}
	.sub_page_link_ttl .fs_s {
		font-size: 2.5vw;
	}
	.sub_page_link_ttl .fs_m {
		font-size: 2.6vw;
	}
	.sub_page_link_ttl .fs_l {
		font-size: 3.8vw;
	}
}