html, body {
		width: 100%;
}

/*--------------------------------------------------------home*/
.home {
		color: #333333;
}

/*--------------------------------------------------------home-mv*/
.home-mv {
		width: 100%;
		height: auto;
		padding-top: 40%;
		position: relative;
		background: #f9f9f9;
		background-image: url(../../img/slide01__2x.jpg);
		width: 100%;
		height: 100%;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
}

.home-mv__wrap {
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
		/* background: rgba(66, 95, 141, 0.5); */
		z-index: 3;
		display: flex;
		justify-content: center;
		align-items: center;
}

.home-mv.active .home-mv__container {
		opacity: 1;
}

@media (max-width: 780px) {
		.home-mv {
				height: calc(100vh - 12.5vw);
				background-image: url(../../img/slide01_s.jpg);
		}
}

/*--------------------------------------------------------home-copy*/
.home-copy__jp {
		width: 62.811127379vw;
		/* margin-bottom: 60px; */
}

.home-copy__jp img {
		width: 100%;
}

.home-copy__en {
		font-family: "Roboto", sans-serif;
		font-weight: 400;
		-webkit-font-smoothing: antialiased;
		color: #fff;
		font-size: 6.222547584vw;
		letter-spacing: -0.05em;
}

@media screen and (max-width: 780px) {
		.home-copy {
				position: absolute;
				left: 9.0666666667vw;
				top: 56.2666666667vw;
				width: auto;
				height: auto;
		}
		.home-copy__jp {
				width: 84.568vw;
				margin-bottom: 45px;
		}
		.home-copy__en {
				font-size: 7.3333333333vw;
		}
}

/*--------------------------------------------------------home-scroll*/
.home-scroll {
		position: absolute;
		z-index: 3;
		display: block;
		width: 12px;
		height: 122px;
		right: 30px;
		bottom: 30px;
		cursor: pointer;
		transition: all 300ms ease-out;
}

.home-scroll:hover {
		opacity: 0.7;
		bottom: 25px;
}

@media screen and (max-width: 780px) {
		.home-scroll {
				display: none;
		}
}

/*--------------------------------------------------------home-message*/
.s0 {
		padding: 60px 0 0;
}

.s0 .news_flex {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		width: 854px;
		margin: 0 auto;
}

.s0 .news_flex .ttl {
		flex-basis: 100px;
		font-size: 20px;
}

.s0 .news_flex .summary {
		border-left: 1px solid #333;
}

.s0 .news_flex .summary ul {
		display: flex;
		justify-content: flex-start;
		flex-wrap: wrap;
		margin: 0 auto;
		width: 754px;
}

.s0 .news_flex .summary li {
		font-size: 16px;
		line-height: 2.5;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 15px;
		padding-left: 40px;
}

.s0 .news_flex .summary li::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.5) * 0.5em);
}

.s0 .news_flex .summary li:last-child {
		margin-bottom: 0;
}

@media (max-width: 1366px) {
		.s0 {
				padding: 4.39239vw 0 0;
		}
		.s0 .news_flex {
				display: flex;
				justify-content: flex-start;
				align-items: flex-start;
				width: 62.5183vw;
				margin: 0 auto;
		}
		.s0 .news_flex .ttl {
				flex-basis: 7.32064vw;
				font-size: 1.46413vw;
		}
		.s0 .news_flex .summary {
				border-left: 1px solid #333;
		}
		.s0 .news_flex .summary ul {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				margin: 0 auto;
				width: 55.19766vw;
		}
		.s0 .news_flex .summary li {
				font-size: 1.1713vw;
				line-height: 2.5;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.0981vw;
				padding-left: 2.92826vw;
		}
		.s0 .news_flex .summary li::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.5) * 0.5em);
		}
		.s0 .news_flex .summary li:last-child {
				margin-bottom: 0;
		}
}

@media (max-width: 780px) {
		.s0 {
				padding: 5vw 0 0;
		}
		.s0 .news_flex {
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: flex-start;
				width: 90vw;
				margin: 0 auto;
		}
		.s0 .news_flex .ttl {
				flex-basis: 100%;
				font-size: 1.90337vw;
				padding-bottom: 2vw;
		}
		.s0 .news_flex .summary {
				border-left: none;
				border-top: 1px solid #333;
		}
		.s0 .news_flex .summary ul {
				display: flex;
				justify-content: flex-start;
				flex-wrap: wrap;
				margin: 2vw auto 0;
				width: 90vw;
		}
		.s0 .news_flex .summary li {
				font-size: 2.82051vw;
				line-height: 2;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 4vw;
				padding-left: 0;
		}
		.s0 .news_flex .summary li::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2) * 0.5em);
		}
		.s0 .news_flex .summary li:last-child {
				margin-bottom: 0;
		}
}

/*--------------------------------------------------------home-message*/
.s1 {
		padding: 70px 0 330px;
}

.s1 .s1_flex {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
}

.s1 .s1_bx_img {
		flex-basis: 50%;
		max-width: 50%;
		text-align: center;
}

.s1 .s1_bx_img img {
		text-align: center;
		max-width: 74%;
}

.s1 .s1_bx_txt {
		flex-basis: 50%;
		max-width: 50%;
		text-align: left;
}

.s1 .s1_bx_txt h3 {
		font-size: 30px;
		line-height: 2.33;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 25px;
}

