@charset "utf-8";
.section_title {
		margin-bottom: 60px;
}
.top_service_section .section_title {
		margin-bottom: 40px;
}
.section_title.wht {
		color: #fff;
}
.section_title_jp {
		font-size: 20px;
		font-weight: 500;
		margin: 0 0 15px;
		letter-spacing: 0.03em;
		line-height: 1;
}
.section_title_en {
		font-size: 60px;
		line-height: 1;
		font-family: 'Poppins', sans-serif;
		font-weight: 700;
}
.section_title_en a {
		color: #222;
		text-decoration: none;
		position: relative;
}
.arrowBaseParts {
		position: relative;
}
.section_title_en a .arrowBase, .footer_hdr_flex a .arrowBase, .arrowBaseParts .arrowBase, .service_link_btn a .arrowBase {
		position: absolute;
		width: 44px;
		height: 44px;
		background: #c2153e;
		top: calc(50% - 22px);
		right: -67px;
		display: inline-block;
		overflow: hidden;
}
.service_link_btn a .arrowBase {
		right: 10px;
		height: 60px;
		width: 60px;
		top: calc(50% - 30px);
}
.arrowBase::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 44px;
		height: 44px;
		background: url("../images/link_arrow_L.png") no-repeat 0 0;
		background-size: 44px;
}
.service_link_btn a .arrowBase::after {
		height: 60px;
		width: 60px;
		background: url("../images/link_arrow_LL.png") no-repeat 0 0;
		background-size: 60px;
}
.top_about_tile_caption {
		position: relative;
}
.top_about_tile_caption .arrowBaseS {
		position: absolute;
		width: 30px;
		height: 30px;
		background: #c2153e;
		right: 0;
		bottom: 0;
		display: inline-block;
		overflow: hidden;
}
.service_item .arrowBaseS, .swiper-slide a .arrowBaseS {
		width: 30px;
		height: 30px;
		background: #c2153e;
		right: 0;
		bottom: 0;
		display: inline-block;
		overflow: hidden;
}
.link_btn.prev a .arrowBaseLeft {
		position: absolute;
		width: 30px;
		height: 30px;
		background: #c2153e;
		left: 0;
		top: calc(50% - 15px);
		display: inline-block;
		overflow: hidden;
}
.arrowBaseS::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 30px;
		height: 30px;
		background: url("../images/link_arrow_S.png") no-repeat 0 0;
		background-size: 30px;
}
.arrowBaseLeft::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 30px;
		height: 30px;
		background: url("../images/link_arrow_left.png") no-repeat 0 0;
		background-size: 30px;
}
.arrowBaseDown::after {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 30px;
		height: 30px;
		background: url("../images/link_arrow_down.png") no-repeat 0 0;
		background-size: 30px;
}
@media (hover: hover) {
		.section_title_en a:hover .arrowBase::after, .footer_hdr_flex a:hover .arrowBase::after, .top_tile_item:hover .arrowBase::after, .swiper-slide a:hover .arrowBaseS::after {
				animation: arrowRight 0.4s linear forwards;
		}
		.service_link_btn a:hover .arrowBase::after {
				animation: arrowRight 0.4s linear forwards;
		}
		.top_about_tile:hover .arrowBaseS::after {
				animation: arrowRight 0.4s linear forwards;
		}
		.service_item:hover .arrowBaseS::after {
				animation: arrowRight 0.4s linear forwards;
		}
		.confirm_base:hover .arrowBaseS::after {
				animation: arrowRight 0.4s linear forwards;
		}
		.link_btn:hover .arrowBaseDown::after {
				animation: arrowDown 0.4s linear forwards;
		}
}
@keyframes arrowRight {
		0% {
				opacity: 1;
		}
		35% {
				transform: translateX(20px);
				opacity: 0;
		}
		40% {
				transform: translateX(-20px);
				opacity: 0;
		}
		100% {
				transform: translateX(0px);
				opacity: 1;
		}
}
@keyframes arrowDown {
		0% {
				opacity: 1;
		}
		35% {
				transform: translateY(20px);
				opacity: 0;
		}
		40% {
				transform: translateY(-20px);
				opacity: 0;
		}
		100% {
				transform: translateY(0px);
				opacity: 1;
		}
}
@keyframes arrowLeft {
		0% {
				opacity: 1;
		}
		35% {
				transform: translateX(-20px);
				opacity: 0;
		}
		40% {
				transform: translateX(20px);
				opacity: 0;
		}
		100% {
				transform: translateX(0px);
				opacity: 1;
		}
}
.section_title.wht .section_title_en a {
		color: #fff;
}
@media(max-width: 940px) {
		.verLandscape .service_link_btn a .arrowBase {
				right: 15px;
				width: 30px;
				height: 30px;
				top: calc(50% - 15px);
		}
		.verLandscape .service_link_btn a .arrowBase::after {
				width: 30px;
				height: 30px;
				background: url("../images/link_arrow_L.png") no-repeat 0 0;
				background-size: 30px;
		}
}
@media(max-width: 840px) {
		.arrowBase::after {
				width: 40px;
				height: 40px;
				background: url("../images/link_arrow_L.png") no-repeat 0 0;
				background-size: 40px;
		}
		.service_link_btn a .arrowBase {
				right: 15px;
				width: 30px;
				height: 30px;
				top: calc(50% - 15px);
		}
		.service_link_btn a .arrowBase::after {
				width: 30px;
				height: 30px;
				background: url("../images/link_arrow_L.png") no-repeat 0 0;
				background-size: 30px;
		}
}
@media(max-width: 767px) {
		.section_title_en a .arrowBase.aboutSARUCREW {
				top: inherit;
				bottom: 9px;
		}
		.section_title_en a .arrowBase, .footer_hdr_flex a .arrowBase, .arrowBaseParts .arrowBase {
				width: 40px;
				height: 40px;
				top: calc(50% - 20px);
				right: -60px;
		}
}
/* ============= */
.link_btn {
		line-height: 1;
		font-family: 'Poppins', sans-serif;
		font-weight: 500;
		font-size: 18px;
}
.link_btn a {
		color: #333;
		text-decoration: none;
		display: inline-block;
		padding-left: 43px;
		position: relative;
		transition: color 0.2s;
}
.linkLine {
		position: relative;
		display: inline-block;
}
.linkLine::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -2px;
		left: 0px;
		width: 100%;
		height: 1px;
		transform-origin: left center;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
		background: #c2153e;
		transform: scaleX(0);
}
.link_btn a .arrowBaseS, .link_btn a .arrowBaseDown {
		position: absolute;
		width: 30px;
		height: 30px;
		background: #c2153e;
		left: 0;
		top: calc(50% - 15px);
		display: inline-block;
		overflow: hidden;
}
.link_btn.next a {
		padding-left: 0;
		padding-right: 43px;
}
.link_btn.next a .arrowBaseS {
		left: inherit;
		right: 0;
}
@media (hover: hover) {
		.link_btn a:hover {
				color: #c2153e;
		}
		.link_btn a:hover .linkLine::after {
				transform: scaleX(1);
		}
		.link_btn a:hover .arrowBaseS::after {
				animation: arrowRight 0.4s linear forwards;
		}
		.link_btn.prev a:hover .arrowBaseLeft::after {
				animation: arrowLeft 0.4s linear forwards;
		}
}
@media(max-width: 767px) {
		.link_btn a {
				padding-left: 34px;
		}
		.link_btn.next a {
				padding-right: 34px;
				padding-left: 0;
		}
		.link_btn a .arrowBaseS, .link_btn a .arrowBaseDown {
				width: 24px;
				height: 24px;
				top: calc(50% - 12px);
		}
		.swiper-slide a .arrowBaseS {
				width: 24px;
				height: 24px;
		}
		.arrowBaseS::after {
				width: 24px;
				height: 24px;
				background: url(../images/link_arrow_S.png) no-repeat 0 0;
				background-size: 24px;
		}
		.top_about_tile_caption .arrowBaseS::after {
				width: 30px;
				height: 30px;
				background: url(../images/link_arrow_S.png) no-repeat 0 0;
				background-size: 30px;
		}
		.link_btn.prev a .arrowBaseLeft {
				width: 24px;
				height: 24px;
				top: calc(50% - 11px);
		}
		.arrowBaseLeft::after {
				width: 24px;
				height: 24px;
				background: url(../images/link_arrow_left.png) no-repeat 0 0;
				background-size: 24px;
		}
		.arrowBaseDown::after {
				width: 24px;
				height: 24px;
				background: url("../images/link_arrow_down.png") no-repeat 0 0;
				background-size: 24px;
		}
}
/* ============= */
.news_line {
		padding: 23px 0;
		border-bottom: 1px solid #E1E1E1;
		position: relative;
		cursor: pointer;
}
.news_line::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #C2153E;
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
		transform-origin: left center;
		transform: scaleX(0);
}
@media (hover: hover) {
		.news_line:hover::after {
				transform: scaleX(1);
		}
		.news_line:hover a {
				color: #c2153e;
		}
}
.news_line_inner, .news_line_data {
		display: flex;
		align-items: center;
}
.news_line_data {
		margin-right: 33px;
}
.news_line a {
		color: #222;
		text-decoration: none;
}
.news_date {
		color: #808080;
		font-family: 'Poppins', sans-serif;
		width: 6.5em;
		line-height: 1;
		position: relative;
}
.news_category {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 80px;
		height: 26px;
		border: 1px solid #808080;
}
.news_category_item {
		font-size: 12px;
}
.news_category_item span {
		position: relative;
		display: inline-block;
		transform: translateY(-1px);
}
/* ================ */
@media(max-width: 767px) {
		.section_title {
				margin-bottom: 20px;
		}
		.section_title_jp {
				font-size: 16px;
				margin: 0 0 10px;
		}
		.section_title_en {
				font-size: 42px;
		}
		.news_line_inner {
				display: block;
		}
		.news_date {
				font-size: 14px;
		}
		.news_title {
				font-size: 15px;
				padding-top: 5px;
		}
		.news_category {
				width: 70px;
				height: 19px;
				font-size: 11px;
		}
}
/* ================== */
.section_title_cover_wrap {
		position: relative;
		display: flex;
		display: inline-block;
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
		transform: translateX(-50px);
}
.section_title_cover_wrap.coverActive {
		transform: translateX(0);
}
.section_title_cover_wrap .section_title_cover {
		width: 100%;
		height: 100%;
		background: #000;
		position: absolute;
		top: 0;
		left: 0;
		z-index: 5;
		transform-origin: right center;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
}
.section_title_cover_wrap.long .section_title_cover {
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
}
@media(max-width: 767px) {
		.section_title_cover_wrap .section_title_cover {
				transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
		}
		.section_title_cover_wrap.long .section_title_cover {
				transition: transform 2s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s;
		}
}
.coverActive .section_title_cover {
		transform: scaleX(0);
}
.section_title_cover_wrap .arrowBase {
		opacity: 0;
		transform: translateX(-20px);
		transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
		transition-delay: 0.2s;
}
.section_title_cover_wrap.long .arrowBase {
		transition-delay: 0.5s;
}
.coverActive .arrowBase {
		opacity: 1;
		transform: translateX(0px);
}
.section_title_cover.gray {
		background: #E9E9E9;
}
.section_title_cover.blk {
		background: #3C3C3C;
}
.section_title_cover.wht {
		background: #fff;
}
@media (min-width: 768px) and (max-width: 1194px) {
		.section_title_cover.extraTablet {
				transform: scaleX(0) !important;
		}
		.section_title_cover_wrap.extraTablet {
				transform: translateX(0) !important;
		}
		.coverActive .arrowBase, .extraTablet .arrowBase {
				opacity: 1;
				transform: translateX(0px);
		}
}
/* ====================== */
.fadeInNml {
		opacity: 0;
		transition: opacity 0.3s linear;
}
.fadeInNmlEx {
		opacity: 0;
		transition: opacity 0.6s linear;
}
.fadeInNmlActive {
		opacity: 1;
}