/* animation Settings */
@keyframes scaleIn {
	0% { transform: scale(1); }
	100% { transform: scale(1.3); }
}

@keyframes imageAnimation {
	0% {
		opacity: 0;
		animation-timing-function: ease-in;
	}
	20% {
		opacity: 1;
	}
	25% {
		opacity: 1;
	}
	37% {
		opacity: 0.1;
		animation-timing-function: ease-out;
		transform: scale(1.17);
	}
	100% {
		opacity: 0;
		transform: scale(1.17);
	}
}

@keyframes slideAnimation {
	0% {
		opacity: 0;
		visibility: hidden;
	}
	5% {
		opacity: 0;
		visibility: hidden;
	}
	7% {
		opacity: 1;
		visibility: visible;
	}
	26% {
		opacity: 1;
		visibility: visible;
	}
	27% {
		opacity: 0;
		visibility: hidden;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes linkAnimation {
	0% {
		opacity: 0;
		visibility: hidden;
	}
	5% {
		opacity: 0;
		visibility: hidden;
	}
	15% {
		opacity: 1;
		visibility: visible;
	}
	25% {
		opacity: 1;
		visibility: visible;
	}
	27% {
		opacity: 0;
		visibility: hidden;
	}
	100% {
		opacity: 0;
		visibility: hidden;
	}
}

@keyframes ScrollIcon {
	0% {
		transform: translate(-50%, 5px);
	}
	50% {
		transform: translate(-50%, 0);
	}
	100% {
		transform: translate(-50%, 5px);
	}
}

.top {
	/* top-Warning */
	/* top-Contents */
	/* top-Visual */
	/* top-Section */
	/* top-Bnr */
}

.top-Contents {
	overflow: hidden;
	display: block;
	position: relative;
	padding-left: 305px;
	background: url(../../common/images/bg_main.jpg) center top;
}

@media only screen and (max-width: 768px) {
	.top-Contents {
		padding-left: 0;
		background-size: auto 360px;
	}
}

.top-Contents_Btn {
	margin-top: 30px;
	text-align: center;
}

/* top-Visual */
.top-Visual {
	overflow: hidden;
	position: relative;
	height: 100vh;
}
.has-prompt .top-Visual {
	height: calc(100vh - 60px);
}

.top-Visual_Slide {
	position: relative;
	background-color: #000;
	height: 100%;
}
.top-Visual_Slide > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	animation: imageAnimation 20s linear infinite 0s;
	transform-origin: center;
	background-size: cover;
	background-position: center;
}
.top-Visual_Slide img {
	position: absolute;
	width: auto;
	height: auto;
	top: 50%;
	left: 50%;
	max-width: none;
	min-width: 100%;
	min-height: 100%;
	transform: translate(-50%, -50%);
}
.top-Visual_Slide img[src*="@sp."] {
	display: none;
}

.top-Visual_Heading {
	position: absolute;
	top: 50%;
	left: 50%;
	text-align: center;
	transform: translate(-50%, -50%) translateY(-65px);
	transition: transform .5s;
}

.top-Visual_Heading img[src$="logo.svg"] {
	display: block;
	width: 178px;
}

.top-Visual_Heading img[src*="federation"] {
	width: 54px;
	margin-top: 10px;
}

.top-Visual_Heading img[src*="unit"] {
	width: 178px;
}

.top-Visual_Slide--Logo {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

.top-Visual_Slide--Logo > div {
	opacity: 0;
	visibility: hidden;
	animation: slideAnimation 20s ease-in-out infinite 0s;
}

.top-Visual_Slide--Logo > div > h2{
	opacity: 0;
	visibility: hidden;
	animation: slideAnimation 20s ease-in-out infinite 0s;
}

.top-Visual_Scroll {
	position: absolute;
	bottom: 60px;
	left: 50%;
	width: 32px;
	height: 32px;
	transform: translateX(-50%);
	animation: ScrollIcon 2.5s ease-in-out infinite;
}

.top-Visual_Link {
	position: absolute;
	top: calc(50% - 45px);
	right: 20px;
	left: 20px;
	font-size: 3.2rem;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	transform: translateY(-50%);
	animation: linkAnimation 20s ease-in-out infinite 0s;
}
.top-Visual_Link > a {
	display: inline-block;
	padding: 30px 50px 45px;
	border: 2px solid #fff;
	color: #fff;
	text-align: left;
	text-decoration: none;
	transition: .2s;
}
.top-Visual_Link > a::after {
	content: "";
	display: inline-block;
	width: 24px;
	height: 18px;
	background: url(../../common/images/ic_arrow_next_02_white.svg) no-repeat;
	background-size: 100% 100%;
}
.top-Visual_Link > a:hover {
	background-color: rgba(255, 255, 255, .2);
}

.top-Visual_Link span {
	font-size: 2.2rem;
	margin-top: 10px;
}

@media only screen and (max-width: 768px) {
	.top-Visual {}

	.top-Visual_Slide {
		height: 100vh;
	}
	.top-Visual_Slide img[src*="@pc."] {
		display: none;
	}
	.top-Visual_Slide img[src*="@sp."] {
		display: inline;
	}

	.top-VisualHeading {
		font-size: 5.4rem;
		line-height: 1.3;
	}

	.top-Visual_Heading {
		transform: translate(-50%, -50%) translateY(-50px);
	}
	.top-Visual_Heading img[src$="logo.svg"] {
		width: 145px;
	}
	.top-Visual_Heading img[src*="federation"] {
		margin-top: 15px;
		width: 44px;
	}
	.top-Visual_Heading img[src*="unit"] {
		width: 145px;
	}

	.top-Visual_Scroll {
		bottom: 10px;
		width: 36px;
		height: 36px;
	}

	.top-Visual_Link {
		top: calc(50% - 25px);
		font-size: 2.25rem;
	}
	.top-Visual_Link > a {
		padding: 15px 25px 23px;
	}
	.top-Visual_Link > a::after {
		width: 12px;
		height: 9px;
	}

	.top-Visual_Link span {
		font-size: 1.5rem;
	}
}

.top-SectionHeader {
	margin-right: calc(50% - (100vw - 305px) / 2);
	margin-left: calc(50% - (100vw - 305px) / 2);
	padding: 50px 20px;
	background-color: #fff;
	text-align: center;
}

.top-SectionHeader_NewsHeading{
	text-align: center;
	font-size: 3rem;
	line-height: 1;
	padding: 22px 16px 0;
	margin-bottom: 10px;
}

.top-SectionHeader_NewsHeading--en {
	text-align: center;
	font-size: 3rem;
	line-height: 1.3;
	padding: 22px 16px 0;
	margin-bottom: 10px;
}
@media only screen and (max-width: 768px) {
	.top-SectionHeader_NewsHeading,
	.top-SectionHeader_NewsHeading--en {
		font-size: 2.4rem;
		margin-bottom: 7px;
	}
}

@media screen and (max-width: 320px){
	.top-Visual_Heading img[src$="logo.svg"] {
		width: 75px;
	}

	.top-Visual_Heading img[src*="federation"] {
		width: 40px;
	}
}

@media only screen and (max-width: 768px) {
	.top-SectionHeader {
		margin-right: -20px;
		margin-left: -20px;
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

.top-SectionHeader_Item {
	position: relative;
}

.top-SectionHeader_Image > img {
	width: 160px;
}

@media only screen and (max-width: 768px) {
	.top-SectionHeader_Image > img {
		width: 250px;
	}
}

.top-SectionHeader_Heading {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	margin: 0;
	color: #fff;
	font-size: 1.8rem;
	text-align: left;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	transform: translateX(-50%);
}

.top-SectionHeader_Heading.-narrow {
	letter-spacing: -.1em;
}

@media only screen and (max-width: 768px) {
	.top-SectionHeader_Heading {
		top: 13px;
		bottom: 7px;
		font-size: 2.4rem;
	}
}

.top-SectionHeader_Heading--en {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	margin: 0;
	color: #fff;
	font-size: 1.8rem;
	text-align: center;
	transform: translateX(-50%);
}

.top-SectionHeader_Heading--en.-narrow {
	letter-spacing: -.1em;
}

@media only screen and (max-width: 768px) {
	.top-SectionHeader_Heading--en {
		top: 13px;
		bottom: 7px;
		font-size: 2.4rem;
	}
}

.top-SectionHeader_Text {
	text-align: center;
	margin: 0;
	padding: 0;
}

.top-SectionContents {
	padding-top: 40px;
	padding-bottom: 45px;
}
.top-Section:last-child .top-SectionContents {
	padding-bottom: 0;
}

.top-SectionContents-first {
	padding-bottom: 40px;
}

/* search */
.top-Search {
	margin: 33px auto 0;
}
.top-Search_Title {
	margin: 0 0 15px;
	color: #161A38;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: 1px;
}
.top-Search_Icon {
	margin-right: 4px;
}
.top-Search .st-Searchform_Body {
	background: none;
	padding: 13px 8px;
}
.top-Search .st-Searchform_Button {
	right: 11px;
}

/* newslist */
.top-NewsList {
	margin: 38px auto 0;
	padding: 4px 20px;
	background: #fff;
}
.top-NewsList_Item {
	list-style: none;
}

.top-NewsList_Link {
	display: flex;
	align-items: flex-start;
	border-bottom: solid 1px #F5F5F5;
	padding: 13px 0 13px;
}
.top-NewsList_Item:last-of-type .top-NewsList_Link {
	border-bottom: 0;
}
.top-NewsList_Time {
	color: #0000004D;
	font-size: 1.3rem;
	line-height: 1.5;
	display: block;
}
.top-NewsList_Title {
	color: #000;
	font-size: 1.5rem;
	line-height: 1.5;
	margin: 0 0 0 50px;
	padding: 0;
}
@media only screen and (min-width: 769px) {
	.top-NewsList_Link:hover {
		text-decoration: none;
	}
	.top-NewsList_Link:hover .top-NewsList_Time {
		color: #1186fc;
	}
	.top-NewsList_Link:hover .top-NewsList_Title {
		color: #1186fc;
	}
}

@media only screen and (max-width: 768px) {
	.top-NewsList {
		margin: 30px auto 0;
		padding: 8px 20px;
	}
	.top-NewsList_Item {
		padding: 0;
	}
	.top-NewsList_Link {
		display: block;
	}
	.top-NewsList_Title {
		margin: 11px 0 0;
	}
}


.top-Bnr {
	display: block;
	margin-top: 50px;
	padding: 50px 20px;
	background: #e5e5e5 url(../../common/images/bg_logo.png) center center;
	background-size: 717px auto;
}

@media only screen and (max-width: 768px) {
	.top-Bnr {
		margin-top: 25px;
		padding-top: 40px;
		padding-bottom: 40px;
	}
}

.top-Bnr_Inner {
	max-width: 720px;
	margin-right: auto;
	margin-left: auto;
}

.top-Bnr_Inner h4{
	width: 400px;
	min-height: 50px;
	margin: 0 auto 30px;
	padding: 15px 15px;
	text-align: center;
	background: url(../../top/images/bnr_tit_bg.png) center center no-repeat;
	background-size: 100% auto;
	font-size: 18px;
	line-height: 1.7;
}

.top-Bnr_Inner h4.en{
	width: 280px;
	font-size: 17px;
	font-weight: 500;
	background: url(../../top/images/bnr_tit_bg_en.png) center center no-repeat;
	background-size: 100% auto;
}
.top-Bnr_Inner h4.en.large{
	width: 400px;
}

.top-Bnr_List-add + h4 {
	margin-top: 60px;
}
@media only screen and (max-width: 768px) {
	.top-Bnr_Inner .top-Bnr_List-add + h4,
	.top-Bnr_Inner .top-Bnr_List-add + h4.en {
		margin: 40px auto 0;
	}
}

@media only screen and (max-width: 768px) {
	.top-Bnr_Inner h4,
	.top-Bnr_Inner h4.en{
		width: calc(100% - 40px);
		margin: 0 auto;
		padding: 15px 10px;
		font-size: 14px;
		line-height: 2;
	}
	.top-Bnr_Inner h4.en{
		font-size: 18px;
	}
	.top-Bnr_Inner h4.en.large{
		width: calc(100% - 40px);
		font-size: 14px;
		line-height: 1.4;
	}
}
@media screen and (max-width: 350px){
	.top-Bnr_Inner h4{
		padding: 15px 8px;
		font-size: 12px;
	}
}

.top-Bnr_List {
	display: flex;
	flex-flow: wrap;
	padding: 0;
	list-style: none;
	margin: 35px auto 0;
}

.top-Bnr_List:before{
	content: "";
	display: block;
	width: 553px;
	height: 1px;
	margin:0 auto 35px;
	background: #003563;
}

@media only screen and (max-width: 768px) {
	.top-Bnr_List:before{
		width: calc(100% - 10px);
    margin:0 0 35px 10px;
	}
}

.top-Bnr_List li {
	margin-top: 5px;
	margin-left: 5px;
}

.top-Bnr_List li a {
	transition: .2s;
}

.top-Bnr_List li a:hover {
	opacity: .7;
}

.top-Bnr_List li img {
	width: 100%;
	max-width: 155px;
	object-fit: contain;
}
.top-Bnr_List li img.othersize {
	width: auto;
	max-height: 44px;
  margin: 0 11px;
}

@media only screen and (min-width: 767px){
	.top-Bnr_List {
		width: 642px;
	}
}

@media only screen and (max-width: 768px) {
	.top-Bnr_List {
		margin-top: 45px;
		margin-left: -10px;
	}
	.top-Bnr_List li {
		flex-basis: calc(100% / 2 - 10px);
		margin-top: 10px;
		margin-left: 10px;
	}
	.top-Bnr_List li a {
		text-align: center;
		display: block;
		height: 100%;
	}
	.top-Bnr_List li img {
		max-width: 100%;
	}
	.top-Bnr_List li img.othersize {
		width: 85.6%;
		height: auto;
		max-height: none;
		margin: 0;
	}
}

.top-Bnr_List-add{
	display: flex;
	flex-flow: wrap;
	justify-content: center;
	padding: 0;
	list-style: none;
	margin: 0 auto;
}

.top-Bnr_List-add li {
	width: calc(100% / 3 - 5px);
	margin-top: 5px;
	margin-left: 5px;
}

.top-Bnr_List-add li a {
	transition: .2s;
}

.top-Bnr_List-add li a:hover {
	opacity: .7;
}

.top-Bnr_List-add li img {
	width: 100%;
	max-width: 100%;
}

.top-Bnr_List-add li img.pc_parts {
	display: inline;
}
.top-Bnr_List-add li img.sp_parts {
	display: none;
}

@media only screen and (max-width: 768px) {
	.top-Bnr_List-add li img.pc_parts {
		display: none;
	}
	.top-Bnr_List-add li img.sp_parts {
		display: inline;
	}
}

@media only screen and (max-width: 768px) {
	.top-Bnr_List-add {
		width: calc(100% - 40px);
	}
	.top-Bnr_List-add li {
		flex-basis: 100%;
		margin-top: 10px;
		margin-left: 0;
	}
}

@media only screen and (min-width: 767px){
	.top-Bnr_List-add {
		width: 642px;
	}
}

.followLogo {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 2;
}
.followLogo a {
	display: block;
	width: 145px;
}
@media only screen and (max-width: 768px) {
	.followLogo a {
		width: 60px;
	}
	.followLogo img {
		max-width: 100%;
		height: auto;
	}
}