.s1 .s1_bx_txt h3::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.33) * 0.5em);
}

.s1 .s1_bx_txt p {
		font-size: 16px;
		line-height: 2.5;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 25px;
}

.s1 .s1_bx_txt p::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.5) * 0.5em);
}

@media (max-width: 1366px) {
		.s1 {
				padding: 5.12445vw 0 24.15813vw;
		}
		.s1 .s1_flex {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
		}
		.s1 .s1_bx_img {
				flex-basis: 50%;
				max-width: 50%;
				text-align: center;
		}
		.s1 .s1_bx_img img {
				text-align: center;
				max-width: 74%;
		}
		.s1 .s1_bx_txt {
				flex-basis: 50%;
				max-width: 50%;
				text-align: left;
		}
		.s1 .s1_bx_txt h3 {
				font-size: 2.19619vw;
				line-height: 2.33;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.83016vw;
		}
		.s1 .s1_bx_txt h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.33) * 0.5em);
		}
		.s1 .s1_bx_txt p {
				font-size: 1.1713vw;
				line-height: 2.5;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.83016vw;
		}
		.s1 .s1_bx_txt p::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.5) * 0.5em);
		}
}

@media (max-width: 780px) {
		.s1 {
				padding: 10vw 0 25vw;
		}
		.s1 .s1_flex {
				display: flex;
				flex-wrap: wrap;
				flex-direction: column;
				align-items: flex-start;
				width: 80vw;
				margin: 0 auto;
		}
		.s1 .s1_bx_img {
				flex-basis: 100%;
				max-width: 100%;
				text-align: left;
				margin-bottom: 20vw;
		}
		.s1 .s1_bx_img img {
				text-align: center;
				max-width: 66vw;
		}
		.s1 .s1_bx_txt {
				flex-basis: 100%;
				max-width: 100%;
				text-align: left;
		}
		.s1 .s1_bx_txt h3 {
				font-size: 5.64103vw;
				line-height: 2;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 8vw;
		}
		.s1 .s1_bx_txt h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2) * 0.5em);
		}
		.s1 .s1_bx_txt p {
				font-size: 3.84615vw;
				line-height: 2.33;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 8vw;
		}
		.s1 .s1_bx_txt p::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.33) * 0.5em);
		}
}

/*--------------------------------------------------------home-movie*/
.s2 {
		background: linear-gradient(180deg, rgba(51, 51, 51, 0.05) 0%, rgba(118, 118, 118, 0.05) 100%);
		width: 100%;
		height: 660px;
}

.s2 .s2_bg {
		background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 95%, white 95%, white 100%);
		width: 100%;
		height: 660px;
}

.s2 .inner {
		width: 100%;
		height: 100%;
		position: relative;
}

.s2 .inner .s2_copy {
		position: absolute;
		top: -15%;
		left: 2.26%;
		width: 18.26%;
}

.s2 .inner .s2_copy img {
		max-width: 90%;
}

.s2 .inner .movie_flex {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		width: 62.5183%;
		max-width: 854px;
		margin: 0 auto;
		display: flex;
		justify-content: space-between;
}

.s2 .inner .movie_flex .movie_bx {
		flex-basis: 47%;
		text-align: center;
}

.s2 .inner .movie_flex .movie_bx p {
		font-size: 16px;
		margin: 10px auto 0;
}

.s2 .inner .movie_flex img {
		max-width: 100%;
}

.s2 .inner .s2_ttl {
		position: absolute;
		top: -17.9%;
		left: 50%;
		width: 25.26%;
}

.s2 .inner .s2_ttl img {
		max-width: 100%;
}

@media (max-width: 780px) {
		.s2 {
				background: #F4F4F4;
				width: 100%;
				height: auto;
				padding-top: 140.51282%;
				position: relative;
		}
		.s2 .s2_bg {
				background: none;
				width: 100%;
				height: auto;
		}
		.s2 .inner {
				width: 100%;
				height: auto;
				position: inherit;
				overflow-x: hidden;
		}
		.s2 .inner .s2_copy {
				position: absolute;
				top: -12vw;
				left: 83vw;
				right: -3vw;
				width: auto;
		}
		.s2 .inner .s2_copy img {
				max-width: 100%;
		}
		.s2 .inner .movie_flex {
				position: absolute;
				top: 62%;
				left: 50%;
				transform: translate(-50%, -50%);
				-webkit-transform: translate(-50%, -50%);
				-ms-transform: translate(-50%, -50%);
				width: 80vw;
				max-width: 80vw;
				margin: 0 auto;
				padding: 0;
				display: flex;
				flex-direction: column;
				flex-wrap: wrap;
		}
		.s2 .inner .movie_bx {
				flex-basis: 100%;
				margin-bottom: 3vw;
		}
		.s2 .inner .movie_bx p {
				font-size: 1.61054vw;
				margin: 2vw auto 0;
		}
		.s2 .inner .s2_ttl {
				position: absolute;
				top: -5vw;
				left: 10vw;
				right: 45vw;
				width: auto;
		}
		.s2 .inner .s2_ttl img {
				max-width: 100%;
		}
		.s2 .inner .s2_sp_copy {
				position: absolute;
				top: 21vw;
				left: 10vw;
		}
		.s2 .inner .s2_sp_copy h3 {
				font-size: 5.64103vw;
				line-height: 2;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 8vw;
		}
		.s2 .inner .s2_sp_copy h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2) * 0.5em);
		}
}

