@charset "UTF-8";
/*
	top common
-----------------------------------------------------------------------------------------------*/
.top__lead{
	font-size: 2.8rem;
	font-weight: var(--bold);
	line-height: 1.5;
	margin: 25px 0 0 0;
}
.top__button{
	-ms-align-items: center;
	align-items: center;
	background: #FFF;
	display: -ms-flex;
	display: flex;
	height: 72px;
	-ms-justify-content: center;
	justify-content: center;
	margin: 50px 0 0 0;
	width: 315px;
}
.top__button--txt{
	color: var(--bgreen);
	font-size: 1.7rem;
	font-weight: var(--medium);
	line-height: 1;
	transition: color .3s;
}
/* hover */
.top__button:hover .top__button--txt{
	color: var(--blue);
	transition: color .3s;
}
/*
	kv
-----------------------------------------------------------------------------------------------*/
#kv{
	position: relative;
}
.kv__bg{
	min-width: 1200px;
	min-height: 600px;
	height: calc(100vh - 74px);
	overflow: hidden;
	position: relative;
}
.kv__bg::before{
	background: rgba(61,83,110,.3);
	content: '';
	height: 100%;
	left: 0;
	mix-blend-mode: multiply;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 1;
}
#myPlayerID-pc,
#myPlayerID-sp{
	left: 50%;
	height: 140%;
	position: absolute;
	top: 50%;
	transform: translate(-50% ,-50%);
	width: 140%;
}
#article-pc,
#article-sp{
	bottom: 10px;
	position: absolute;
	right: 15px;
	z-index: 9;
}
#article-pc button,
#article-sp button{
	height: 20px;
	opacity: .7;
	text-indent: 9999px;
	width: 19px;
}
.vjs-playing ~ #article-pc button,
.vjs-playing ~ #article-sp button{
	background: url("../../img/ico_top-kv_001.png") no-repeat center center /cover;
}
.vjs-paused ~ #article-pc button,
.vjs-paused ~ #article-sp button{
	background: url("../../img/ico_top-kv_002.png") no-repeat center center /cover;
}
.copy,
.last__copy{
	color: #FFF;
	font-size: 8.8rem;
	font-weight: 100;
	height: 100px;
	line-height: 1.2;
	left: 50%;
	position: absolute;
	top: 45%;
	transform: translate(-50%, -50%);
	width: 1000px;
	z-index: 1;
}
.copy{
	font-size: 8.0rem;
	animation: up-anime .9s cubic-bezier(0.42, 0, 0.01, 1.01) 3.0s forwards;
}
.copy__anime{
	position: relative;
}
.copy__anime img{
	height: 100%;
	width: auto;
}
.copy__anime--txt01,
.copy__anime--txt02,
.copy__anime--txt03,
.copy__anime--txt04,
.copy__anime--txt05,
.copy__anime--txt06,
.copy__anime--txt07,
.copy__anime--txt08,
.copy__anime--txt09,
.copy__anime--txt10,
.copy__anime--txt11,
.copy__anime--txt12,
.copy__anime--txt13{
	animation-delay: .6s;
	animation-duration: .3s;
	animation-fill-mode: forwards;
	animation-name: copy-anime;
	height: 80px;
	left: 0;
	position: absolute;
	top: 0;
	opacity: 0;
	overflow: hidden;
}
.copy__anime--txt02{
	animation-delay: .7s;
	left: 35px;
}
.copy__anime--txt03{
	animation-delay: .8s;
	left: 125px;
}
.copy__anime--txt04{
	animation-delay: .9s;
	left: 215px;
}
.copy__anime--txt05{
	animation-delay: 1.0s;
	left: 291px;
}
.copy__anime--txt06{
	animation-delay: 1.1s;
	left: 341px;
}
.copy__anime--txt07{
	animation-delay: 1.2s;
	left: 434px;
}
.copy__anime--txt08{
	animation-delay: 1.3s;
	left: 530px;
}
.copy__anime--txt09{
	animation-delay: 1.4s;
	left: 621px;
}
.copy__anime--txt10{
	animation-delay: 1.5s;
	left: 700px;
}
.copy__anime--txt11{
	animation-delay: 1.6s;
	left: 788px;
}
.copy__anime--txt12{
	animation-delay: 1.7s;
	left: 853px;
}
.copy__anime--txt13{
	animation-delay: 1.8s;
	left: 950px;
}
.lead01,
.lead02,
.lead03,
.lead04,
.lead05{
	animation: lead-next .8s ease 7.0s forwards;
	color: #FFF;
	font-size: 3.5rem;
	font-weight: bold;
	left: 50%;
	letter-spacing: 0.2rem;
	position: absolute;
	top: 50%;
	text-align: center;
	transform: translate(-50%, -55%);
	width: 100%;
	z-index: 2;
}
.lead01__txt01,
.lead01__txt02,
.lead01__txt03,
.lead02__txt01,
.lead02__txt02,
.lead02__txt03,
.lead02__txt04,
.lead03__txt01,
.lead03__txt02,
.lead03__txt03,
.lead04__txt01,
.lead04__txt02,
.lead04__txt03,
.lead05__txt01,
.lead05__txt02{
	animation-delay: 3.7s;
	animation-duration: .7s;
	animation-fill-mode: forwards;
	animation-name: lead-anime;
	line-height: 2.6;
	opacity: 0;
}
.lead01__txt02{
	animation-delay: 4.2s;
}
.lead01__txt03{
	animation-delay: 4.7s;
}
.lead02{
	animation: lead-next .8s ease 12.0s forwards;
}
.lead02__txt01{
	animation-delay: 8.0s;
}
.lead02__txt02{
	animation-delay: 8.5s;
}
.lead02__txt03{
	animation-delay: 9.0s;
}
.lead02__txt04{
	animation-delay: 9.5s;
}
.lead03{
	animation: lead-next .8s ease 16.0s forwards;
}
.lead03__txt01{
	animation-delay: 13.0s;
}
.lead03__txt02{
	animation-delay: 13.5s;
}
.lead03__txt03{
	animation-delay: 14.0s;
}
.lead04{
	animation: lead-next .8s ease 20.5s forwards;
}
.lead04__txt01{
	animation-delay: 17.0s;
}
.lead04__txt02{
	animation-delay: 17.5s;
}
.lead04__txt03{
	animation-delay: 18.0s;
}
.lead05{
	animation: lead-next 1.0s ease 24.5s forwards;
}
.lead05__txt01{
	animation-delay: 21.5s;
}
.lead05__txt02{
	animation-delay: 22.0s;
}
[class^="lead01__txt"],
[class^="lead02__txt"],
[class^="lead03__txt"],
[class^="lead04__txt"],
[class^="lead05__txt"]{
	height: 35px;
	margin: 30px 0;
}
[class^="lead01__txt"] img,
[class^="lead02__txt"] img,
[class^="lead03__txt"] img,
[class^="lead04__txt"] img,
[class^="lead05__txt"] img{
	height: 100%;
	width: auto;
}
.last{
	-ms-align-items: flex-start;
	align-items: flex-start;
	animation: last-anime 1.0s ease 26.0s forwards;
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	left: 50%;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	z-index: 1;
}
.last__copy{
	margin: 0 50px 0 0;
	position: static;
	transform: none;
	width: 562px;
}
.last__lead{
	color: #FFF;
	font-size: 2.1vh;
	font-weight: bold;
	line-height: 1.8;
	margin: 10px 0 0 0;
	width: 57vh;
}
.last__lead--txt{
	margin: 19px 0 0 0;
}
/*
	special
-----------------------------------------------------------------------------------------------*/
#special .container{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: space-between;
	justify-content: space-between;
	margin: 0 auto -35px auto;
	padding: 80px 15px 0 15px;
}
.special__tit{
	width: 395px;
}
.special__button{
	width: 650px;
}
#modal-movie02-open .modal__contents{
	width: 1000px;
}
/*
	project
-----------------------------------------------------------------------------------------------*/
#project{
	background: rgba(207,225,228,.5) url("../../img/bg_top-project_001.png") no-repeat center center /cover;
}
#project .container{
	padding: 130px 15px 80px 15px;
}
.project__head{
	color: #FFF;
	font-size: 2.7rem;
	font-weight: var(--bold);
	line-height: 2.0;
	margin: 0 0 45px 0;
	text-align: center;
}
.project__head--bg{
	background: var(--black);
	display: inline-block;
	height: 44px;
	line-height: 1;
	padding: 8px 15px;
}
.slick-top{
	padding: 170px 0 0 0;
	position: relative;
}
.slick-top::before{
	background: url("../../img/txt_top-project_001.png") no-repeat center center /cover;
	bottom: 42px;
	content: '';
	height: 97px;
	left: 110px;
	position: absolute;
	width: 415px;
}
.slick-top__flex{
	-ms-align-items: end;
	align-items: end;
	display: -ms-flex;
	display: flex!important;
	-ms-justify-content: center;
	justify-content: center;
}
.slick-top__img{
	height: 352px;
	margin: 0 0 45px 0;
	padding: 20px 0 0 20px;
	position: relative;
	width: 512px;
	z-index: 1;
}
.slick-top__img::before{
	background: var(--black);
	content: '';
	height: 1px;
	left: -21px;
	position: absolute;
	top: 73px;
	transform: rotate(-45deg);
	width: 185px;
	z-index: 1;
}
.slick-top__number{
	left: -26px;
	position: absolute;
	top: 4px;
}
.slick01 .slick-top__number{
	height: 81px;
	width: 98px;
}
.slick02 .slick-top__number{
	height: 82px;
	width: 119px;
}
.slick03 .slick-top__number{
	height: 82px;
	width: 115px;
}
.slick04 .slick-top__number{
	height: 82px;
	width: 125px;
}
.slick-top__img--skew{
	height: 332px;
	margin: 0 0 0 -60px;
	overflow: hidden;
	position: relative;
	width: 720px;
	transform: skewX(-45deg);
}
.slick-top__img--skew img{
	height: auto;
	left: 60px;
	position: absolute;
	top: 0;
	transform: skewX(45deg);
	width: 492px;
}
.slick-top__description{
	margin: 0 0 0 -20px;
}
.slick-top__head{
	color: var(--black);
	font-size: 2.8rem;
	font-weight: var(--bold);
	line-height: 1.3;
	margin: 0 0 0 55px;
}
.slick-top__txt{
	-ms-align-items: center;
	align-items: center;
	background: var(--black);
	color: #FFF;
	display: -ms-flex;
	display: flex;
	line-height: 1.8;
	margin: 20px 0 0 0;
	min-height: 235px;
	padding: 35px 35px 35px 57px;
	width: 510px;
}
.slick-arrow{
	border-left: 1px solid var(--black);
	border-top: 1px solid var(--black);
	bottom: 43%;
	color: transparent;
	height: 50px;
	position: absolute;
	width: 50px;
	z-index: 1;
}
.slick-prev{
	left: 0;
	transform: rotate(-45deg);
}
.slick-next{
	right: 0;
	transform: rotate(135deg);
}
.slick-dots{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	left: 50%;
	position: absolute;
	transform: translate(-50% ,0);
	top: 0;
}
.slick-dots li{
	cursor: pointer;
	padding: 36px 0 15px 0;
	position: relative;
	text-align: center;
	transition: color .3s;
	width: 300px;
}
.slick-dots li::before{
	background: #b3bdc3;
	bottom: 0;
	content: '';
	height: 4px;
	left: 50%;
	position: absolute;
	transform: translate(-50%, 0);
	width: 225px;
}
#slick-slide-control00,
#slick-slide-control01,
#slick-slide-control02,
#slick-slide-control03{
	color: transparent;
	line-height: 1.3;
}
#slick-slide-control00::before,
#slick-slide-control01::before,
#slick-slide-control02::before,
#slick-slide-control03::before{
	color: #767b85;
	font-size: 2.2rem;
	font-weight: var(--bold);
	line-height: 1.2;
	white-space: pre;
}
#slick-slide-control00::before{
	content: '世界中の人が\A創造的に働ける未来';
}
#slick-slide-control01::before{
	content: '“人生100年時代”を\Aしあわせに生きる未来';
}
#slick-slide-control02::before{
	content: '誰もが安心して\A暮らせる未来';
}
#slick-slide-control03::before{
	content: '資源を守り\A地球と共存する未来';
}
#slick-slide-control00::after,
#slick-slide-control01::after,
#slick-slide-control02::after,
#slick-slide-control03::after{
	content: '';
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%, 0);
}
#slick-slide-control00::after{
	background: url("../../img/bg_top-project_num_001.png") no-repeat center center /100%;
	height: 51px;
	width: 65px;
}
#slick-slide-control01::after{
	background: url("../../img/bg_top-project_num_002.png") no-repeat center center /100%;
	height: 52px;
	width: 77px;
}
#slick-slide-control02::after{
	background: url("../../img/bg_top-project_num_003.png") no-repeat center center /100%;
	height: 51px;
	width: 76px;
}
#slick-slide-control03::after{
	background: url("../../img/bg_top-project_num_004.png") no-repeat center center /100%;
	height: 51px;
	width: 78px;
}
/* hover */
.slick-dots li:hover #slick-slide-control00::before,
.slick-dots li:hover #slick-slide-control01::before,
.slick-dots li:hover #slick-slide-control02::before,
.slick-dots li:hover #slick-slide-control03::before{
	color: #545860;
	transition: color .3s;
}
/* active */
.slick-dots .slick-active::before{
	background: var(--bgreen);
}
.slick-active #slick-slide-control00::before,
.slick-active #slick-slide-control01::before,
.slick-active #slick-slide-control02::before,
.slick-active #slick-slide-control03::before{
	color: var(--black);
}
.slick-active #slick-slide-control00::after{
	background: url("../../img/bg_top-project_num_005.png") no-repeat center center /100%;
	height: 51px;
	width: 65px;
}
.slick-active #slick-slide-control01::after{
	background: url("../../img/bg_top-project_num_006.png") no-repeat center center /100%;
	height: 52px;
	width: 77px;
}
.slick-active #slick-slide-control02::after{
	background: url("../../img/bg_top-project_num_007.png") no-repeat center center /100%;
	height: 51px;
	width: 76px;
}
.slick-active #slick-slide-control03::after{
	background: url("../../img/bg_top-project_num_008.png") no-repeat center center /100%;
	height: 51px;
	width: 78px;
}
/* active時のhover無効 */
.slick-dots .slick-active:hover #slick-slide-control00::before,
.slick-dots .slick-active:hover #slick-slide-control01::before,
.slick-dots .slick-active:hover #slick-slide-control02::before,
.slick-dots .slick-active:hover #slick-slide-control03::before{
	color: var(--black);
	transition: color .3s;
}
/*
	history
-----------------------------------------------------------------------------------------------*/
#history{
	position: relative;
}
#history .container{
	height: 815px;
	padding: 185px 15px 80px 15px;
	position: relative;
}
.history__tit{
	height: 76px;
	position: absolute;
	right: 0;
	width: 420px;
	z-index: 0;
}
.history__lead{
	background: #0f2d8a;
	padding: 60px 20px;
	position: relative;
	width: 600px;
	z-index: 1;
}
.history__lead .top__lead{
	color: #FFF;
	text-align: center;
}
#history .top__button{
	margin: 40px auto 0 auto;
	text-align: center;
}
.history__bg{
	-ms-align-items: center;
	align-items: center;
	display: -ms-flex;
	display: flex;
	height: 100%;
	left: 0;
	overflow: hidden;
	position: absolute;
	top: 0;
	width: 100%;
}
.history__bg--01,
.history__bg--02{
	position: relative;
	display: block;
	height: 667px;
	min-width: 1698px;
	width: 100%;
}
.history__bg--01{
	animation: loop 200s -100s linear infinite;
}
.history__bg--02{
	animation: loop2 200s linear infinite;
}
.history__bg--img01,
.history__bg--img02{
	left: 0;
	position: absolute;
	top: 0;
}
.history__bg--img01 {
	animation: lag 200s linear infinite;
}

