/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
		margin: 0;
		padding: 0;
		border: 0;
		outline: 0;
		vertical-align: baseline;
		background: transparent;
}

body {
		line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block;
}

ul {
		list-style: none;
}

blockquote, q {
		quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
		content: '';
		content: none;
}

a {
		margin: 0;
		padding: 0;
		vertical-align: baseline;
		background: transparent;
}

ins {
		background-color: #ff9;
		color: #000;
		text-decoration: none;
}

mark {
		background-color: #ff9;
		color: #000;
		font-style: italic;
		font-weight: bold;
}

del {
		text-decoration: line-through;
}

abbr[title], dfn[title] {
		border-bottom: 1px dotted;
		cursor: help;
}

table {
		border-collapse: collapse;
		border-spacing: 0;
}

hr {
		display: block;
		height: 1px;
		border: 0;
		border-top: 1px solid #cccccc;
		margin: 1em 0;
		padding: 0;
}

input, select {
		vertical-align: middle;
}

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 screen and (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: 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: pv(26);
				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: 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: pv(22);
				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: 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: 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: 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;
		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: 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 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);
		}
}