/*--------------------------------------------------------home-about*/
.s3 {
		padding-top: 211px;
		width: 100%;
}

.s3 .s3_bg {
		width: 100%;
		height: 732px;
		padding: 0;
		background-image: url(../../img/s3_bg__2x.jpg);
		background-position: top center;
		background-repeat: no-repeat;
		background-size: auto;
}

.s3 .s3_bg .inner {
		position: relative;
		width: 100%;
		height: 732px;
}

.s3 .s3_bg .inner .red_ico {
		position: absolute;
		top: 0;
		right: 183px;
		width: 11.4%;
}

.s3 .s3_bg .inner .red_ico img {
		max-width: 100%;
}

.s3 .inner {
		width: 100%;
		height: 356px;
		position: relative;
}

.s3 .inner .s3_ttl {
		position: absolute;
		top: -341px;
		left: 139px;
		width: 32.9%;
}

.s3 .inner .s3_ttl img {
		max-width: 100%;
}

.s3 .inner h3 {
		position: absolute;
		top: -55px;
		left: 139px;
		font-size: 30px;
		line-height: 2.33;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 25px;
}

.s3 .inner h3::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.33) * 0.5em);
}

.s3 .inner .home-btn {
		position: absolute;
		top: 175px;
		left: 139px;
		z-index: 30;
}

@media (max-width: 1366px) {
		.s3 {
				padding-top: 15.44656vw;
				width: 100%;
		}
		.s3 .s3_bg {
				width: 100%;
				height: 53.58712vw;
				padding: 0;
				background-image: url(../../img/s3_bg__2x.jpg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
		}
		.s3 .s3_bg .inner {
				position: relative;
				width: 100%;
				height: 53.58712vw;
		}
		.s3 .s3_bg .inner .red_ico {
				position: absolute;
				top: 0;
				right: 13.39678vw;
				width: 11.4%;
		}
		.s3 .s3_bg .inner .red_ico img {
				max-width: 100%;
		}
		.s3 .inner {
				width: 100%;
				height: 26.06149vw;
				position: relative;
		}
		.s3 .inner .s3_ttl {
				position: absolute;
				top: -24.9634vw;
				left: 10.1757vw;
				width: 32.9%;
		}
		.s3 .inner .s3_ttl img {
				max-width: 100%;
		}
		.s3 .inner h3 {
				position: absolute;
				top: -4.02635vw;
				left: 10.1757vw;
				font-size: 2.19619vw;
				line-height: 2.33;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.83016vw;
		}
		.s3 .inner h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.33) * 0.5em);
		}
		.s3 .inner .home-btn {
				position: absolute;
				top: 12.81113vw;
				left: 10.1757vw;
				z-index: 30;
		}
}

@media (max-width: 780px) {
		.s3 {
				padding: 33vw 0;
				width: 100%;
		}
		.s3 .s3_bg {
				width: 100%;
				height: auto;
				padding: 0;
				background-image: url(../../img/s3_bg_s.jpg);
				background-position: top center;
				background-repeat: no-repeat;
				background-size: auto;
		}
		.s3 .s3_bg .inner {
				position: relative;
				width: 100%;
				height: auto;
				padding-top: 73.71794%;
		}
		.s3 .s3_bg .inner .red_ico {
				position: absolute;
				top: -12vw;
				left: 83vw;
				right: -3vw;
				width: auto;
		}
		.s3 .s3_bg .inner .red_ico img {
				max-width: 100%;
		}
		.s3 .s3_bg .inner .s3_ttl {
				position: absolute;
				top: 37vw;
				left: 10vw;
				right: 32.5vw;
				width: auto;
		}
		.s3 .s3_bg .inner .s3_ttl img {
				max-width: 100%;
		}
		.s3 .inner {
				width: 80vw;
				height: auto;
				position: static;
				padding: 10vw 0;
		}
		.s3 .inner h3 {
				position: static;
				top: auto;
				left: auto;
				font-size: 5.12821vw;
				line-height: 2;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 10vw;
		}
		.s3 .inner h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2) * 0.5em);
		}
		.s3 .inner .home-btn {
				position: static;
				top: auto;
				left: auto;
				z-index: 30;
		}
}

/*--------------------------------------------------------home-person*/
.s4 {
		background: linear-gradient(180deg, rgba(51, 51, 51, 0.05) 0%, rgba(118, 118, 118, 0.05) 100%);
		width: 100%;
		height: auto;
		position: relative;
}

.s4 .s4_bg {
		background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 95%, white 95%, white 100%);
		width: 100%;
		height: auto;
}

.s4 .s4_flex {
		display: flex;
		width: 100%;
		flex-wrap: nowrap;
		justify-content: space-between;
		padding: 145px 0 100px;
}

.s4 .s4_img01 {
		flex-basis: 20%;
		max-width: 20%;
		position: relative;
}

.s4 .s4_img01 .bg_img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
}

.s4 .s4_img01 .bg_img img {
		width: 100%;
}

.s4 .s4_img01 .ttl {
		position: absolute;
		top: -1.01562vw;
		left: 0;
		width: 43%;
}

.s4 .s4_img01 .ttl img {
		max-width: 100%;
}

.s4 .s4_img02 {
		flex-basis: 20%;
		max-width: 20%;
		height: 100%;
		position: relative;
}