.history__bg--img02 {
	animation: lag 140s linear infinite;
}
/*
	business
-----------------------------------------------------------------------------------------------*/
#business{
	position: relative;
}
#business::before{
	background: var(--blue) url("../../img/bg_top-business_001.png") repeat 151px -14px /23%;
	content: '';
	height: 570px;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 0;
}
#business .container{
	padding: 80px 15px 0 15px;
	position: relative;
	z-index: 1;
}
.business__flex{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: space-between;
	justify-content: space-between;
}
.business__tit{
	height: 77px;
	width: 455px;
}
.business__head .top__lead{
	color: #FFF;
}
.business__list{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	min-width: 756px;
	width: 756px;
}
.business__item{
	height: 340px;
	margin: 0 7px 0 0;
	position: relative;
	width: 295px;
}
.business__item:nth-child(2n){
	margin: 0;
}
.business__item:first-child{
	margin: 0 9px 0 136px;
}
.business__item:nth-child(3){
	margin: -75px 9px 0 -17px;
}
.business__item:nth-child(4){
	margin: -75px 9px 0 0;
}
.business__item--button{
	-ms-align-items: center;
	align-items: center;
	clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
	display: -ms-flex;
	display: flex;
	height: 295px;
	-ms-justify-content: center;
	justify-content: center;
	left: -22px;
	position: absolute;
	top: 23px;
	transform: rotate(30deg);
	width: 340px;
}
.business__item--button::before{
	content: '';
	height: 340px;
	left: 22px;
	position: absolute;
	top: -24px;
	transform: rotate(-30deg);
	width: 295px;
}
.business__item--dw::before{
	background: url("../../img/bg_top-business_002.png") no-repeat center center /cover;
}
.business__item--pp::before{
	background: url("../../img/bg_top-business_003.png") no-repeat center center /cover;
}
.business__item--hc::before{
	background: url("../../img/bg_top-business_004.png") no-repeat center center /cover;
}
.business__item--in::before{
	background: url("../../img/bg_top-business_005.png") no-repeat center center /cover;
}
.business__item--dw-img,
.business__item--pp-img,
.business__item--hc-img,
.business__item--in-img{
	-webkit-filter: drop-shadow(0 0 10px rgba(0,0,0,.5));
	filter: drop-shadow(0 0 10px rgba(0,0,0,.5));
	transform: rotate(-30deg);
}
.business__item--dw-img{
	width: 206px;
}
.business__item--pp-img{
	width: 217px;
}
.business__item--hc-img{
	width: 184px;
}
.business__item--in-img{
	width: 144px;
}
/*
	people
-----------------------------------------------------------------------------------------------*/
#people .container{
	overflow: visible;
	position: relative;
}
.people__head{
	position: absolute;
	right: 15px;
}
.people__tit{
	width: 358px;
}
.people__list{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content: space-between;
	justify-content: space-between;
	padding: 110px 0 0 0;
}
.people__item{
	margin: 0 72px 0 0;
}
.people__item:nth-child(2),
.people__item:nth-child(5){
	padding: 85px 0 0 0;
}
.people__item:nth-child(3),
.people__item:nth-child(6){
	padding: 170px 0 0 0;
}
.people__item:nth-child(n + 4){
	margin: 0 0 0 72px;
}
.people__button{
	display: inline-block;
	position: relative;
}
.people__button::before,
.people__button::after{
	background: var(--black);
	content: '';
	height: 1px;
	position: absolute;
	right: -10px;
	transition: right .3s;
	z-index: 1;
}
.people__button::before{
	bottom: 20px;
	width: 50px;
}
.people__button::after{
	bottom: 23px;
	width: 8px;
	transform: rotate(45deg);
}
.people__button--img{
	display: inline-block;
	height: 450px;
	overflow: hidden;
	position: relative;
	width: 315px;
}
.people__button--copy{
	-ms-align-items: center;
	align-items: center;
	background: rgba(0,0,0,.6);
	color: #FFF;
	display: -ms-flex;
	display: flex;
	font-size: 1.7rem;
	font-weight: var(--bold);
	height: 450px;
	-ms-justify-content: center;
	justify-content: center;
	left: -315px;
	letter-spacing: .2rem;
	line-height: 1.5;
	position: absolute;
	text-align: center;
	top: 0;
	transition: left .3s;
	width: 315px;
}
.people__button--copy::before,
.people__button--copy::after{
	font-size: 6.0rem;
	font-weight: var(--medium);
	position: absolute;
}
.people__button--copy::before{
	content: '“';
	left: 30px;
	top: 27%;
}
.people__button--copy::after{
	bottom: 22%;
	content: '”';
	right: 30px;
}
.people__data{
	background: var(--bgreen);
	color: #FFF;
	display: block;
	margin: -37px 17px 0 17px;
	padding: 18px 15px;
	position: relative;
	transition: .3s;
	width: 280px;
}
.people__data--position,
.people__data--since,
.people__data--name,
.people__data--en{
	display: block;
	font-weight: var(--light);
	line-height: 1;
}
.people__data--position{
	font-size: 1.3rem;
	line-height: 1.4;
}
.people__data--since{
	display: inline-block;
	font-size: 1.3rem;
	margin: 10px 0 0 0;
}
.people__data--name{
	font-size: 2.4rem;
	font-weight: var(--medium);
	margin: 13px 0;
}
.people__data--en{
	font-size: 1.0rem;
	font-style: italic;
	letter-spacing: .1rem;
}
/* hover */
.people__button:hover .people__data{
	margin: -37px 0 0 0;
	transition: .3s;
	width: 315px;
}
.people__button:hover::before,
.people__button:hover::after{
	right: -20px;
	transition: right .3s;
}
.people__button:hover .people__button--copy{
	left: 0;
	transition: left .3s;
}
/* inactive */
.people__item.inactive{
	position: relative;
}
.people__item.inactive::before{
	background: url("../../img/txt_top-people_002.png") no-repeat center center /cover;
	content: '';
	height: 17px;
	left: 50%;
	position: absolute;
	top: 45%;
	transform: translate(-50% ,-50%);
	width: 153px;
	z-index: 1;
}
.inactive .people__button{
	opacity: .3;
}
.inactive .people__button:hover .people__data{
	margin: -37px 17px 0 17px;
	transition: none;
	width: 280px;
}
.inactive .people__button:hover::before,
.inactive .people__button:hover::after{
	right: -10px;
	transition: none;
}
.inactive .people__button:hover .people__button--copy{
	display: none;
}
/*
	movie
-----------------------------------------------------------------------------------------------*/
#movie{
	background: #f3f4f4;
	border-bottom: 5px solid #fff;
}
#movie .container{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: flex-start;
	justify-content: flex-start;
}
.movie__head{
	margin: 0 70px 0 0;
}
.movie__tit{
	width: 316px;
}
.movie__modal{
	margin: 30px 0 0 0;
}
.movie__button{
	-webkit-filter: drop-shadow(5px 5px 0 var(--blue));
	filter: drop-shadow(5px 5px 0 var(--blue));
	margin: 0 0 0 25px;
	padding: 0 5px 5px 0;
	width: 338px;
}
/* play button */
#movie .play__button::after{
	left: 51%;
	top: 51%;
}
.modal__contents{
	width: auto;
}
#modal-movie01-open .modal__contents{
	width: 900px;
}
.modal__btn--close{
	width: 65px;
	height: 65px;
	background-color: transparent;
	position: absolute;
	top: 0;
	right: 0;
}
@media screen and (max-width:812px){
	/*
		top common
	-----------------------------------------------------------------------------------------------*/
	.top__lead{
		font-size: 1.8rem;
		line-height: 1.8;
		margin: 25px 0 0 0;
	}
	.top__button{
		height: 60px;
		margin: 30px 0 0 0;
		width: 100%;
	}
	.top__button--txt{
		color: #14b2c1;
		font-size: 1.7rem;
		font-weight: var(--medium);
		line-height: 1;
		transition: color .3s;
	}
	/* hover */
	.top__button:hover .top__button--txt{
		color: var(--blue);
		transition: color .3s;
	}
	/*
		kv
	-----------------------------------------------------------------------------------------------*/
	#kv{
		overflow: hidden;
	}
	.kv__bg{
		height: calc(100vh - 65px);
		min-height: auto;
		min-width: 100%;
		overflow: hidden;
	}
	.kv__bg::before{
		background: rgba(61,83,110,.3);
		content: '';
		height: 100%;
		left: 0;
		mix-blend-mode: multiply;
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 1;
	}
	#myPlayerID-pc{
		display: none;
	}
	#myPlayerID-sp{
		width: 120%;
	}
	.copy,
	.last__copy{
		font-size: 3rem;
		font-weight: 100;
		height: 100px;
		line-height: 1.2;
		left: 50%;
		position: absolute;
		top: 45%;
		transform: translate(-50%, -50%);
		width: 100%;
		z-index: 1;
	}
	.copy{
		animation: up-anime .9s cubic-bezier(0.42, 0, 0.01, 1.01) 3.0s forwards;
	}
	.copy__anime--txt01,
	.copy__anime--txt02,
	.copy__anime--txt03,
	.copy__anime--txt04,
	.copy__anime--txt05,
	.copy__anime--txt06,
	.copy__anime--txt07,
	.copy__anime--txt08,
	.copy__anime--txt09,
	.copy__anime--txt10,
	.copy__anime--txt11,
	.copy__anime--txt12,
	.copy__anime--txt13{
		height: 48px;
		left: 55px;
	}
	.copy__anime--txt02{
		left: 80px;
	}
	.copy__anime--txt03{
		left: 131px;
	}
	.copy__anime--txt04{
		left: 181px;
	}
	.copy__anime--txt05{
		left: 228px;
	}
	.copy__anime--txt06{
		left: 257px;
	}
	.copy__anime--txt07,
	.copy__anime--txt08,
	.copy__anime--txt09,
	.copy__anime--txt10,
	.copy__anime--txt11,
	.copy__anime--txt12,
	.copy__anime--txt13{
		top: 65px;
	}
	.copy__anime--txt07{
		left: 30px;
	}
	.copy__anime--txt08{
		left: 85px;
	}
	.copy__anime--txt09{
		left: 139px;
	}
	.copy__anime--txt10{
		left: 187px;
	}
	.copy__anime--txt11{
		left: 234px;
	}
	.copy__anime--txt12{
		left: 274px;
	}
	.copy__anime--txt13{
		left: 329px;
	}
	.lead01,
	.lead02,
	.lead03,
	.lead04,
	.lead05{
		animation: lead-next .8s ease 7.5s forwards;
		font-size: 2.0rem;
		letter-spacing: 0;
		line-height: 2.0;
		transform: translate(-50%, -55%)
	}
	.lead01__txt01,
	.lead01__txt02,
	.lead01__txt03,
	.lead01__txt04,
	.lead02__txt01,
	.lead02__txt02,
	.lead02__txt03,
	.lead02__txt04,
	.lead02__txt05,
	.lead03__txt01,
	.lead03__txt02,
	.lead03__txt03,
	.lead03__txt04,
	.lead03__txt05,
	.lead04__txt01,
	.lead04__txt02,
	.lead04__txt03,
	.lead04__txt04,
	.lead05__txt01,
	.lead05__txt02{
		animation-delay: 3.7s;
		animation-duration: .7s;
		animation-fill-mode: forwards;
		animation-name: lead-anime;
		line-height: 2.2;
		opacity: 0;
	}
	.lead01__txt02{
		animation-delay: 4.2s;
	}
	.lead01__txt03{
		animation-delay: 4.7s;
	}
	.lead01__txt04{
		animation-delay: 5.2s;
	}
	.lead02{
		animation: lead-next .8s ease 12.3s forwards;
	}
	.lead02__txt01{
		animation-delay: 8.0s;
	}
	.lead02__txt02{
		animation-delay: 8.5s;
	}
	.lead02__txt03{
		animation-delay: 9.0s;
	}
	.lead02__txt04{
		animation-delay: 9.5s;
	}
	.lead02__txt05{
		animation-delay: 10.0s;
	}
	.lead03{
		animation: lead-next .8s ease 17.1s forwards;
	}
	.lead03__txt01{
		animation-delay: 12.8s;
	}
	.lead03__txt02{
		animation-delay: 13.3s;
	}
	.lead03__txt03{
		animation-delay: 13.8s;
	}
	.lead03__txt04{
		animation-delay: 14.3s;
	}
	.lead03__txt05{
		animation-delay: 14.8s;
	}
	.lead04{
		animation: lead-next .8s ease 21.4s forwards;
	}
	.lead04__txt01{
		animation-delay: 17.6s;
	}
	.lead04__txt02{
		animation-delay: 18.1s;
	}
	.lead04__txt03{
		animation-delay: 18.6s;
	}
	.lead04__txt04{
		animation-delay: 19.1s;
	}
	.lead05{
		animation: lead-next 1.0s ease 24.7s forwards;
	}
	.lead05__txt01{
		animation-delay: 21.9s;
	}
	.lead05__txt02{
		animation-delay: 22.4s;
	}
	[class^="lead01__txt"],
	[class^="lead02__txt"],
	[class^="lead03__txt"],
	[class^="lead04__txt"],
	[class^="lead05__txt"]{
		height: 20px;
		margin: 15px 0;
	}
	.last{
		display: block;
		left: 50%;
		opacity: 0;
		padding: 0 15px;
		position: absolute;
		top: 50%;
		transform: translate(-50%, -50%);
		width: 100%;
	}
	.last__copy{
		margin: 0 0 25px 0;
		position: static;
		transform: none;
		width: 90%;
	}
	.last__lead{
		font-size: 1.4rem;
		line-height: 1.5;
		width: 100%;
	}
	.last__lead--txt{
		line-height: 1.6;
		margin: 10px 0 0 0;
	}
	/*
		special
	-----------------------------------------------------------------------------------------------*/
	#special .container{
		display: block;
		margin: 0 auto;
		padding: 60px 15px;
	}
	.special__tit{
		width: 200px;
	}
	.special__modal{
		margin: 30px 0 0 0;
	}
	.special__button{
		width: 100%;
	}
	#modal-movie02-open .modal__contents{
		width: 100%;
	}
	/*
		project
	-----------------------------------------------------------------------------------------------*/
	#project .container{
		padding: 60px 15px;
	}
	.project__head{
		font-size: 2.0rem;
		line-height: 1.7;
		margin: 0 0 25px 0;
	}
	.project__head--bg{
		height: auto;
		line-height: 1.4;
		padding: 0 5px;
	}
	.slick-top{
		padding: 160px 0 0 0;
	}
	.slick-top::before{
		bottom: 0;
		content: none;
		height: 55px;
		left: 15px;
		width: 220px;
	}
	.slick-top__flex{
		display: block!important;
	}
	.slick-top__img{
		height: 220px;
		margin: 13px auto 0 auto;
		overflow: hidden;
		padding: 10px 0 0 10px;
		width: 95%;
	}
	.slick-top__img::before{
		left: -51px;
		top: 56px;
		width: 185px;
	}
	.slick-top__number{
		height: 60px;
		left: 0;
		width: 57px;
	}
	.slick01 .slick-top__number{
		height: 60px;
		width: 57px;
	}
	.slick02 .slick-top__number{
		height: 60px;
		width: 62px;
	}
	.slick03 .slick-top__number{
		height: 60px;
		width: 63px;
	}
	.slick04 .slick-top__number{
		height: 60px;
		width: 70px;
	}
	.slick-top__img--skew{
		height: 225px;
		margin: 0 0 0 -33px;
		width: 141%;
	}
	.slick-top__img--skew img{
		left: 26px;
		width: 325px;
	}
	.slick-top__description{
		margin: 12px auto 0 13px;
		position: relative;
		width: 95%;
		z-index: 1;
	}
	.slick-top__head{
		font-size: 2.0rem;
		margin: 0;
	}
	.slick-top__txt{
		font-size: 1.2rem;
		line-height: 1.7;
		margin: 6px 0 0 0;
		min-height: auto;
		padding: 15px;
		width: 98%;
	}
	.slick-arrow{
		bottom: 4px;
		height: 18px;
		width: 18px;
	}
	.slick-prev{
		display: none!important;
		left: 37%;
	}
	.slick-next{
		display: none!important;
		right: 37%;
	}
	.slick-dots{
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-ms-justify-content: space-between;
		justify-content: space-between;
		width: 100%;
	}
	.slick-dots li{
		padding: 20px 0 10px 0;
		width: calc((100% - 10px)/2);
	}
	.slick-dots li:nth-child(1),
	.slick-dots li:nth-child(2){
		margin: 0 0 10px 0;
	}
	.slick-dots li:nth-child(1){
		margin-right: 10px;
	}
	.slick-dots li::before{
		height: 3px;
		width: 100%;
	}
	#slick-slide-control00::before,
	#slick-slide-control01::before,
	#slick-slide-control02::before,
	#slick-slide-control03::before{
		font-size: 1.5rem;
		line-height: 1.0;
	}
	#slick-slide-control00::after,
	.slick-active #slick-slide-control00::after{
		height: 50px;
		width: 45px;
	}
	#slick-slide-control01::after,
	.slick-active #slick-slide-control01::after{
		height: 50px;
		width: 47px;
	}
	#slick-slide-control02::after,
	.slick-active #slick-slide-control02::after{
		height: 50px;
		width: 49px;
	}
	#slick-slide-control03::after,
	.slick-active #slick-slide-control03::after{
		height: 50px;
		width: 50px;
	}
	.project__container{
		display: block;
		margin: 20px 0 0 0;
		width: 100%;
	}
	/*
		history
	-----------------------------------------------------------------------------------------------*/
	#history .container{
		height: 600px;
		padding: 60px 15px;
	}
	.history__tit{
		height: 55px;
		margin: 0 0 25px auto;
		position: static;
		width: 220px;
	}
	.history__lead{
		bottom: 60px;
		left: 50%;
		padding: 30px 20px;
		position: absolute;
		transform: translate(-50%, 0);
		width: 90%;
	}
	.history__lead .top__lead{
		margin: 0;
	}
	#history .top__button{
		margin: 20px auto 0 auto;
	}
	.history__bg{
		height: 100%;
		top: 80px;
		width: 100%;
	}
	.history__bg--01,
	.history__bg--02{
		height: 667px;
		min-width: 950px;
		width: 100%;
	}
	.history__bg--01{
		animation: loop 200s -100s linear infinite;
	}
	.history__bg--02{
		animation: loop2 200s linear infinite;
	}
	.history__bg--img01,
	.history__bg--img02{
		left: 0;
		position: absolute;
		top: 0;
	}
	.history__bg--img01 {
		animation: lag 200s linear infinite;
	}

	.history__bg--img02 {
		animation: lag 140s linear infinite;
	}
	/*
		business
	-----------------------------------------------------------------------------------------------*/
	#business::before{
		background: #0472c9 url("../../img/bg_top-business_001.png") repeat 151px -14px /37%;
		height: 570px;
		width: 100%;
	}
	#business .container{
		padding: 80px 15px 0 15px;
	}
	.business__flex{
		display: block;
	}
	.business__tit{
		height: 55px;
		width: 240px;
	}
	.business__list{
		margin: 35px auto 0 auto;
		max-width: 345px;
		overflow: hidden;
		min-width: 345px;
		width: 100%;
	}
	.business__item{
		height: 158px;
		margin: 0 7px 0 0;
		position: relative;
		width: 135px;
	}
	.business__item:first-child{
		margin: 0 0 0 auto;
	}
	.business__item:nth-child(n + 3){
		margin: -36px 0 0 0;
	}
	.business__item:nth-child(2n){
		margin: 0 0 0 5px;
	}
	.business__item:last-child{
		margin: -36px 0 0 5px;
	}
	.business__item--button{
		clip-path: polygon(25% 0%, 75% 0%, 100% 50%, 75% 100%, 25% 100%, 0% 50%);
		height: 135px;
		left: -10px;
		top: 12px;
		width: 155px;
	}
	.business__item--button::before{
		height: 180px;
		left: 11px;
		top: -13px;
		width: 90%;
	}
	.business__item--dw::before{
		background: url("../../img/bg_top-business_002.png") no-repeat center center /cover;
	}
	.business__item--pp::before{
		background: url("../../img/bg_top-business_003.png") no-repeat center center /cover;
	}
	.business__item--hc::before{
		background: url("../../img/bg_top-business_004.png") no-repeat center center /cover;
	}
	.business__item--in::before{
		background: url("../../img/bg_top-business_005.png") no-repeat center center /cover;
	}
	.business__item--dw-img,
	.business__item--pp-img,
	.business__item--hc-img,
	.business__item--in-img{
		transform: rotate(-30deg);
	}
	.business__item--dw-img{
		width: 109px;
	}
	.business__item--pp-img{
		width: 115px;
	}
	.business__item--hc-img{
		width: 107px;
	}
	.business__item--in-img{
		width: 80px;
	}
	/*
		people
	-----------------------------------------------------------------------------------------------*/
	.people__head{
		position: static;
	}
	.people__tit{
		height: 55px;
		width: 178px;
	}
	.people__list{
		padding: 30px 0 0 0;
	}
	.people__item{
		margin: 0 0 15px 0;
		width: calc((100% - 10px)/2);
	}
	.people__item:nth-child(2),
	.people__item:nth-child(5),
	.people__item:nth-child(3),
	.people__item:nth-child(6){
		padding: 0;
	}
	.people__item:nth-child(even){
		padding: 30px 0 0 0;
	}
	.people__item:nth-child(n + 4){
		margin: 0;
	}
	.people__button{
		width: 100%;
	}
	.people__button::before,
	.people__button::after{
		right: 0;
	}
	.people__button::before{
		bottom: 15px;
		width: 30px;
	}
	.people__button::after{
		bottom: 17px;
		width: 6px;
	}
	.people__button--img{
		height: auto;
		width: 100%;
	}
	.people__button--copy{
		font-size: 1.3rem;
		height: 240px;
		left: -100%;
		letter-spacing: 0;
		line-height: 1.5;
		padding: 10px;
		width: 100%;
	}
	.people__button--copy::before,
	.people__button--copy::after{
		font-size: 4.0rem;
		line-height: 1;
	}
	.people__button--copy::before{
		left: 12px;
		top: 17%;
	}
	.people__button--copy::after{
		bottom: 17%;
		right: 12px;
	}
	.people__data{
		margin: -37px 5% 0 5%;
		padding: 10px;
		width: 90%;
	}
	.people__data--position{
		font-size: 1.1rem;
		line-height: 1.3;
	}
	.people__data--since{
		font-size: 1.1rem;
		margin: 4px 0 0 0;
	}
	.people__data--name{
		font-size: 1.7rem;
		margin: 6px 0 8px 0;
	}
	/* hover */
	.people__button:hover .people__data{
		width: 100%;
	}
	.people__button:hover::before,
	.people__button:hover::after{
		right: 0;
	}
	.people__button:hover .people__button--copy{
		left: 0;
		transition: left .3s;
	}
	/* inactive */
	.people__item.inactive::before{
		height: 12px;
		top: 36%;
		width: 110px;
	}
	.inactive .people__button:hover .people__data{
		margin: -37px auto 0 auto;
		transition: none;
		width: 90%;
	}
	.inactive .people__button::before{
		width: 28px;
	}
	.inactive .people__button:hover::before,
	.inactive .people__button:hover::after{
		right: 0;
	}
	/*
		movie
	-----------------------------------------------------------------------------------------------*/
	#movie .container{
		display: block;
	}
	.movie__head{
		margin: 0;
	}
	.movie__tit{
		width: 155px;
	}
	.movie__modal{
		margin: 30px 0 0 0;
	}
	.movie__button{
		margin: 15px 0 0 0;
		width: 100%;
	}
	.movie__button:first-child{
		margin: 0;
	}
	#modal-movie01-open .modal__contents{
		width: 100%;
	}
	#movie001{
		width: 100%;
	}
	.modal__btn--close{
		width: 65px;
		height: 65px;
		background-color: transparent;
		position: absolute;
		top: 0;
		right: 0;
	}
}