@charset "utf-8";

:root {
	--JSAP-link-hover-color: #0096e9;

	--CP-main-color: #0d3380;
	--CP-main-color-off: #4E5F7B;

	--CP-pps-color: #af2c45;
	--CP-pps-color-off: #8F5A65;

	--CP-fld-color: #4a9305;
	--CP-fld-color-off: #67844B;

	--CP-cnt-color: #0d85b5;
	--CP-cnt-color-off: #4E7F92;

	--CP-toi-color: #bc9a0d;
	--CP-toi-color-off: #94864F;

	--CP-nav-color: #fff;
	--CP-nav-color-off: #999;

	--CP-normal-gray: #4b5468;

	--CP-transition: all .2s linear 0s;
}

body.CPhome {
	background: #010511 url("/imgs/corp-portal/CPimage-nocopy.jpg") no-repeat;
	background-position: center 220px;
	background-size: contain;
}

body.CPhome.admin-bar {
	background-position: center 240px;
}

body.CPregular {
	background: #f6f7f9;
}

.page23.corp-portal > .main {
	max-width: 1200px;
	margin: 0 auto;
	padding: 40px 0 0;
}

.cp_header {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto 25px;
	line-height: 1.0;
}

.CPhome h1#cp-label,
.CPregular #cp-label {
	display: inline-block;
	margin: 0;
	padding: 5px 20px 6px;
	font-size: 1.2rem;
	line-height: 1.0;
	color: #fff;
	background: var(--CP-main-color);
	border-radius: 4px;
}

#contNav {
	position: sticky;
	top: 120px;
	width: 100%;
	z-index: 1000;
	max-width: 1120px;
	margin: 0 auto;
	padding: 6px;
	border-radius: 4px;
	background: rgba(255,255,255,0.32);
}

#contNav.tf {
	padding-bottom: 0;
	border-radius: 4px 4px 0 0;
}

#contNav.tf + #eyecatch,
#contNav.tf + h1 {
	padding-top: 6px !important;
}

#contNav ul {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
}

#contNav > ul {
	position: relative;
	gap: 0 1px;
}

#contNav .lv1 {
	position: relative;
	text-align: center;
	width: 223px;
}

#contNav .lv1.here:before {
	content: url("../imgs/corp-portal/ic_here.png");
	position: absolute;
	top: 50%;
	left: 10px;
	transform: translateY(-50%);
	display: inline-block;
	width: 18px;
	height: 18px;
	overflow: hidden;
	line-height: 1.0;
}

#contNav > ul > li:nth-child(1),
#contNav li:nth-child(1) .lv2 ul	{ background: var(--CP-main-color); }
#contNav > ul > li:nth-child(2),
#contNav li:nth-child(2) .lv2 ul	{ background: var(--CP-pps-color); }
#contNav > ul > li:nth-child(3),
#contNav li:nth-child(3) .lv2 ul	{ background: var(--CP-fld-color); }
#contNav > ul > li:nth-child(4),
#contNav li:nth-child(4) .lv2 ul	{ background: var(--CP-cnt-color); }
#contNav > ul > li:nth-child(5),
#contNav li:nth-child(5) .lv2 ul	{ background: var(--CP-toi-color); }
#contNav > ul > li a, 
#contNav > ul > li .txt {
	color: var(--CP-nav-color);
}

#contNav > ul > li:nth-child(1) { border-radius: 4px 0 0 4px; }
#contNav > ul > li:nth-child(5) { border-radius: 0 4px 4px 0; }
#contNav.tf > ul > li:nth-child(1) { border-radius: 4px 0 0 0; }
#contNav.tf > ul > li:nth-child(5) { border-radius: 0 4px 0 0; }

#contNav:hover > ul > li:nth-child(1) { background: var(--CP-main-color-off); }
#contNav:hover > ul > li:nth-child(2) { background: var(--CP-pps-color-off); }
#contNav:hover > ul > li:nth-child(3) { background: var(--CP-fld-color-off); }
#contNav:hover > ul > li:nth-child(4) { background: var(--CP-cnt-color-off); }
#contNav:hover > ul > li:nth-child(5) { background: var(--CP-toi-color-off); }
#contNav:hover > ul > li a, 
#contNav:hover > ul > li .txt {
	color: var(--CP-nav-color-off);
}

#contNav > ul > li:nth-child(1):hover { background: var(--CP-main-color); }
#contNav > ul > li:nth-child(2):hover { background: var(--CP-pps-color); }
#contNav > ul > li:nth-child(3):hover { background: var(--CP-fld-color); }
#contNav > ul > li:nth-child(4):hover { background: var(--CP-cnt-color); }
#contNav > ul > li:nth-child(5):hover { background: var(--CP-toi-color); }
#contNav > ul > li:hover a, 
#contNav > ul > li:hover .txt {
	color: var(--CP-nav-color);
}

#contNav .lv1 > a, 
#contNav .lv1 > .txt {
	display: inline-block;
	padding: 0;
	width: 100%;
	height: 52px;
	line-height: 52px;
	font-size: 1.7rem;
	cursor: pointer;
	transition: color .2s linear 0s;
}