.s4 .s4_img02 .bg_img {
		position: relative;
		top: 1.5625vw;
		left: 0;
		right: 0;
}

.s4 .s4_img02 .bg_img img {
		width: 100%;
}

.s4 .s4_img02 .ttl {
		position: absolute;
		top: 1.40625vw;
		left: 0;
		width: 60%;
}

.s4 .s4_img02 .ttl img {
		max-width: 100%;
}

.s4 .s4_img02 .red_ico {
		position: absolute;
		bottom: -1.5625vw;
		left: -1.5625vw;
		width: 3.38542vw;
}

.s4 .s4_img02 .red_ico img {
		max-width: 100%;
}

.s4 .s4_img03 {
		flex-basis: 20%;
		max-width: 20%;
		position: relative;
}

.s4 .s4_img03 .bg_img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
}

.s4 .s4_img03 .bg_img img {
		width: 100%;
}

.s4 .s4_img03 .ttl {
		position: absolute;
		top: -1.01562vw;
		left: 0;
		width: 39%;
}

.s4 .s4_img03 .ttl img {
		max-width: 100%;
}

.s4 .s4_img04 {
		flex-basis: 20%;
		max-width: 20%;
		position: relative;
}

.s4 .s4_img04 .bg_img {
		position: absolute;
		top: 1.5625vw;
		left: 0;
		right: 0;
}

.s4 .s4_img04 .bg_img img {
		width: 100%;
}

.s4 .s4_img04 .ttl {
		position: absolute;
		top: 1.40625vw;
		left: 0;
		width: 27%;
}

.s4 .s4_img04 .ttl img {
		max-width: 100%;
}

.s4 .s4_img05 {
		flex-basis: 20%;
		max-width: 20%;
		position: relative;
}

.s4 .s4_img05 .bg_img {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
}

.s4 .s4_img05 .bg_img img {
		width: 100%;
}

.s4 .s4_img05 .ttl {
		position: absolute;
		top: -1.01562vw;
		left: 0;
		width: 44.5%;
}

.s4 .s4_img05 .ttl img {
		max-width: 100%;
}

.s4 .inner {
		position: relative;
		bottom: -60px;
		left: 0;
		height: 261px;
		margin: 0 auto;
}

.s4 .inner .s4_flex02 {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		width: 100%;
}

.s4 .inner .s4_bx_img {
		flex-basis: 50%;
		max-width: 50%;
		text-align: center;
}

.s4 .inner .s4_bx_img img {
		text-align: center;
		max-width: 69%;
}

.s4 .inner .s4_bx_txt {
		flex-basis: 50%;
		max-width: 50%;
		text-align: left;
}

.s4 .inner .s4_bx_txt h3 {
		font-size: 30px;
		line-height: 2.33;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 55px;
}

.s4 .inner .s4_bx_txt h3::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.33) * 0.5em);
}

@media (max-width: 1366px) {
		.s4 {
				background: linear-gradient(180deg, rgba(51, 51, 51, 0.05) 0%, rgba(118, 118, 118, 0.05) 100%);
				width: 100%;
				height: auto;
				position: relative;
		}
		.s4 .s4_bg {
				background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 95%, white 95%, white 100%);
				width: 100%;
				height: auto;
		}
		.s4 .s4_flex {
				display: flex;
				width: 100%;
				flex-wrap: nowrap;
				justify-content: space-between;
				padding: 10.61493vw 0 7.32064vw;
		}
		.s4 .s4_img01 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img01 .bg_img {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
		}
		.s4 .s4_img01 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img01 .ttl {
				position: absolute;
				top: -1.42753vw;
				left: 0;
				width: 43%;
		}
		.s4 .s4_img01 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img02 {
				flex-basis: 20%;
				max-width: 20%;
				height: 100%;
				position: relative;
		}
		.s4 .s4_img02 .bg_img {
				position: relative;
				top: 2.19619vw;
				left: 0;
				right: 0;
		}
		.s4 .s4_img02 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img02 .ttl {
				position: absolute;
				top: 1.97657vw;
				left: 0;
				width: 60%;
		}
		.s4 .s4_img02 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img02 .red_ico {
				position: absolute;
				bottom: -2.19619vw;
				left: -2.19619vw;
				width: 4.75842vw;
		}
		.s4 .s4_img02 .red_ico img {
				max-width: 100%;
		}
		.s4 .s4_img03 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img03 .bg_img {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
		}
		.s4 .s4_img03 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img03 .ttl {
				position: absolute;
				top: -1.42753vw;
				left: 0;
				width: 39%;
		}
		.s4 .s4_img03 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img04 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img04 .bg_img {
				position: absolute;
				top: 2.19619vw;
				left: 0;
				right: 0;
		}
		.s4 .s4_img04 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img04 .ttl {
				position: absolute;
				top: 1.97657vw;
				left: 0;
				width: 27%;
		}
		.s4 .s4_img04 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img05 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img05 .bg_img {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
		}
		.s4 .s4_img05 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img05 .ttl {
				position: absolute;
				top: -1.42753vw;
				left: 0;
				width: 44.5%;
		}
		.s4 .s4_img05 .ttl img {
				max-width: 100%;
		}
		.s4 .inner {
				position: relative;
				bottom: -4.39239vw;
				left: 0;
				height: 19.10688vw;
				margin: 0 auto;
		}
		.s4 .inner .s4_flex02 {
				display: flex;
				justify-content: space-between;
				align-items: flex-start;
				width: 100%;
		}
		.s4 .inner .s4_bx_img {
				flex-basis: 50%;
				max-width: 50%;
				text-align: center;
		}
		.s4 .inner .s4_bx_img img {
				text-align: center;
				max-width: 69%;
		}
		.s4 .inner .s4_bx_txt {
				flex-basis: 50%;
				max-width: 50%;
				text-align: left;
		}
		.s4 .inner .s4_bx_txt h3 {
				font-size: 2.19619vw;
				line-height: 2.33;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 4.02635vw;
		}
		.s4 .inner .s4_bx_txt h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.33) * 0.5em);
		}
}

