@charset "utf-8";
/* ===================================================================

 file name  :management.css
 style info :マネージメント

=================================================================== */

/* =============================

	overwrite

=============================== */

#pageHeader{
	background-image: url(../images/management/bg_pageheader.jpg);
}

/* =================================== */
#main #lead {
	text-align: center;
	margin-bottom: 100px;
}
#main #lead h3 {
	font-size: 29px;
	margin-bottom: 1.6em;
}
#main #lead p {
	margin-bottom: 90px;
	font-size: 17px;
}
#main #lead .flow-pic h4 {
	padding-top: 1em;
	margin-bottom: 2em;
	text-align: center;
	font-size: 22px;
	opacity: 0;
	transform:translateY(30px);
	transition: all ease .8s .3s;
}
#main #lead .flow-pic figure {
	opacity: 0;
	transform:translateY(30px);
	transition: all ease 1s .4s;
}
#main #lead .flow-pic.sc-show h4{
	transform: translateY(0);
	opacity: 1;
}
#main #lead .flow-pic.sc-show figure{
	transform: translateY(0);
	opacity: 1;
}
@media screen and (max-width: 760px){
	#main #lead h3 {
		font-size: 42px;
		margin-bottom: 1em;
	}
	#main #lead p {
		font-size: 28px;
	}
	#main #lead .flow-pic h4 {
		font-size: 30px;
	}
}

/*
#mainContents
---------------------------*/
#main #mainContents{
	padding-bottom: 150px;
	background: #050b1a;
}

/* snav */
#main #mainContents .snav {
	display: block;
	padding-bottom: 140px;
}
#main #mainContents .snav ul {
	display: flex;
	justify-content: space-between;
}
#main #mainContents .snav ul li {
	width: 495px;
}
#main #mainContents .snav ul li a {
	display: block;
	position: relative;
	line-height: 1;
	opacity: 0.3;
	z-index: 1;
}
#main #mainContents .snav ul li.current a,
#main #mainContents .snav ul li a:hover{
	opacity: 1;
}
#main #mainContents .snav ul li a::before,
#main #mainContents .snav ul li a::after{
	content:'';
	width: 18px;
	height: 2px;
	position: absolute;
	bottom: 20px;
	left: 64px;
	background: #FFF;
	transform-origin: right bottom;
	transform:rotate(40deg);
	z-index: 2;
}
#main #mainContents .snav ul li a::before{
	transform-origin: left bottom;
	transform:rotate(-40deg);
	margin-left: 18px;
}
#main #mainContents .snav ul li a .ttl {
	position: absolute;
	top: 46px;
	left: 50px;
	z-index: 2;
}
#main #mainContents .snav ul li a .en {
	display: block;
	margin-bottom: 24px;
	height: 95px;
}
#main #mainContents .snav ul li a .en img {
	height: 100%;
	width: auto;
}
#main #mainContents .snav ul li a .ja {
	display: block;
	font-size: 22px;
}
@media screen and (max-width: 760px){
	#main #mainContents .snav ul li {
		width: 48%;
	}
	#main #mainContents .snav ul li a::before,
	#main #mainContents .snav ul li a::after{
		width: 20px;
		bottom: 20px;
		left: auto;
		right: 40px;
	}
	#main #mainContents .snav ul li a::before{
		margin-left: 0;
		margin-right: -20px;
	}
	#main #mainContents .snav ul li a .ttl {
		top: 20px;
		left: 20px;
	}
	#main #mainContents .snav ul li a .en {
		margin-bottom: 24px;
		height: 50px;
	}
	#main #mainContents .snav ul li a .ja {
		font-size: 28px;
	}
}

/* tab-panel */
#main #mainContents .tab-panel{
	display: none;
	pointer-events: none;
	opacity: 0;
}
#main #mainContents .tab-panel.show{
	display: block;
	pointer-events:all;
	animation: fade-in 1s .1s normal 1 both;
}



/* step */
#main #mainContents .step {
	padding-bottom: 70px;
}
#main #mainContents .step .head {
	margin-bottom: 80px;
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	position: relative;
	z-index: 1;
}
#main #mainContents .step .head::before{
	content:'';
	width: 50%;
	height: 100%;
	background: url(../images/management/bg_step01.jpg) no-repeat 50% 50%;
	background-size: cover;
	position: absolute;
	left: 0;
	top: 0;
	z-index: -1;
	pointer-events: none;
	opacity: 0;
	transition: opacity ease .8s;
}
.pre-anim-start #main #mainContents .step .head.sc-show::before{
	opacity: 1;
}
#main #mainContents #step02_common .head::before{	background-image: url(../images/management/bg_common_step02.jpg);}
#main #mainContents #step03_common .head::before{	background-image: url(../images/management/bg_common_step03.jpg);}
#main #mainContents #step04_common .head::before{	background-image: url(../images/management/bg_common_step04.jpg);}
#main #mainContents #step05_common .head::before{	background-image: url(../images/management/bg_common_step05.jpg);}
#main #mainContents #step06_common .head::before{	background-image: url(../images/management/bg_common_step06.jpg);}
#main #mainContents #step02_private .head::before{	background-image: url(../images/management/bg_private_step02.jpg);}
#main #mainContents #step03_private .head::before{	background-image: url(../images/management/bg_private_step03.jpg);}
#main #mainContents #step04_private .head::before{	background-image: url(../images/management/bg_private_step04.jpg);}
#main #mainContents .stepfinal_private .head::before{	background-image: url(../images/management/bg_private_final.jpg);}

