/*
----------------------------------------
company
----------------------------------------
*/

.page-header {
	background: url( ../img/company/2x/header-bg.png ) center center / cover no-repeat;
}

/* info-box */

.info-box {
	position: relative;
	padding-top: 50px;
	z-index: 99;
}

.info-box .read {
	text-align: center;
	line-height: 2.4;
	letter-spacing: 1px;
}

.info-box .cont-list {
	margin: 50px 0;
}

.info-box .cont-list .cont {
	width: calc( ( 100% - 80px ) / 3 );
	margin: 0 40px 40px 0;
}

.info-box .cont-list .cont:nth-child( 1 ),
.info-box .cont-list .cont:nth-child( 2 ) {
	width: calc( ( 100% - 40px ) / 2 );
}

.info-box .cont-list .cont:nth-child( 2 ),
.info-box .cont-list .cont:nth-child( 5 ) {
	margin-right: 0;
}

.info-box .cont-list .cont a {
	display: block;
	border-radius: 10px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 0 10px rgba( 0, 0, 0, .1 );
	transition: all .2s;
}

.info-box .cont-list figure {
	line-height: .5;
}

.info-box .cont-list .txt {
	padding: 20px 25px 25px;
	font-weight: 500;
	line-height: 1.4;
	background: url( ../img/company/2x/arrow.png ) right 25px center / 22px no-repeat;
	transition: all .2s;
}

.info-box .cont-list .txt .en {
	font-size: 1.2rem;
	letter-spacing: 1px;
	color: #8fc31f;
}

.info-box .cont-list .txt .jp {
	font-size: 2.4rem;
}

/* number-box */

.number-box {
	margin: -155px 0 55px;
	padding-top: 175px;
	background: url( ../img/company/2x/num-bg.png ) center top 300px / 100% no-repeat;
	transition: all .8s;
	transition-delay: .8s;
}

.number-box.view {
	background: url( ../img/company/2x/num-bg.png ) center top / 100% no-repeat;
}

.graph-wrap .graph {
	background: #fff;
	border-radius: 10px;
	margin-bottom: 40px;
}

.graph-wrap .graph .ttl {
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.2;
}

.graph-wrap .graph .num-wrap {
	color: #8fc31f;
	font-weight: 500;
	line-height: 1.2;
	align-items: center;
	flex-wrap: nowrap;
}

.graph-wrap .graph .num-wrap .num {
	font-weight: 500;
	white-space: nowrap;
	font-family: 'Noto Sans JP', sans-serif !important;
}

.graph-wrap .graph .num-wrap .num-txt {
	margin-top: 6%;
}

.graph-wrap .graph .note {
	font-size: 1.4rem;
	color: #666;
}

.graph-wrap .graph .note strong {
	display: inline-block;
	font-weight: 300;
	transform: scale( 1.15 );
}

.graph-wrap .graph-01 {
	width: 100%;
	padding: 60px 50px 30px;
	margin-top: 30px;
	align-items: center;
}

.graph-wrap #graph-01 {
	width: 560px;
	height: 440px;
	background: url( ../img/company/2x/graph-01.png ) center center / contain no-repeat;
	position: relative;
}

.graph-wrap #graph-01 .bar {
	position: absolute;
	bottom: 30px;
}

.graph-wrap #graph-01 .bar-01 {
	left: 92px;
}

.graph-wrap #graph-01 .bar-02 {
	left: 172px;
}

.graph-wrap #graph-01 .bar-03 {
	left: 252px;
}

.graph-wrap #graph-01 .bar-04 {
	left: 332px;
}

.graph-wrap #graph-01 .bar-05 {
	left: 412px;
}

.graph-wrap #graph-01 .bar-06 {
	left: 492px;
}

.graph-wrap #graph-01 .bar .box {
	width: 40px;
	height: 0;
	background: #cee895;
	transition: all 1s;
}

.graph-wrap .graph-01.view #graph-01 .bar-01 .box {
	height: 61px;
	transition-delay: 2s;
}

.graph-wrap .graph-01.view #graph-01 .bar-02 .box {
	height: 91px;
	transition-delay: 2.2s;
}