@media (max-width: 780px) {
		.s4 {
				background: #F4F4F4;
				width: 100%;
				height: auto;
				position: static;
		}
		.s4 .s4_bg {
				background: none;
				width: 100%;
				height: auto;
				padding-top: 160.89743%;
				position: relative;
		}
		.s4 .s4_bx_img {
				position: absolute;
				left: 10vw;
				top: -4vw;
				right: 29vw;
		}
		.s4 .s4_bx_img img {
				max-width: 100%;
		}
		.s4 .red_ico {
				position: absolute;
				top: -12vw;
				left: 83vw;
				right: -3vw;
				width: auto;
		}
		.s4 .red_ico img {
				max-width: 100%;
		}
		.s4 .s4_flex {
				display: flex;
				width: 100%;
				flex-wrap: nowrap;
				justify-content: space-between;
				padding: 145px 0;
				position: absolute;
				top: 13vw;
		}
		.s4 .s4_img01 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img01 .bg_img {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
		}
		.s4 .s4_img01 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img01 .ttl {
				position: absolute;
				top: -5vw;
				left: 0;
				width: 82%;
		}
		.s4 .s4_img01 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img02 {
				flex-basis: 20%;
				max-width: 20%;
				height: 100%;
				position: relative;
		}
		.s4 .s4_img02 .bg_img {
				position: relative;
				top: 12.5vw;
				left: 0;
				right: 0;
		}
		.s4 .s4_img02 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img02 .ttl {
				position: absolute;
				top: 11vw;
				left: 0;
				width: 100%;
		}
		.s4 .s4_img02 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img02 .red_ico {
				position: absolute;
				bottom: -1.5625vw;
				left: -1.5625vw;
				width: 3.38542vw;
		}
		.s4 .s4_img02 .red_ico img {
				max-width: 100%;
		}
		.s4 .s4_img03 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img03 .bg_img {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
		}
		.s4 .s4_img03 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img03 .ttl {
				position: absolute;
				top: -5vw;
				left: 0;
				width: 76%;
		}
		.s4 .s4_img03 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img04 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img04 .bg_img {
				position: absolute;
				top: 12.5vw;
				left: 0;
				right: 0;
		}
		.s4 .s4_img04 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img04 .ttl {
				position: absolute;
				top: 9.8vw;
				left: 0;
				width: 50%;
		}
		.s4 .s4_img04 .ttl img {
				max-width: 100%;
		}
		.s4 .s4_img05 {
				flex-basis: 20%;
				max-width: 20%;
				position: relative;
		}
		.s4 .s4_img05 .bg_img {
				position: absolute;
				top: 0;
				left: 0;
				right: 0;
		}
		.s4 .s4_img05 .bg_img img {
				width: 100%;
		}
		.s4 .s4_img05 .ttl {
				position: absolute;
				top: -5vw;
				left: 0;
				width: 80%;
		}
		.s4 .s4_img05 .ttl img {
				max-width: 100%;
		}
		.s4 .inner {
				position: static;
		}
		.s4 .inner .s4_flex02 {
				display: flex;
				flex-direction: column;
				align-items: flex-start;
				width: 80vw;
				position: absolute;
				top: 160vw;
				left: 10vw;
		}
		.s4 .inner .s4_bx_txt {
				flex-basis: 100%;
				max-width: 100%;
				text-align: left;
		}
		.s4 .inner .s4_bx_txt h3 {
				font-size: 5.64103vw;
				line-height: 2;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 8vw;
		}
		.s4 .inner .s4_bx_txt h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2) * 0.5em);
		}
}

/*--------------------------------------------------------home-Culture&Recruit*/
.s5 {
		padding: 211px 0 130px;
		width: 100%;
}

.s5 .s5_bg {
		width: 100%;
		height: 632px;
		background-image: url(../../img/s5_bg__2x.jpg);
		background-position: top center;
		background-repeat: no-repeat;
		background-size: auto;
		z-index: 1;
}

.s5 .s5_flex {
		display: flex;
		justify-content: space-between;
		width: 874px;
		margin: 0 auto;
		position: relative;
		z-index: 3;
}

.s5 .s5_bx_l {
		flex-basis: 340px;
		max-width: 340px;
		text-align: center;
		margin-top: -170px;
}

.s5 .s5_bx_l .red_ico {
		width: 66px;
		margin: 0 auto 56px;
}

.s5 .s5_bx_l .red_ico img {
		max-width: 100%;
}

.s5 .s5_bx_l .ttl {
		margin: 0 auto 26px;
}

.s5 .s5_bx_l p {
		font-size: 16px;
		line-height: 2.5;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 25px;
}