#contNav .lv1 a:hover {
	color: var(--CP-nav-color) !important;
}

#contNav .lv2 {
	position: absolute;
	top: 52px;
	left: -6px;
	z-index: 1000;
	display: none;
	width: 100%;
	max-width: 1120px;
	margin: 0;
	padding: 0 6px 6px;
	transition: var(--CP-transition);
	background: rgba(255,255,255,0.32);
	opacity: 0;

}

#contNav li:hover .lv2 {
	display: block;
	opacity: 1;
}

#contNav .lv2 ul {
	width: 1100px;
	max-width: 1100px;
	padding: 10px;
	gap: 10px;
	flex-wrap: wrap;
	border-radius: 0 0 4px 4px;

}

#contNav .lv2 ul li {
	position: relative;
	width: calc(100% - 50px);
	max-width: calc(360px - 50px);
	height: calc(100% - 40px);
	max-height: calc(132px - 40px);
	height: 64px;
	padding: 20px 25px;
	background: #fff;
	border-radius: 4px;
}

.lv2 a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: calc(100% - 25px);
	height: calc(100% - 18px);

	padding: 18px 0 0 25px;
	font-weight: bold;
	font-size: 1.7rem;
	line-height: 1.4;

	transition: var(--CP-transition);
}

.lv2 p {
	margin: 30px 0 0;
	padding: 0 1.0em 0 0;
	font-size: 1.4rem;
	line-height: 1.4;
	color: #8a8a8a;
}



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

	Corp Portal Home

*/

#eyecatch {
	margin: 10px auto 0;
	text-align: center;
}

#eyecatch p {
	width: 100%;
	max-width: 880px;
	margin: -20px auto 0;
	padding: 28px 0;
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1.6;
	color: #fff;
	text-shadow: 0 1px 6px rgba(0,0,0,0.8);
	background: rgba(13,51,128,0.24);
}

#navCorp {
	position: relative;
	display: block;
	width: 100%;
	max-width: 1040px;
	margin: 0 auto 60px;
	padding: 0;
	list-style: none;
}

#navCorp > li {
	margin-top: 40px;
}

#navCorp h2 {
	margin: 0;
	padding: 0;
	font-size: 2.1rem;
	line-height: 1.0;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0,0,0,0.9);
}

.navCorp_cate {
	display: flex;
	margin: 0;
	padding: 0;
	list-style: none;
	gap: 0 40px;
}

.navCorp_cate li {
	position: relative;
	width: calc(100% - 47px);
	max-width: 273px;
	width: 273px;
	height: 120px;
	margin: 18px 0 0;
	padding: 20px 23px 20px 24px;
	background: #fff;
	border-radius: 12px;
	transition: var(--CP-transition);
}

.navCorp_cate .slick-list {
	padding: 18px 0;
}
.navCorp_cate.carousel-box {
	margin: 0 -20px;
}
.navCorp_cate.carousel-box li {
	width: 313px;
	max-width: 313px;
	margin: 0 20px;
}

.carousel-box .slide-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1000;
	
	display: inline-block;
	width: 54px;
	height: 54px;
	overflow: hidden;
	text-align: center;
	line-height: 52px;
	font-size: 2.8rem;
	color: #727272;
	background: #fff;
	border-radius: 50%;


	transition: var(--CP-transition);
	cursor: pointer;
	opacity: 0.8;
}

.carousel-box .slide-arrow:hover {
	opacity: 1.0;
	color: var(--JSAP-link-hover-color);
}

.carousel-box .slide-arrow:before {
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
}

.carousel-box .slide-arrow.prev-arrow			{ left: -60px; }
.carousel-box .slide-arrow.prev-arrow:before	{ content: "\f104"; }
.carousel-box .slide-arrow.next-arrow			{ right: -60px; }
.carousel-box .slide-arrow.next-arrow:before	{ content: "\f105"; }

.cp_dots {
	position: absolute;
	top: -20px;
	left: 216px;
	display: flex;
	justify-content: center;
	margin: 0;
	padding: 0 10px;
	list-style: none;
	background: rgba(255,255,255,0.68);
	border-radius: 12px;
}

.navCorp_cate.carousel-box .cp_dots li {

	width: 16px;
	height: 20px;
	overflow: hidden;
	margin: 0;
	padding: 2px 0 0;
	text-align: center;
	font-size: 6px;
	line-height: 20px;
/*
*/
	cursor: pointer;
	border-radius: 0;
	background: none;
}

.navCorp_cate.carousel-box .cp_dots li:before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	overflow: hidden;
	background: #8a8a8a;
	border-radius: 50%;
}

#navCorp > li:nth-child(1) .navCorp_cate.carousel-box .cp_dots li.slick-active:before { background: var(--CP-pps-color); }
#navCorp > li:nth-child(2) .navCorp_cate.carousel-box .cp_dots li.slick-active:before { background: var(--CP-fld-color); }
#navCorp > li:nth-child(3) .navCorp_cate.carousel-box .cp_dots li.slick-active:before { background: var(--CP-cnt-color); }

.navCorp_cate.carousel-box .cp_dots li:hover {
	box-shadow: none;
}