.graph-wrap .graph-01.view #graph-01 .bar-03 .box {
	height: 161px;
	transition-delay: 2.4s;
}

.graph-wrap .graph-01.view #graph-01 .bar-04 .box {
	height: 211px;
	transition-delay: 2.6s;
}

.graph-wrap .graph-01.view #graph-01 .bar-05 .box {
	height: 276px;
	transition-delay: 2.8s;
}

.graph-wrap .graph-01.view #graph-01 .bar-06 .box {
	height: 316px;
	transition-delay: 3s;
	background: #8fc31f;
}

.graph-wrap .graph-01 .txt {
	width: calc( 100% - 560px );
	padding: 0 0 10px 55px;
}

.graph-wrap .graph-01 .num-wrap {
	font-size: 3.2rem;
}

.graph-wrap .graph-01 .num-wrap .num {
	font-size: 6rem;
}

.graph-wrap .sec-02 .graph {
	width: calc( ( 100% - 80px ) / 3 );
	margin-right: 40px;
	padding: 45px 10px;
	text-align: center;
}

.graph-wrap .sec-02 .graph:nth-child( 3n ) {
	margin-right: 0;
}

@keyframes show-up {
	0% {
		opacity: 0;
		transform: scale( 0 );
	}
	75% {
		opacity: 1;
		transform: scale( 1.25 );
	}
	100% {
		opacity: 1;
		transform: scale( 1 );
	}

}

.graph-wrap .sec-02 .graph .img img {
	opacity: 0;
	transform: scale( 0 );
}

.graph-wrap .sec-02 .graph-02.view .img img {
	animation: show-up 1.2s ease-in-out 2s 1 normal forwards;
}

.graph-wrap .sec-02 .graph-03.view .img img {
	animation: show-up 1.2s ease-in-out 2.2s 1 normal forwards;
}

.graph-wrap .sec-02 .graph-04.view .img img {
	animation: show-up 1.2s ease-in-out 2.4s 1 normal forwards;
}

.graph-wrap .sec-02 .num-wrap {
	font-size: 2.4rem;
	line-height: 1.4;
	justify-content: center;
	flex-wrap: nowrap;
}

.graph-wrap .sec-02 .num-wrap .num {
	font-size: 5.2rem;
}

.graph-wrap .sec-03 .graph {
	width: calc( ( 100% - 40px ) / 2 );
	padding: 28px 20px 32px;
	text-align: center;
}

.graph-wrap .sec-03 .graph:nth-child( odd ) {
	margin-right: 40px;
}

.graph-wrap .sec-03 .graph-circle {
	width: 250px;
	height: 250px;
	margin: 0 auto 12px;
	position: relative;
}

.graph-wrap .sec-03 .graph-circle::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	opacity: 0;
	background: url( ../img/company/2x/graph-circle.png ) center center / contain no-repeat;
	transform: rotate( -180deg  ) scale( .5 );
	transition: all 1.6s;
	transition-delay: 2s;
}

.graph-wrap .sec-03 .graph-05.view .graph-circle::after {
	opacity: 1;
	transform: none;
}

.graph-wrap .sec-03 .graph-circle .icon-wrap {
	width: 100%;
	height: 100%;
	padding-left: 5px;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 99;
}

.graph-wrap .sec-03 .graph-circle .icon-wrap > div:nth-child( odd ) {
	margin-right: 18px;
}

.graph-wrap .sec-03 .graph-circle .icon-wrap > div:nth-child( odd ) .num-wrap {
	color: #df7aae;

}

.graph-wrap .sec-03 .graph-circle .num-wrap {
	font-size: 1.6rem;
}

.graph-wrap .sec-03 .graph-circle .icon-wrap img {
	margin-right: 10px;
	opacity: 0;
	transform: translateY( 40px );
}

.graph-wrap .sec-03 .graph-05.view .graph-circle .icon-wrap img {
	opacity: 1;
	transform: translateY( 0 );
	transition: all 1.6s;
	transition-delay: 2s;
}