.s5 .s5_bx_l p::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.5) * 0.5em);
}

.s5 .s5_bx_l .home-btn {
		margin: 0 auto;
}

.s5 .s5_bx_r {
		flex-basis: 340px;
		max-width: 340px;
		text-align: center;
		margin-top: -35px;
}

.s5 .s5_bx_r .red_ico {
		width: 66px;
		margin: 0 auto 56px;
}

.s5 .s5_bx_r .red_ico img {
		max-width: 100%;
}

.s5 .s5_bx_r .ttl {
		margin: 0 auto 26px;
}

.s5 .s5_bx_r p {
		font-size: 16px;
		line-height: 2.5;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 25px;
}

.s5 .s5_bx_r p::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.5) * 0.5em);
}

.s5 .s5_bx_r .home-btn {
		margin: 0 auto;
}

.s5 .inner {
		position: absolute;
		width: 100%;
		height: 100%;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
}

.s5 .inner .red_ico {
		position: absolute;
		top: 0;
		right: 183px;
		width: 11.4%;
}

.s5 .inner .red_ico img {
		max-width: 100%;
}

.s5 .inner {
		width: 100%;
		height: 356px;
		position: relative;
}

.s5 .inner .s3_ttl {
		position: absolute;
		top: -341px;
		left: 139px;
		width: 32.9%;
}

.s5 .inner .s3_ttl img {
		max-width: 100%;
}

.s5 .inner h3 {
		position: absolute;
		top: -55px;
		left: 139px;
		font-size: 30px;
		line-height: 2.33;
		letter-spacing: 0.1em;
		font-weight: 400;
		margin-bottom: 25px;
}

.s5 .inner h3::before {
		content: '';
		display: block;
		height: 0;
		width: 0;
		margin-top: calc((1 - 2.33) * 0.5em);
}

.s5 .inner .home-btn {
		position: absolute;
		top: 175px;
		left: 139px;
		z-index: 30;
}

@media (max-width: 1366px) {
		.s5 {
				padding: 15.44656vw 0 9.51684vw;
				width: 100%;
		}
		.s5 .s5_bg {
				width: 100%;
				height: 55.6369vw;
				background-image: url(../../img/s5_bg__2x.jpg);
				background-position: center;
				background-repeat: no-repeat;
				background-size: cover;
				z-index: 1;
		}
		.s5 .s5_flex {
				display: flex;
				justify-content: space-between;
				width: 63.98243vw;
				margin: 0 auto;
				position: relative;
				z-index: 3;
		}
		.s5 .s5_bx_l {
				flex-basis: 24.89019vw;
				max-width: 24.89019vw;
				text-align: center;
				margin-top: -12.4451vw;
		}
		.s5 .s5_bx_l .red_ico {
				width: 4.83163vw;
				margin: 0 autopv(56);
		}
		.s5 .s5_bx_l .red_ico img {
				max-width: 100%;
		}
		.s5 .s5_bx_l .ttl {
				margin: 0 auto 1.90337vw;
		}
		.s5 .s5_bx_l p {
				font-size: 1.1713vw;
				line-height: 2.5;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.83016vw;
		}
		.s5 .s5_bx_l p::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.5) * 0.5em);
		}
		.s5 .s5_bx_l .home-btn {
				margin: 0 auto;
		}
		.s5 .s5_bx_r {
				flex-basis: 24.89019vw;
				max-width: 24.89019vw;
				text-align: center;
				margin-top: -2.56223vw;
		}
		.s5 .s5_bx_r .red_ico {
				width: 4.83163vw;
				margin: 0 auto 4.09956vw;
		}
		.s5 .s5_bx_r .red_ico img {
				max-width: 100%;
		}
		.s5 .s5_bx_r .ttl {
				margin: 0 auto 1.90337vw;
		}
		.s5 .s5_bx_r p {
				font-size: 1.1713vw;
				line-height: 2.5;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.83016vw;
		}
		.s5 .s5_bx_r p::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.5) * 0.5em);
		}
		.s5 .s5_bx_r .home-btn {
				margin: 0 auto;
		}
		.s5 .inner {
				position: absolute;
				width: 100%;
				height: 100%;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
		}
		.s5 .inner .red_ico {
				position: absolute;
				top: 0;
				right: 13.39678vw;
				width: 11.4%;
		}
		.s5 .inner .red_ico img {
				max-width: 100%;
		}
		.s5 .inner {
				width: 100%;
				height: 26.06149vw;
				position: relative;
		}
		.s5 .inner .s3_ttl {
				position: absolute;
				top: -24.9634vw;
				left: 10.1757vw;
				width: 32.9%;
		}
		.s5 .inner .s3_ttl img {
				max-width: 100%;
		}
		.s5 .inner h3 {
				position: absolute;
				top: -4.02635vw;
				left: 10.1757vw;
				font-size: 2.19619vw;
				line-height: 2.33;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 1.83016vw;
		}
		.s5 .inner h3::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 2.33) * 0.5em);
		}
		.s5 .inner .home-btn {
				position: absolute;
				top: 12.81113vw;
				left: 10.1757vw;
				z-index: 30;
		}
}