.cp_dots button {
display: none;
padding: 0;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: none;
border: none;
background-color: transparent;

}


.CPhome .navCorp_cate li:hover		{ box-shadow: 0 2px 18px rgba(255,255,255,1.0); }
.CPregular .navCorp_cate li:hover	{ box-shadow: 0 2px 18px rgba(0,0,0,0.16); }

.CPhome .navCorp_cate h3, 
.CPregular .navCorp_cate h2 {
	margin: 0;
	padding: 0;
	font-size: 2.0rem;
	line-height: 1.0;
	color: var(--CP-normal-gray);
}

.CPhome .navCorp_cate h3:before, 
.CPregular .navCorp_cate h2:before {
	position: absolute;
	top: 20px;
	left: 24px;
	content: "";
	display: inline-block;
	width: 30px;
	height: 8px;
	border-radius: 3px;
}

#navCorp > li:nth-child(1) h3:before,
.CPp .navCorp_cate h2:before		{ background-color: var(--CP-pps-color); }
#navCorp > li:nth-child(2) h3:before,
.CPf .navCorp_cate h2:before		{ background-color: var(--CP-fld-color); }
#navCorp > li:nth-child(3) h3:before,
.CPc .navCorp_cate h2:before		{ background-color: var(--CP-cnt-color); }

.CPhome .navCorp_cate h3 a,
.CPregular .navCorp_cate li > a {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: calc(100% - 24px - 2px);
	height: calc(100% - 42px - 2px);
	padding: 42px 0 0 24px;
	border: 1px solid #d2d2d2;
	border-radius: 12px;
	transition: var(--CP-transition);
}

.lv2 a:after, 
.CPhome .navCorp_cate h3 a:after {
	content: "\f061";
	font-family: "Font Awesome 6 Pro";
	font-weight: 400;
	font-size: 3.2rem;

	position: absolute;
	top: 50%;
	right: 12px;
	bottom: 50%;
	margin: auto 0;
	transform: translate(-0.5em,-0.475em);
	opacity: 0;
	color: #8a8a8a;

	transition: var(--CP-transition);

}

.lv2 a, 
body:not(.HOME23).CPhome .navCorp_cate h3 a,
body:not(.HOME23).CPregular .navCorp_cate li > a,
body:not(.HOME23) .lv2 a:hover, 
body:not(.HOME23).CPhome .navCorp_cate h3 a:hover {
	color: var(--CP-normal-gray) !important;
}

.lv2 a:hover:after, 
.CPhome .navCorp_cate h3 a:hover:after {
	transform: translate(0,-0.475em);
	opacity: 1;
	color: var(--JSAP-link-hover-color);
}


.lv2 a:after {
	font-weight: 400;
	font-size: 2.4rem;
	transform: translate(-0.5em,-0.64em);
}

.lv2 a:hover:after {
	transform: translate(0,-0.64em);

}

.navCorp_cate p {
	margin: 52px 0 0 !important;
	padding: 0;
	font-size: 1.6rem;
	line-height: 1.4;
	color: #8a8a8a;
}



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

	Corp Portal Regular

*/

.CPregular h1 {
	display: block;
	width: 100%;
	max-width: 1040px;
	margin: 50px auto 0;
	font-size: 2.6rem;
	line-height: 1.0;
	color: var(--CP-normal-gray);
}

h1 > .corp-cate {
	display: block;
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 1.4rem;
}

.CPp h1 > .corp-cate { color: var(--CP-pps-color); }
.CPf h1 > .corp-cate { color: var(--CP-fld-color); }
.CPc h1 > .corp-cate { color: var(--CP-cnt-color); }

.CPregular h1 + p {
	width: 100%;
	max-width: 1040px;
	margin: 16px auto 20px;
	color: #5a5a5a;
}

.CPregular .navCorp_cate {
	display: flex;
	width: 100%;
	max-width: 1040px;
	margin: 20px auto 60px;
	flex-wrap: wrap;
	gap: 15px 40px;
}

.CPregular .navCorp_cate li {
	height: 280px;
}

.CPregular .navCorp_cate h2 {
	margin-top: 22px;
	line-height: 1.25;
}

.CPregular .navCorp_cate p {
	margin: 19px 0 0 !important;
}

.CPregular .navCorp_cate li > a {
	width: calc(100% - 48px - 2px);
	height: calc(100% - 272px - 2px);
	padding: 272px 24px 0 24px;
	text-align: right;
	font-weight: bold;
	font-size: 1.4rem;
	line-height: 1.25;
	opacity: 0.6;
}

body:not(.HOME23).CPregular.CPp .navCorp_cate li > a { color: var(--CP-pps-color) !important; }
body:not(.HOME23).CPregular.CPf .navCorp_cate li > a { color: var(--CP-fld-color) !important; }
body:not(.HOME23).CPregular.CPc .navCorp_cate li > a { color: var(--CP-cnt-color) !important; }

body:not(.HOME23).CPregular .navCorp_cate li > a:hover {
	opacity: 1.0;
}

.CPregular.desk h1 {
	margin: 60px auto 40px;
	text-align: center;
}