.graph-wrap .sec-03 .graph-05.view .graph-circle .icon-wrap .man img {
	transition-delay: 2.2s;
}

.graph-wrap .sec-03 .graph-circle .num-wrap .num {
	font-size: 4rem;
	line-height: .8;
}

.graph-wrap .sec-03 .graph-circle .num-wrap .num-txt {
	margin-top: 20%;
}

.graph-wrap .sec-03 .note {
	margin-top: 4px;
}

.graph-wrap #graph-06 {
	width: 340px;
	height: 250px;
	margin: 0 auto 12px;
	background: url( ../img/company/2x/graph-02.png ) left center / 71px no-repeat;
	transform: translateX( 5px );
	position: relative;
}

.graph-wrap #graph-06 .bar-wrap {
	position: absolute;
	left: 71px;
	align-items: center;
}

.graph-wrap #graph-06 .bar-wrap.bar-01 {
	top: 7px;
}

.graph-wrap #graph-06 .bar-wrap.bar-02 {
	top: 47px;
}

.graph-wrap #graph-06 .bar-wrap.bar-03 {
	top: 87px;
}

.graph-wrap #graph-06 .bar-wrap.bar-04 {
	top: 127px;
}

.graph-wrap #graph-06 .bar-wrap.bar-05 {
	top: 167px;
}

.graph-wrap #graph-06 .bar-wrap.bar-06 {
	top: 207px;
}

.graph-wrap #graph-06 .bar {
	display: inline-block;
	margin-right: 10px;
	transform: translateY( 5px );
}

.graph-wrap #graph-06 .bar .box {
	width: 0;
	height: 26px;
	background: #cee895;
	transition: all 1.6s;
	transition-delay: 2s;
}

.graph-wrap .graph-06.view #graph-06 .bar-01 .bar .box {
	width: 21px;
}

.graph-wrap .graph-06.view #graph-06 .bar-02 .bar .box {
	width: 166px;
}

.graph-wrap .graph-06.view #graph-06 .bar-03 .bar .box {
	width: 201px;
	background: #8fc31f;
}

.graph-wrap .graph-06.view #graph-06 .bar-04 .bar .box {
	width: 121px;
}

.graph-wrap .graph-06.view #graph-06 .bar-05 .bar .box {
	width: 21px;
}

.graph-wrap .graph-06.view #graph-06 .bar-06 .bar .box {
	width: 76px;
}

.graph-wrap #graph-06 .num-wrap {
	font-size: 1.4rem;
	transform: translateY( 5px );
}

.graph-wrap #graph-06 .num-wrap .num {
	font-size: 2.4rem;
	font-weight: 500;
}


/* office-box */

.office-box .read {
	line-height: 2.4;
	letter-spacing: 1.2px;
	margin-bottom: 60px;
}

/* gallery-box */

.gallery-wrap {
	margin-top: 75px;
	padding-bottom: 145px;
}

.gallery {
	opacity: 0;
}

.gallery.slick-slider {
	opacity: 1;
}

.gallery img {
	width: 100%;
}

.gallery figcaption {
	font-size: 1.8rem;
	letter-spacing: 1px;
	padding: 15px 0 0;
	opacity: 0;
}

.gallery .slick-active figcaption {
	opacity: 1;
}

.contents .slick-prev {
	left: 17%;
	transform: translate( -50%, -115% );
}

.contents .slick-next {
	right: 17%;
	transform: translate( 50%, -115% );
}


/*
----------------------------------------
1400
----------------------------------------
*/

@media screen and ( max-width: 1400px ) {

	.graph-wrap .graph-01 .num-wrap .num {
		font-size: 5rem;
	}

	.graph-wrap .sec-01 .num-wrap .num-txt {
		margin-top: 3%;
	}

	.graph-wrap .sec-02 .num-wrap .num {
		font-size: 4rem;
	}

	.graph-wrap .sec-02 .num-wrap .num-txt {
		margin-top: 2%;
	}

}


/*
----------------------------------------
1200
----------------------------------------
*/