@media (max-width: 780px) {
		.s5 {
				padding: 0;
				width: 100%;
		}
		.s5 .s5_bg {
				width: 100%;
				height: auto;
				background-image: none;
				z-index: 1;
		}
		.s5 .s5_flex {
				display: flex;
				flex-direction: column;
				width: 100%;
				margin: 0 auto;
				position: static;
				z-index: 3;
		}
		.s5 .s5_bx_l {
				flex-basis: 100%;
				max-width: 100%;
				text-align: center;
				margin-top: 0;
				background-image: url(../../img/s5_bx_l_s.png);
				background-repeat: no-repeat;
				background-position: top;
				background-size: contain;
		}
		.s5 .s5_bx_l .red_ico {
				width: 16vw;
				margin: 52vw auto 20vw;
		}
		.s5 .s5_bx_l .red_ico img {
				max-width: 100%;
		}
		.s5 .s5_bx_l .ttl {
				margin: 0 auto 10vw;
				width: 38vw;
		}
		.s5 .s5_bx_l .ttl img {
				max-width: 100%;
		}
		.s5 .s5_bx_l p {
				font-size: 4.61538vw;
				line-height: 1.944;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 10vw;
		}
		.s5 .s5_bx_l p::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 1.944) * 0.5em);
		}
		.s5 .s5_bx_l .home-btn {
				margin: 0 auto 34vw;
		}
		.s5 .s5_bx_r {
				flex-basis: 100%;
				max-width: 100%;
				text-align: center;
				margin-top: 0;
				background-image: url(../../img/s5_bx_r_s.png);
				background-repeat: no-repeat;
				background-position: top;
				background-size: contain;
		}
		.s5 .s5_bx_r .red_ico {
				width: 16vw;
				margin: 52vw auto 20vw;
		}
		.s5 .s5_bx_r .red_ico img {
				max-width: 100%;
		}
		.s5 .s5_bx_r .ttl {
				margin: 0 auto 10vw;
				width: 35vw;
		}
		.s5 .s5_bx_r .ttl img {
				max-width: 100%;
		}
		.s5 .s5_bx_r p {
				font-size: 4.61538vw;
				line-height: 1.944;
				letter-spacing: 0.1em;
				font-weight: 400;
				margin-bottom: 10vw;
		}
		.s5 .s5_bx_r p::before {
				content: '';
				display: block;
				height: 0;
				width: 0;
				margin-top: calc((1 - 1.944) * 0.5em);
		}
		.s5 .s5_bx_r .home-btn {
				margin: 0 auto 34vw;
		}
		.s5 .inner {
				position: absolute;
				width: 100%;
				height: 100%;
				top: 0;
				left: 0;
				right: 0;
				bottom: 0;
		}
		.s5 .inner .red_ico {
				position: absolute;
				top: 0;
				right: 183px;
				width: 11.4%;
		}
		.s5 .inner .red_ico img {
				max-width: 100%;
		}
}

/*--------------------------------------------------------home-Link*/
.s6 {
		padding: 100px 0 80px;
		background-color: #F5F5F5;
}

.s6 .s6_flex {
		display: flex;
		justify-content: space-between;
		align-items: center;
		max-width: 1088px;
		margin: 0 auto;
}

.s6 .s6_txt {
		flex-basis: 70px;
		max-width: 70px;
}

.s6 .s6_txt p {
		font-size: 20px;
		line-height: 1;
}

.s6 .s6_img {
		flex-basis: 408px;
		max-width: 408px;
}

.s6 .s6_img img {
		width: 100%;
}

.s6 .s6_img p {
		font-size: 20px;
		line-height: 1;
		margin-top: 10px;
		position: relative;
}

.s6 .s6_img p a {
		color: #333;
}

.s6 .s6_img p:after {
		content: "";
		background-image: url(../img/ico_outer_bk.svg);
		background-repeat: no-repeat;
		background-size: contain;
		height: 10px;
		width: 10px;
		margin-left: 10px;
		position: absolute;
		top: calc(50% - 5px);
}

@media (max-width: 1366px) {
		.s6 {
				padding: 7.32064vw 0 5.85652vw;
				background-color: #F5F5F5;
		}
		.s6 .s6_flex {
				display: flex;
				justify-content: space-between;
				align-items: center;
				max-width: 79.64861vw;
				margin: 0 auto;
		}
		.s6 .s6_txt {
				flex-basis: 5.12445vw;
				max-width: 5.12445vw;
		}
		.s6 .s6_txt p {
				font-size: 1.46413vw;
				line-height: 1;
		}
		.s6 .s6_img {
				flex-basis: 29.86823vw;
				max-width: 29.86823vw;
		}
		.s6 .s6_img img {
				width: 100%;
		}
		.s6 .s6_img p {
				font-size: 1.46413vw;
				line-height: 1;
				margin-top: 0.73206vw;
				position: relative;
		}
		.s6 .s6_img p a {
				color: #333;
		}
		.s6 .s6_img p:after {
				content: "";
				background-image: url(../img/ico_outer_bk.svg);
				background-repeat: no-repeat;
				background-size: contain;
				height: 0.73206vw;
				width: 0.73206vw;
				margin-left: 0.73206vw;
				position: absolute;
				top: calc(50% - 5px);
		}
}

