@charset "UTF-8";
@media screen and (min-width: 1200px) {
	#container {
		padding-top: 80px;
	}
}
@media screen and (max-width: 1199px) {
	#container {
		padding-top: 60px;
	}
}
#firstview {
	overflow: hidden;
	position: relative;
	background-color: #fafafa;
}
#firstview:after {
	display: block;
	position: absolute;
	top: 0;
	left: -100%;
	width: 200%;
	height: 100%;
	background-image: -webkit-linear-gradient(left, #e60028 0%, #e60028 50%, #fff 50%, #fff 100%);
	background-image:    -moz-linear-gradient(left, #e60028 0%, #e60028 50%, #fff 50%, #fff 100%);
	background-image:      -o-linear-gradient(left, #e60028 0%, #e60028 50%, #fff 50%, #fff 100%);
	background-image:     -ms-linear-gradient(left, #e60028 0%, #e60028 50%, #fff 50%, #fff 100%);
	background-image:         linear-gradient(to right, #e60028 0%, #e60028 50%, #fff 50%, #fff 100%);
	content: "";
	-webkit-transition: 0.5s width, 0.5s 0.5s left;
	   -moz-transition: 0.5s width, 0.5s 0.5s left;
	    -ms-transition: 0.5s width, 0.5s 0.5s left;
	     -o-transition: 0.5s width, 0.5s 0.5s left;
	        transition: 0.5s width, 0.5s 0.5s left;
}
#firstviewHeading .en {
	font-weight: bold;
	line-height: 1.166666666666667;
	letter-spacing: 0.15em;
}
#firstviewHeading .ja {
	letter-spacing: 0.2em;
}
#firstviewCopyBody {
	letter-spacing: 0.1em;
}
#firstviewCopyMain span {
	display: inline-block;
}
#firstview.inviewed:after {
	left: 100%;
	width: 400%;
}
@media screen and (min-width: 980px) {
	#firstviewContainer {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;
		height: 480px;
	}
	#firstviewContainer > div {
		width: 50%;
	}
	#firstviewPhoto {
		background-position: center;
		-webkit-background-size: cover;
		   -moz-background-size: cover;
		        background-size: cover;
	}
	#firstviewText {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;
		overflow: hidden;
		padding: 0 40px;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		   -moz-box-align: center;
		     -o-box-align: center;
		-webkit-box-pack: center;
		   -moz-box-pack: center;
		     -o-box-pack: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	#firstviewTextInner {
		max-width: 560px;
		width: 100%;
		margin: 0 auto;
		opacity: 0;
		-webkit-transition: 1s 1s, 0.5s 1s;
		   -moz-transition: 1s 1s, 0.5s 1s;
		    -ms-transition: 1s 1s, 0.5s 1s;
		     -o-transition: 1s 1s, 0.5s 1s;
		        transition: 1s 1s, 0.5s 1s;
		-webkit-transition-property: opacity, -webkit-transform;
		   -moz-transition-property: opacity, -moz-transform;
		    -ms-transition-property: opacity, -ms-transform;
		     -o-transition-property: opacity, -o-transform;
		        transition-property: opacity, transform;
		-webkit-transform: translateY(10px);
		   -moz-transform: translateY(10px);
		    -ms-transform: translateY(10px);
		     -o-transform: translateY(10px);
		        transform: translateY(10px);

		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		    filter: alpha(opacity=0);
	}
	#firstviewHeading {
		position: relative;
		margin-bottom: 20px;
		padding-bottom: 30px;
		background: none !important;
	}
	#firstviewHeading:after {
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 140px;
		height: 1px;
		background-color: #e60028;
		content: "";
	}
	#firstviewHeading .en {
		font-size: 4.8rem;
	}
	#firstviewHeading .ja {
		margin-top: 15px;
		font-size: 1.6rem;
	}
	#firstviewCopyMain {
		margin-bottom: 12px;
		font-size: 0;
	}
	#firstviewCopyMain span {
		font-size: 2.6rem;
		line-height: 3.8rem;
	}
	#firstviewCopyBody {
		font-size: 1.6rem;
		line-height: 2.375;
	}
	#firstview.inviewed:before {
		opacity: 1;

		-ms-filter: none;
		    filter: none;
	}
	#firstview.inviewed #firstviewTextInner {
		opacity: 1;
		-webkit-transform: translateY(0);
		   -moz-transform: translateY(0);
		    -ms-transform: translateY(0);
		     -o-transform: translateY(0);
		        transform: translateY(0);

		-ms-filter: none;
		    filter: none;
	}
}
@media screen and (min-width: 980px) and (max-width: 1100px) {
	#firstviewCopyBody {
		font-size: 1.454545454545455vw;
	}
}
@media screen and (min-width: 980px) and (max-width: 1199px) {
	#firstviewHeading .en {
		font-size: 4vw;
	}
}
@media screen and (min-width: 980px) and (max-width: 1279px) {
	#firstviewCopyBody .min1280 {
		display: none;
	}
}
@media screen and (max-width: 979px) {
	#firstviewHeading {
		position: relative;
		background-position: center;
		background-position: center;
		-webkit-background-size: cover;
		-webkit-background-size: cover;
		   -moz-background-size: cover;
		   -moz-background-size: cover;
		        background-size: cover;
		        background-size: cover;
		color: #fff;
	}
	#firstviewHeading:before {
		display: block;
		padding-top: 66.66666666666667%;
		content: "";
	}
	#firstviewHeadingInner {
		position: absolute;
		top: 50%;
		left: 0;
		width: 100%;
		text-align: center;
		-webkit-transform: translateY(-50%);
		   -moz-transform: translateY(-50%);
		    -ms-transform: translateY(-50%);
		     -o-transform: translateY(-50%);
		        transform: translateY(-50%);
	}
	#firstviewHeading .en {
		font-size: 3rem;
	}
	#firstviewHeading .ja {
		margin-top: 10px;
		font-size: 1.5rem;
	}
	#firstviewCopy {
		padding: 40px 0;
	}
	#firstviewCopyMain {
		margin-bottom: 25px;
		padding: 0 10px;
		font-size: 1.7rem;
		text-indent: 0.05em;
		text-align: center;
		line-height: 2rem;
	}
	#firstviewCopyBody {
		padding: 0 20px;
		font-size: 1.3rem;
		line-height: 2.3rem;
	}
	#firstview.inviewed .title:before {
		opacity: 1;

		-ms-filter: none;
		    filter: none;
	}
	#firstview.inviewed .copy {
		-webkit-transform: translateX(0);
		   -moz-transform: translateX(0);
		    -ms-transform: translateX(0);
		     -o-transform: translateX(0);
		        transform: translateX(0);
	}
	#firstview.inviewed .mainCopy, #firstview.inviewed .bodyCopy {
		opacity: 1;
		-webkit-transform: translateY(0);
		   -moz-transform: translateY(0);
		    -ms-transform: translateY(0);
		     -o-transform: translateY(0);
		        transform: translateY(0);

		-ms-filter: none;
		    filter: none;
	}
}
@media screen and (max-width: 979px) and (max-width: 374px) {
	#firstviewHeading .en {
		font-size: 8vw;
	}
}
#groupCompany {
	overflow: hidden;
}
#groupCompanyHeading .en {
	font-weight: bold;
	letter-spacing: 0.15em;
}
#groupCompanyHeading .ja {
	letter-spacing: 0.2em;
}
@media screen and (min-width: 980px) {
	#groupCompany {
		padding: 85px 0 64px;
	}
	#groupCompanyHeading {
		margin-bottom: 40px;
	}
	#groupCompanyHeading .en {
		margin-bottom: 14px;
		font-size: 4.2rem;
		line-height: 5rem;
	}
	#groupCompanyHeading .ja {
		font-size: 1.6rem;
	}
}
@media screen and (max-width: 979px) {
	#groupCompany {
		padding: 40px 0 60px;
	}
	#groupCompany .inner {
		padding: 0 17.5px;
	}
	#groupCompanyHeading {
		margin-bottom: 32px;
		text-align: center;
	}
	#groupCompanyHeading .en {
		margin-bottom: 12px;
		font-size: 2.7rem;
		text-indent: 0.15em;
		line-height: 3.2rem;
	}
	#groupCompanyHeading .ja {
		font-size: 1.5rem;
		text-indent: 0.2em;
	}
}
.subCategory + .subCategory {
	border-top: 1px solid #ccc;
}
.subCategoryLeading {
	font-weight: bold;
}
.subCategoryHeading {
	position: relative;
	letter-spacing: 0.1em;
}
.subCategoryHeading:before {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 12px;
	height: 12px;
	margin: auto 0;
	border-radius: 50%;
	background-color: #e60028;
	content: "";
}
.subCategorySummary {
	line-height: 2.6rem;
	letter-spacing: 0.05em;
}
@media screen and (min-width: 980px) {
	.subCategory + .subCategory {
		margin-top: 80px;
		padding-top: 80px;
	}
	.subCategoryHeading {
		margin-bottom: 20px;
		padding-left: 32px;
		font-size: 2.6rem;
	}
	.subCategorySummary {
		font-size: 1.8rem;
	}
}
@media screen and (max-width: 979px) {
	.subCategory + .subCategory {
		margin-top: 50px;
		padding-top: 50px;
	}
	.subCategoryLeading {
		margin-bottom: 40px;
	}
	.subCategoryHeading {
		margin-bottom: 20px;
		padding-left: 28px;
		font-size: 2.2rem;
	}
	.subCategorySummary {
		font-size: 1.6rem;
		line-height: 2.7rem;
	}
}
#groupCompany .company .textContainer {
	opacity: 0;
	-webkit-transition: 1s opacity;
	   -moz-transition: 1s opacity;
	    -ms-transition: 1s opacity;
	     -o-transition: 1s opacity;
	        transition: 1s opacity;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
	    filter: alpha(opacity=0);
}
#groupCompany .company .textContainer .conpanyName {
	position: relative;
}
#groupCompany .company .textContainer .conpanyName .logo img {
	max-width: 100%;
}
#groupCompany .company .textContainer .conpanyName .name {
	font-weight: bold;
	line-height: 2rem;
}
#groupCompany .company .textContainer .copy .mainCopy, #groupCompany .company .textContainer .copy .bodyCopy {
	letter-spacing: 0.05em;
}
#groupCompany .company .textContainer .officialWebSite a {
	display: block;
	overflow: hidden;
	position: relative;
	background-color: #e60028;
	color: #fff;
	font-weight: bold;
	text-indent: 0.15em;
	text-align: center;
	line-height: 5rem;
	letter-spacing: 0.15em;
}
#groupCompany .company .textContainer .officialWebSite a .rp-effect {
	position: absolute;
	border-radius: 50%;
	background: #fff;
	opacity: 0.35;
	pointer-events: none;
	-webkit-transform: scale(0);
	   -moz-transform: scale(0);
	    -ms-transform: scale(0);
	     -o-transform: scale(0);
	        transform: scale(0);
	-webkit-animation: ripple 0.7s;
	   -moz-animation: ripple 0.7s;
	    -ms-animation: ripple 0.7s;
	     -o-animation: ripple 0.7s;
	        animation: ripple 0.7s;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=35)";
	    filter: alpha(opacity=35);
}
#groupCompany .company .photoContainer {
	overflow: hidden;
	position: relative;
	background-position: center;
	-webkit-background-size: cover;
	   -moz-background-size: cover;
	        background-size: cover;
}
#groupCompany .company .photoContainer:after {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4000.1px;
	height: 4000.1px;
	border: 2000px solid #fff;
	border-radius: 50%;
	content: "";
	-webkit-transition: 2s 0.5s;
	   -moz-transition: 2s 0.5s;
	    -ms-transition: 2s 0.5s;
	     -o-transition: 2s 0.5s;
	        transition: 2s 0.5s;
	-webkit-transition-property: width, height, border-radius;
	   -moz-transition-property: width, height, border-radius;
	    -ms-transition-property: width, height, border-radius;
	     -o-transition-property: width, height, border-radius;
	        transition-property: width, height, border-radius;
	-webkit-transform: translate(-50%, -50%);
	   -moz-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	     -o-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
}
#groupCompany .company.inviewed .textContainer {
	opacity: 1;

	-ms-filter: none;
	    filter: none;
}
#groupCompany .company.inviewed .photoContainer:after {
	width: 5000px;
	height: 5000px;
	border-radius: 50%;
}
@media screen and (min-width: 980px) {
	#groupCompany .company {
		position: relative;
		min-height: 560px;
		margin-top: 64px;
	}
	#groupCompany .company .photoContainer {
		position: absolute;
		top: 0;
		width: 800px;
		height: 560px;
	}
	#groupCompany .company .textContainer {
		width: 39.23076923076923%;
	}
	#groupCompany .company .textContainer .conpanyName {
		margin-bottom: 35px;
	}
	#groupCompany .company .textContainer .conpanyName .logo {
		margin-bottom: 16px;
	}
	#groupCompany .company .textContainer .copy {
		margin-bottom: 25px;
	}
	#groupCompany .company .textContainer .copy .mainCopy {
		margin-bottom: 15px;
		font-size: 2.4rem;
		line-height: 4rem;
	}
	#groupCompany .company .textContainer .copy .bodyCopy {
		font-size: 1.6rem;
		line-height: 3.2rem;
	}
	#groupCompany .company .textContainer .officialWebSite a {
		max-width: 100%;
		width: 260px;
		font-size: 1.6rem;
	}
	#groupCompany .company.odd .textContainer {
		float: left;
	}
	#groupCompany .company.odd .photoContainer {
		left: 43.84615384615385%;
	}
	#groupCompany .company.even .textContainer {
		float: right;
	}
	#groupCompany .company.even .photoContainer {
		right: 43.84615384615385%;
	}
}
@media screen and (max-width: 979px) {
	#groupCompany .company + .company {
		margin-top: 50px;
	}
	#groupCompany .company .photoContainer {
		margin-bottom: 20px;
	}
	#groupCompany .company .photoContainer:before {
		display: block;
		padding-top: 69.93006993006993%;
		content: "";
	}
	#groupCompany .company .textContainer .conpanyName {
		margin-bottom: 27px;
	}
	#groupCompany .company .textContainer .conpanyName .logo {
		margin-bottom: 15px;
	}
	#groupCompany .company .textContainer .conpanyName .name {
		font-size: 1.6rem;
	}
	#groupCompany .company .textContainer .copy {
		margin-bottom: 20px;
	}
	#groupCompany .company .textContainer .copy .mainCopy {
		margin-bottom: 15px;
		font-size: 1.9rem;
		line-height: 2.8rem;
	}
	#groupCompany .company .textContainer .copy .bodyCopy {
		line-height: 2.7rem;
	}
	#groupCompany .company .textContainer .officialWebSite a {
		max-width: 100%;
		width: 310px;
		margin: 0 auto;
	}
	#groupCompany .company.odd .photoContainer {
		margin-right: -17.5px;
	}
	#groupCompany .company.even .photoContainer {
		margin-left: -17.5px;
	}
}
#otherCategory {
	border-bottom: 1px solid #ccc;
}
#otherCategoryLink {
	display: block;
	overflow: hidden;
	position: relative;
	max-width: 100%;
	margin: 0 auto;
	background-color: #e60028;
	color: #fff;
	font-weight: bold;
	text-indent: 0.3em;
	text-indent: 0.2em;
	text-align: center;
	letter-spacing: 0.3em;
	letter-spacing: 0.2em;
}
#otherCategoryLink .rp-effect {
	position: absolute;
	border-radius: 50%;
	background: #fff;
	opacity: 0.35;
	pointer-events: none;
	-webkit-transform: scale(0);
	   -moz-transform: scale(0);
	    -ms-transform: scale(0);
	     -o-transform: scale(0);
	        transform: scale(0);
	-webkit-animation: ripple 0.7s;
	   -moz-animation: ripple 0.7s;
	    -ms-animation: ripple 0.7s;
	     -o-animation: ripple 0.7s;
	        animation: ripple 0.7s;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=35)";
	    filter: alpha(opacity=35);
}
@media screen and (min-width: 980px) {
	#otherCategory {
		padding-bottom: 100px;
	}
	#otherCategoryLink {
		width: 380px;
		font-size: 1.8rem;
		line-height: 7rem;
	}
}
@media screen and (max-width: 979px) {
	#otherCategory {
		padding-bottom: 70px;
	}
	#otherCategory .inner {
		padding: 0 17.5px;
	}
	#otherCategoryLink {
		width: 340px;
		line-height: 6rem;
	}
}
@-moz-keyframes ripple {
	to {
		opacity: 0;
		-webkit-transform: scale(2);
		   -moz-transform: scale(2);
		    -ms-transform: scale(2);
		     -o-transform: scale(2);
		        transform: scale(2);

		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		    filter: alpha(opacity=0);
	}
}
@-webkit-keyframes ripple {
	to {
		opacity: 0;
		-webkit-transform: scale(2);
		   -moz-transform: scale(2);
		    -ms-transform: scale(2);
		     -o-transform: scale(2);
		        transform: scale(2);

		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		    filter: alpha(opacity=0);
	}
}
@-o-keyframes ripple {
	to {
		opacity: 0;
		-webkit-transform: scale(2);
		   -moz-transform: scale(2);
		    -ms-transform: scale(2);
		     -o-transform: scale(2);
		        transform: scale(2);

		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		    filter: alpha(opacity=0);
	}
}
@keyframes ripple {
	to {
		opacity: 0;
		-webkit-transform: scale(2);
		   -moz-transform: scale(2);
		    -ms-transform: scale(2);
		     -o-transform: scale(2);
		        transform: scale(2);

		-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
		    filter: alpha(opacity=0);
	}
}