@media screen and ( max-width: 1200px ) {

	.info-box .cont-list .txt .jp {
		font-size: 2.2rem;
	}

	.graph-wrap .graph-01 {
		padding: 40px 30px 30px;
	}

	.graph-wrap #graph-01 {
		width: calc( 560px * .75 );
		height: calc( 440px * .75 );
	}

	.graph-wrap #graph-01 .bar {
		bottom: calc( 30px * .75 );
	}

	.graph-wrap #graph-01 .bar-01 {
		left: calc( 92px * .75 );
	}

	.graph-wrap #graph-01 .bar-02 {
		left: calc( 172px * .75 );
	}

	.graph-wrap #graph-01 .bar-03 {
		left: calc( 252px * .75 );
	}

	.graph-wrap #graph-01 .bar-04 {
		left: calc( 332px * .75 );
	}

	.graph-wrap #graph-01 .bar-05 {
		left: calc( 412px * .75 );
	}

	.graph-wrap #graph-01 .bar-06 {
		left: calc( 492px * .75 );
	}

	.graph-wrap #graph-01 .bar .box {
		width: calc( 40px * .75 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-01 .box {
		height: calc( 61px * .75 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-02 .box {
		height: calc( 91px * .75 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-03 .box {
		height: calc( 161px * .75 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-04 .box {
		height: calc( 211px * .75 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-05 .box {
		height: calc( 276px * .75 );
		left: calc( 412px * .75 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-06 .box {
		height: calc( 316px * .75 );
	}

	.graph-wrap .graph-01 .txt {
		width: calc( 100% - ( 560px * .75 ) );
		padding: 0 0 10px 30px;
	}

	.graph-wrap .graph .ttl {
		font-size: 1.8rem;
	}

	.graph-wrap .graph-01 .num-wrap {
		font-size: 2.4rem;
	}

	.graph-wrap .graph-01 .num-wrap .num {
		font-size: 4.5rem;
	}

	.graph-wrap .sec-01 .num-wrap .num-txt {
		margin-top: 5%;
	}

	.graph-wrap .graph .note {
		font-size: 1.2rem;
		margin-top: 1px;
	}

	.graph-wrap .graph .ttl {
		font-size: 2rem;
	}

	.graph-wrap .sec-02 .num-wrap {
		font-size: 1.8rem;
	}

	.graph-wrap .sec-02 .num-wrap .num {
		font-size: 3rem;
	}

	.graph-wrap .sec-02 .graph {
		width: calc( ( 100% - 60px ) / 3 );
		margin-right: 30px;
	}

	.graph-wrap .sec-03 .graph {
		width: calc( ( 100% - 30px ) / 2 );
	}

	.graph-wrap .sec-03 .graph:nth-child( odd ) {
		margin-right: 30px;
	}

}


/*
----------------------------------------
768
----------------------------------------
*/

@media screen and ( max-width: 768px ) {

	.info-box {
		padding-top: 25px;
	}

	.info-box .read {
		font-size: 1.4rem;
		line-height: 2;
		text-align: left;
	}

	.info-box .cont-list {
		margin: 30px 0 0;
		flex-direction: column;
	}

	.info-box .cont-list .cont {
		width: 100% !important;
		margin: 0 0 15px;
	}

	.info-box .cont-list .cont a {
		border-radius: 8px;
		box-shadow: 0 0 5px rgba( 0, 0, 0, .1 );
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		align-items: center;
	}

	.info-box .cont-list figure {
		width: 40%;
	}

	.info-box .cont-list figure img {
		width: 100%;
		height: 80px;
	}

	.info-box .cont-list .txt {
		width: 60%;
		padding: 10px 40px 15px 20px;
		background: url( ../img/company/2x/arrow.png ) right 15px center / 11px no-repeat;
	}

	.info-box .cont-list .txt .en {
		font-size: 1rem;
		letter-spacing: .5px;
	}

	.info-box .cont-list .txt .jp {
		font-size: 1.6rem;
	}

	.number-box {
		margin: -10px 0 30px;
		padding-top: 65px;
		background: url( ../img/company/sp/num-bg-sp.png ) center top / 100% no-repeat;
	}

	.graph-wrap .graph {
		margin-bottom: 15px;
	}

	.graph-wrap .graph .ttl {
		line-height: 1.1;
	}

	.graph-wrap .graph .note {
		line-height: 1.1;
	}

	.graph-wrap .graph-01 {
		padding: 25px 15px 20px;
		margin-top: 0;
		flex-direction: column;
		align-items: center;
	}

	.graph-wrap #graph-01 {
		width: calc( 560px * .5357 );
		height: calc( 440px * .5357 );
	}

	.graph-wrap #graph-01 .bar {
		bottom: calc( 30px * .5357 );
	}

	.graph-wrap #graph-01 .bar-01 {
		left: calc( 92px * .5357 );
	}

	.graph-wrap #graph-01 .bar-02 {
		left: calc( 172px * .5357 );
	}

	.graph-wrap #graph-01 .bar-03 {
		left: calc( 252px * .5357 );
	}

	.graph-wrap #graph-01 .bar-04 {
		left: calc( 332px * .5357 );
	}

	.graph-wrap #graph-01 .bar-05 {
		left: calc( 412px * .5357 );
	}

	.graph-wrap #graph-01 .bar-06 {
		left: calc( 492px * .5357 );
	}

	.graph-wrap #graph-01 .bar .box {
		width: calc( 40px * .5357 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-01 .box {
		height: calc( 61px * .5357 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-02 .box {
		height: calc( 91px * .5357 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-03 .box {
		height: calc( 161px * .5357 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-04 .box {
		height: calc( 211px * .5357 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-05 .box {
		height: calc( 276px * .5357 );
	}

	.graph-wrap .graph-01.view #graph-01 .bar-06 .box {
		height: calc( 316px * .5357 );
	}

	.graph-wrap .graph-01 .txt {
		width: 100%;
		padding: 0;
		margin-top: 20px;
		text-align: center;
	}

	.graph-wrap .graph-01 .num-wrap {
		justify-content: center;
	}

	.graph-wrap .sec-01 .num-wrap .num-txt {
		margin-top: 3%;
	}

	.graph-wrap .sec-02 .graph {
		width: 100%;
		margin: 0 0 15px;
		padding: 20px 15px 15px;
		-js-display: flex;
		display: -ms-flex;
		display: -webkit-flex;
		display: flex;
		align-items: center;
	}

	.graph-wrap .sec-02 .graph .img {
		width: 43%;
		padding-right: 10px;
		transform: translateY( 5px );
	} 

	.graph-wrap .graph-02 .ttl {
		font-size: 1.8rem;
	}

	.graph-wrap .sec-02 .graph .txt {
		width: 57%;
		text-align: left;
	}

	.graph-wrap .sec-02 .num-wrap {
		font-size: 1.8rem;
		line-height: 1.2;
		justify-content: flex-start;
	}

	.graph-wrap .sec-02 .num-wrap .num {
		font-size: 3.9rem;
		letter-spacing: -1.8px;
		margin: 0 2px 0 0;
	}

	.graph-wrap .sec-02 .num-wrap .num-txt {
		margin-top: 5%;
	}

	.graph-wrap .sec-02 .graph-04 .num-wrap {
		font-size: 1.6rem;
	}

	.graph-wrap .sec-02 .graph-04 .num-wrap .num {
		font-size: 3.7rem;
	}

	.graph-wrap .sec-03 .graph {
		padding: 26px 15px 20px;
	}

	.graph-wrap .sec-03 > .flex {
		flex-direction: column;
	}

	.graph-wrap .sec-03 .graph {
		width: 100%;
	}

	.graph-wrap .sec-03 .graph:nth-child( odd ) {
		margin-right: 0;
	}

	.graph-wrap .sec-03 .graph-circle {
		width: 175px;
		height: 175px;
		margin-bottom: 18px;
	}

	.graph-wrap .sec-03 .graph-circle .icon-wrap > div:nth-child( odd ) {
		margin-right: 10px;
	}

	.graph-wrap .sec-03 .graph-circle .num-wrap {
		font-size: 1.2rem;
	}

	.graph-wrap .sec-03 .graph-circle .num-wrap .num {
		font-size: 2.8rem;
		letter-spacing: -.5px;
		margin-right: 1px;
	}

	.graph-wrap .sec-03 .graph-circle .icon-wrap img {
		width: 18px;
		margin-bottom: -5px;
	}

	.graph-wrap .sec-03 .graph .ttl {
		margin-bottom: 6px;
	}

	.graph-wrap #graph-06 {
		width: calc( 340px * .7 );
		height: calc( 250px * .7 );
		background: url( ../img/company/2x/graph-02.png ) left center / 50px no-repeat;
		margin: 0 auto 16px;
	}

	.graph-wrap #graph-06 .bar-wrap {
		left: 50px;
		white-space: nowrap;
	}

	.graph-wrap #graph-06 .bar-wrap.bar-01 {
		top: calc( 7px * .7 );
	}

	.graph-wrap #graph-06 .bar-wrap.bar-02 {
		top: calc( 47px * .7 );
	}

	.graph-wrap #graph-06 .bar-wrap.bar-03 {
		top: calc( 87px * .7 );
	}

	.graph-wrap #graph-06 .bar-wrap.bar-04 {
		top: calc( 127px * .7 );
	}

	.graph-wrap #graph-06 .bar-wrap.bar-05 {
		top: calc( 167px * .7 );
	}

	.graph-wrap #graph-06 .bar-wrap.bar-06 {
		top: calc( 207px * .7 );
	}

	.graph-wrap #graph-06 .bar {
		transform: translateY( 2px );
		margin-right: 7px;
	}

	.graph-wrap #graph-06 .bar .box {
		height: calc( 26px * .7 );
	}

	.graph-wrap .graph-06.view #graph-06 .bar-01 .bar .box {
		width: calc( 21px * .7 );
	}

	.graph-wrap .graph-06.view #graph-06 .bar-02 .bar .box {
		width: calc( 166px * .7 );
	}

	.graph-wrap .graph-06.view #graph-06 .bar-03 .bar .box {
		width: calc( 201px * .7 );
	}

	.graph-wrap .graph-06.view #graph-06 .bar-04 .bar .box {
		width: calc( 121px * .7 );
	}

	.graph-wrap .graph-06.view #graph-06 .bar-05 .bar .box {
		width: calc( 21px * .7 );
	}

	.graph-wrap .graph-06.view #graph-06 .bar-06 .bar .box {
		width: calc( 76px * .7 );
	}

	.graph-wrap #graph-06 .num-wrap {
		font-size: 1.2rem;
	}

	.graph-wrap #graph-06 .num-wrap .num {
		font-size: 1.6rem;
	}

	.office-box .read {
		margin-bottom: 30px;
		font-size: 1.4rem;
		text-align: left;
		line-height: 2;
		letter-spacing: 1px;
	}

	.contents .slick-prev,
	.contents .slick-next {
		width: 40px;
		height: 40px;
	}

	.contents .slick-prev {
		background: #8fc31f url( ../img/common/2x/arrow-prev.png ) center center / 16px no-repeat !important;
	}

	.contents .slick-next {
		background: #8fc31f url( ../img/common/2x/arrow-next.png ) center center / 16px no-repeat !important;
	}

	.contents .slick-prev {
		left: 30px;
		transform: translate( -50%, -115% );
	}

	.contents .slick-next {
		right: 30px;
		transform: translate( 50%, -115% );
	}

	.gallery-wrap {
		margin-top: 30px;
		padding-bottom: 30px;
	}

	.gallery img {
		height: 200px;
	}

	.gallery figcaption {
		font-size: 1.4rem;
	}

}


/*
----------------------------------------
hover
----------------------------------------
*/

@media screen and ( min-width: 769px ) {

	.info-box .cont-list .cont a:hover {
		background: rgba( 143, 195, 31, .2 );
	}

	.info-box .cont-list a:hover figure {
		opacity: .8;
	}

	.info-box .cont-list a:hover .txt {
		background: url( ../img/company/2x/arrow.png ) right 20px center / 22px no-repeat;
	}

}