@media (max-width: 780px) {
		.s6 {
				padding: 22.5vw 0 14vw;
				background-color: #F5F5F5;
		}
		.s6 .s6_flex {
				display: flex;
				flex-direction: column;
				align-items: center;
				width: 70vw;
				margin: 0 auto;
		}
		.s6 .s6_txt {
				flex-basis: 100%;
				max-width: 100%;
				text-align: center;
				margin-bottom: 12.5vw;
		}
		.s6 .s6_txt p {
				font-size: 5.12821vw;
				line-height: 1;
		}
		.s6 .s6_img {
				flex-basis: 100%;
				max-width: 100%;
				margin-bottom: 10vw;
		}
		.s6 .s6_img img {
				width: 100%;
		}
		.s6 .s6_img p {
				font-size: 3.84615vw;
				line-height: 1;
				margin-top: 2.5vw;
				position: relative;
		}
		.s6 .s6_img p a {
				color: #333;
		}
		.s6 .s6_img p:after {
				content: "";
				background-image: url(../img/ico_outer_bk.svg);
				background-repeat: no-repeat;
				background-size: contain;
				height: 2.5vw;
				width: 2.5vw;
				margin-left: 2vw;
				position: absolute;
				top: calc(50% - 1.25vw);
		}
}

/*--------------------------------------------------------home-btn*/
.home-btn {
		width: 300px;
		background: #333;
		color: #fff;
		box-sizing: border-box;
}

.home-btn__header {
		cursor: pointer;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		height: 70px;
		font-size: 16px;
		line-height: 1;
		font-family: "Roboto", sans-serif;
		font-weight: 400;
		-webkit-font-smoothing: antialiased;
}

.active .home-btn__header {
		background-color: #6f6f6f;
}

.home-btn__header:after {
		content: "";
		background-image: url(../img/arrow_up_wh.svg);
		background-repeat: no-repeat;
		background-size: contain;
		background-position: center;
		display: block;
		position: absolute;
		top: calc(50% - 3px);
		right: 30px;
		width: 10px;
		height: 6px;
}

.home-btn__list {
		opacity: 0;
		height: 0;
		overflow: hidden;
		transition: all 300ms ease-out;
		pointer-events: none;
}

.home-btn__link {
		display: flex;
		justify-content: center;
		width: 100%;
		height: 70px;
		font-size: 16px;
		line-height: 1;
		align-items: center;
		color: #fff !important;
		text-decoration: none !important;
		border-top: solid 1px rgba(255, 255, 255, 0.5);
		padding: 0;
}

.home-btn.active .home-btn__header:after {
		transform: rotate(-180deg);
		top: calc(50% - 3px);
}

.home-btn.active .home-btn__list {
		height: auto;
		opacity: 1;
		pointer-events: auto;
}

@media (max-width: 1366px) {
		.home-btn {
				width: 21.96193vw;
				background: #333;
				color: #fff;
				box-sizing: border-box;
		}
		.home-btn__header {
				cursor: pointer;
				position: relative;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				height: 5.12445vw;
				font-size: 1.1713vw;
				line-height: 1;
				font-family: "Roboto", sans-serif;
				font-weight: 400;
				-webkit-font-smoothing: antialiased;
		}
		.active .home-btn__header {
				background-color: #6f6f6f;
		}
		.home-btn__header:after {
				content: "";
				background-image: url(../img/arrow_up_wh.svg);
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center;
				display: block;
				position: absolute;
				top: calc(50% - 3px);
				right: 2.19619vw;
				width: 0.73206vw;
				height: 0.43924vw;
		}
		.home-btn__list {
				opacity: 0;
				height: 0;
				overflow: hidden;
				transition: all 300ms ease-out;
				pointer-events: none;
		}
		.home-btn__link {
				display: flex;
				justify-content: center;
				width: 100%;
				height: 5.12445vw;
				font-size: 1.1713vw;
				line-height: 1;
				align-items: center;
				color: #fff !important;
				text-decoration: none !important;
				border-top: solid 1px rgba(255, 255, 255, 0.5);
				padding: 0;
		}
		.home-btn.active .home-btn__header:after {
				transform: rotate(-180deg);
				top: calc(50% - 3px);
		}
		.home-btn.active .home-btn__list {
				height: auto;
				opacity: 1;
				pointer-events: auto;
		}
}

@media screen and (max-width: 780px) {
		.home-btn {
				width: 80vw;
				/* top: 82.6666666667vw; */
				top: 50.6666666667vw;
		}
		.home-btn__header {
				height: 16vw;
				font-size: 3.07692vw;
		}
		.home-btn__link {
				height: 16vw;
				font-size: 3.07692vw;
		}
		.home-btn.active .home-btn__header:after {
				top: 7.3333333333vw;
		}
}

/*--------------------------------------------------------animate.css customize*/
@-webkit-keyframes zoomIn {
		from {
				opacity: 0;
				transform: scale3d(0.9, 0.9, 0.9);
		}
		50% {
				opacity: 1;
		}
}

@keyframes zoomIn {
		from {
				opacity: 0;
				transform: scale3d(0.9, 0.9, 0.9);
		}
		50% {
				opacity: 1;
		}
}

@-webkit-keyframes fadeInDown {
		from {
				opacity: 0;
				transform: translate3d(0, -5%, 0);
		}
		to {
				opacity: 1;
				transform: translate3d(0, 0, 0);
		}
}

@keyframes fadeInDown {
		from {
				opacity: 0;
				transform: translate3d(0, -5%, 0);
		}
		to {
				opacity: 1;
				transform: translate3d(0, 0, 0);
		}
}