#main #mainContents .step .head .ttl-wrap {
	width: 500px;
	margin-left: auto;
	padding-right: 70px;
	letter-spacing: 0.03em;
}
#main #mainContents .step .head .ttl-wrap h4 {
	position: relative;
	padding-bottom: 30px;
	margin-bottom: 30px;
	font-size: 34px;
	letter-spacing: 0.06em;
	transform:translateX(-30px);
	opacity: 0;
	transition: all ease-out .8s .1s;
}
.pre-anim-start #main #mainContents .step .head.sc-show h4{
	opacity: 1;
	transform:translateX(0);
}
#main #mainContents .step .head .ttl-wrap h4::after{
	content:'';
	display: block;
	width: 100vw;
	height: 1px;
	background: #FFF;
	position: absolute;
	right: -70px;
	bottom: 0;
	transform-origin: right top;
	transform:scaleX(0);
	transition: transform ease-out 1.5s .5s;
}
.pre-anim-start #main #mainContents .step .head.sc-show h4::after{
	transform:scaleX(1);
}
#main #mainContents .step .head .ttl-wrap h4 .num {
	margin-bottom: 0.5em;
	height: 13px;
	display: block;
	line-height: 1;
}
#main #mainContents .step .head .ttl-wrap h4 .num img {
	height: 100%;
	width: auto;
}
#main #mainContents .step .head .ttl-wrap h4 small {
	font-size: 16px;
}
#main #mainContents .step .head .ttl-wrap p {
	font-size: 16px;
	line-height: 2.2;
	transform:translateX(-30px);
	opacity: 0;
	transition: all ease-out .8s .3s;
}
.pre-anim-start #main #mainContents .step .head.sc-show p{
	opacity: 1;
	transform:translateX(0);
}
#main #mainContents .step .head figure{
	width: 50%;
	opacity: 0;
	transition: all ease-out .8s;
	overflow: hidden;
}
#main #mainContents .step .head figure img{
	display: block;
	width: 100%;
}
.pre-anim-start #main #mainContents .step .head.sc-show figure{
	opacity: 1;
}
@media screen and (max-width: 1200px){
	#main #mainContents .step .head figure img{
		margin-left: -15%;
		width: 130%;
		max-width: 130%;
	}
}
@media screen and (max-width: 760px){
	/* step */
	#main #mainContents .step {
		padding-bottom: 100px;
	}
	#main #mainContents .step .head {
		display: block;
	}
	#main #mainContents .step .head::before{
		width: 100%;
		height: 100%;
	}
	#main #mainContents .step .head .ttl-wrap {
		width: 100%;
		padding: 30px;
		letter-spacing: 0.;
	}
	#main #mainContents .step .head .ttl-wrap h4 {
		padding-bottom: 1em;
		margin-bottom: 1em;
		font-size: 40px;
	}
	#main #mainContents .step .head .ttl-wrap h4::after{
		width: calc(100% + 30px);
		right: -30px;
	}
	#main #mainContents .step .head .ttl-wrap h4 .num {
		height: 16px;
	}
	#main #mainContents .step .head .ttl-wrap h4 small {
		font-size: 24px;
	}
	#main #mainContents .step .head .ttl-wrap p {
		font-size: 26px;
	}
	#main #mainContents .step .head figure{
		width: 100%;
	}
	#main #mainContents .step .head figure img{
		margin-left: 0;
		width: 100%;
		max-width: 100%;
	}
}

/*
.content
---------------------------*/
#main #mainContents .step .content ul {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
#main #mainContents .step .content ul li {
	margin-bottom: 60px;
}
#main #mainContents .step .content ul.col2 li{
	width: 470px;
}
#main #mainContents .step .content ul.col3 li{
	width: 310px;
}
#main #mainContents .step .content ul li h5 {
	color: #c9bc9c;
	margin: 0.8em 0;
	font-size: 18px;
	text-align: center;
	line-height: 1.5;
	font-family: YakuHanJP,'Noto Sans JP', sans-serif;
}
#main #mainContents .step .content ul li h5 span,
#main #mainContents .step .content ul li h5 small {
	font-size: 14px;
}
#main #mainContents .step .content ul li figure{
	position: relative;
}
#main #mainContents .step .content ul li figure figcaption{
	font-size: 14px;
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 0.3em;
	line-height: 1.1;
}
#main #mainContents .step .content ul li p span:not(.no-small){
	display: block;
	font-size: 0.8em;
}
@media screen and (max-width: 760px){
	#main #mainContents .step .content ul.col2 li,
	#main #mainContents .step .content ul.col3 li{
		width: 48%;
	}
	#main #mainContents .step .content ul li h5 {
		font-size: 26px;
	}
	#main #mainContents .step .content ul li h5 span,
	#main #mainContents .step .content ul li h5 small {
		font-size: 22px;
	}
	#main #mainContents .step .content ul li p{
		font-size: 24px;
		line-height: 1.6;
	}
	#main #mainContents .step .content ul li figure figcaption{
		font-size: 24px;
	}
}

/*
#step01
---------------------------*/
#main #mainContents #step01 .content ul li h5{
	color: #FFF;
	font-size: 20px;
}
#main #mainContents #step01 .content ul li h5 span {
	font-size: 15px;
}
#main #mainContents #step01 .content p{
	text-align: center;
	margin-bottom: 30px;
}
@media screen and (max-width: 760px){
	#main #mainContents #step01 .content ul li h5{
		font-size: 30px;
	}
	#main #mainContents #step01 .content ul li h5 span {
		display: block;
		font-size: 24px;
	}
	#main #mainContents #step01 .content p{
		margin-bottom: 0;
	}

}






