header.header {
	position: fixed;
    display: flex;
    width: 100%;
    height: 80px;
    justify-content: space-between;
    align-items:center;
    padding:0px 100px;
    background: rgba(255,255,255,.6);
   	box-shadow: none;
   	z-index: 9;
}
header .header.p_rel {
    transition: .2s;
}
header.header.fadein {
	 opacity: 1;
	 transition: 0.3s;
}
header.header.fadeout {
	opacity: 0;
    transition: 0.3s;
}
header.header.active {
    position : fixed;
    z-index: 98;
    transition: .2s;
    box-shadow: 2px 3px 4px rgba(0,0,0, .1);
    color: var(--text-color) !important;
    backdrop-filter: blur(6px);
}
header.header .logo a {
	display: block; 
	width: 138px; 
	height: 22px; 
	font-size: 0px; 
	background: url('../images/common/logo.png'); 
}
header.header nav .top_menu {
	display: flex; 
	margin: 0 auto;
	column-gap: 80px;
}
header.header nav .top_menu li {
	font-size: var(--large-font-size);
    color: var(--text-color);
    font-weight: 700;
    position: relative;
}
header.header nav .top_menu li a::after{
	content: ""; 
	position: absolute; 
	bottom: 1px; 
	left: -2px; 
	width: calc(100% + 4px); 
	height: 2px; 
	background: var(--success-color); 
	transform: scaleX(0); 
	transition-duration: 0.2s;
}
header.header nav .top_menu li:hover a.about::after,
header.header nav .top_menu li:hover a.solution::after,
header.header nav .top_menu li:hover a.contents::after,
header.header nav .top_menu li:hover a.support::after{
	transform: scaleX(1);
}
header.header nav .top_menu li.active {
    color: var(--success-color);
}
header.header .sub_menu_bg {
    position: absolute;
    top: 80px;
    left: 0px;
    width: 100%;
    padding: 20px 100px;
    display: block;
    background-color: rgba(255, 255, 255, .8);
    transition: 0.4s;
    backdrop-filter: blur(6px);
    height: 190px;
    z-index: 9;
    box-shadow: 0px 3px 5px rgba(0, 0, 0, .1);
}
header.header .top_menu li .sub_menu {
	position: absolute;
    top: 80px;
    left: 50%;
    display: flex;
    flex-direction: column;
    row-gap: 7px;
    z-index: 10;
    transform: translate(-50%, 0);
}
header.header .top_menu li .sub_menu li {
	font-weight: 400;
	font-size: var(--medium-font-size);
	white-space: nowrap;
	text-align: center;
    padding: 3px 5px;
}
header.header .top_menu li .sub_menu li.active {
	font-weight: 700;
	color: var(--primary-color);
    background: var(--primary-light-color);
}
header.header .top_menu li .sub_menu li.active
header.header .login_area {
	display: flex;
	column-gap: 20px;
    clear: both;
    width: auto;
    height: auto;
    align-items: center;
}
header.header_dark {
    border-bottom: 1px solid rgba(255,255,255,.5);
    background: none;
}
header.header_dark .logo a {
	background: url('../images/common/logo_w.png'); 
}
header.header_dark nav .top_menu li {
    color: var(--white-color);
}
header.header_dark .sub_menu_bg {
	background: none;
	box-shadow: none;
}
header.header_dark .top_menu li .sub_menu li.active {
	background: var(--white-color);
}
.thirdDepthMenu {
	position: absolute;
	display: flex;
    column-gap: 5px;
    top: 320px;
    margin-top : 80px;
    left: 50%;
    transform: translate(-50%);
}
.thirdDepthMenu li {
	color: var(--white-color);
}
.thirdDepthMenu li:after {
	content: '｜';
	margin-left: 5px;
	color: var(--white-color);
}
main .sub_container {
	padding: 150px 0px;
}
main .sub_container.admin {
    padding: 0px 100px 120px !important;
}
main .sub_container.admin .content_area {
	padding: 0px;
}
main .tit_area {
	height: 480px;
	background: var(--primary-color) url('../images/sub/bg_sub.png') center;
	background-size: cover;
    padding: 80px 30px;
    text-align: center;
}
main .tit_page {
	font-size: var(--spage-font-size);
	color: var(--white-color);
	font-weight: 800;
	text-align: center;
	padding: 120px 0px 0px 0px;
	margin-bottom: 20px;
	position: relative;
	display: inline-block;
	z-index: 1;
	text-transform: uppercase;
}
main .tit_area .tit_page:after {
	content: '';
    position: absolute;
    width: 100%;
    height: 20px;
    background: rgba(255, 255, 255, .5);
    bottom: -1px;
    left: 0;
    z-index: -1;
}
main h4.desc_page {
	font-size: var(--xlarge-font-size);
	color: var(--white-color);
	font-weight: 400;
	text-align: center;
	line-height: 1.4em;
}
main .tit_container {
	text-align: center;
	font-size: var(--stit-font-size);
	color: var(--primary-color);
	font-weight: 700;
	margin-bottom:15px;
}
main .desc_container {
	text-align: center;
	font-size: var(--large-font-size);
	margin-bottom: 60px;
}
main .sub_container .desc_page .stit_page {
	font-size: var(--stit-font-size);
	font-weight: 700;
	margin-bottom: 10px;
}
main .sub_container .desc_page .desc {
	font-size: var(--large-font-size);
}
main .content_area {
	position: relative;
	padding: 0px 150px;
}
.navigation {
	display: none;
}
footer {
	width: 100%;
	padding: 60px 100px;
	background: var(--dark-color);
}
footer .footer_content {
	display:flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
footer .company_info .logo_footer {
	display:block;
	width: 193px;
	height: 30px;
	background: url('../images/common/logo_footer.png');
}
footer .company_info ul {
	display:flex;
	flex-direction: column;
	row-gap:10px;
	margin:30px 0px;
}
footer .company_info ul li {
	font-size: var(--medium-font-size);
	color: rgba(255,255,255,.5);
}
footer .company_info ul li.address:before {
	width: 15px;
	height: 15px;
	content: '';
	display: inline-block;
	background: url('../images/common/ico_address.png');
	vertical-align: middle;
    margin: 0px 8px 2px 0px;
}
footer .company_info ul li.phone:before {
	width: 15px;
	height: 15px;
	content: '';
	display: inline-block;
	background: url('../images/common/ico_phone.png');
	vertical-align: middle;
    margin: 0px 8px 2px 0px;
}
footer .company_info ul li.mail:before {
	width: 15px;
	height: 15px;
	content: '';
	display: inline-block;
	background: url('../images/common/ico_mail.png');
	vertical-align: middle;
    margin: 0px 8px 2px 0px;
}
footer .site_map {
	display: grid;
    grid-template-columns: repeat(5, 1fr);
	column-gap: 50px;
}
footer .site_map ul {
	display: flex;
	flex-direction: column;
	row-gap: 10px;
}
footer .site_map ul li {
	color: var(--white-color);
}
footer .site_map ul li.tit {
	font-size: var(--small-font-size);
	margin-bottom: 10px;
	font-weight: 700;
}
footer .site_map ul li a {
	font-size: var(--small-font-size);
}
footer .cs {
	display: flex;
    flex-direction: column;
    align-items: flex-end;
    row-gap: 20px;
}
footer .login_area {
	display: flex;
    justify-content: flex-end;
    column-gap: 10px;
    margin: 0px;
}
footer .btn_login {
	border: 1px solid rgba(255,255,255,.5);
	color: rgba(255,255,255,.5);
	padding: 5px 10px;
	border-radius: var(--round-border-radius);
}
footer .user_name {
	color: rgba(255,255,255,.5);
}
footer .cs .btns {
	display: grid;
	row-gap:10px;
	margin-bottom:40px;
}
footer .cs .sns {
	display: flex;
	column-gap:10px;
}
footer .cs .ico_linkedin {
	width: 40px;
	height: 40px;
	background: url('../images/common/ico_linkedin.png');
}
footer .cs .ico_instagram {
	width: 40px;
	height: 40px;
	background: url('../images/common/ico_instagram.png');
}
footer .cs .ico_youtube {
	width: 40px;
	height: 40px;
	background: url('../images/common/ico_youtube.png');
}
footer .cs .ico_blog {
	width: 40px;
	height: 40px;
	background: url('../images/common/ico_blog.png');
}
footer .shortcut {
	display: flex;
	column-gap: 40px;
}
footer .shortcut a {
	color: var(--white-color);
	font-size: var(--small-font-size);
	font-weight:700;
} 
footer .copyright {
	width:100%;
	padding:30px 0px 0px 0px;
	border-top:1px solid rgba(255, 255, 255, .1); 
	color: rgba(255,255,255,.5);
	font-size: var(--small-font-size);
	display: flex;
	justify-content: space-between;
}
.top_banner {
	width: 100%;
	height: 80px;
    position: relative;
    z-index: 100;
    background: var(--white-color);
}
.top_banner ul li {
	width: 100%;
	overflow:hidden;
	text-align:center;
}
.top_banner ul li img {
	max-height: 80px;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    top: 0px;
}
div.p_fixed{
	position: fixed;
	top : 0px;
}
/* mobile header */
.mobile_menu,
.m_menu_wrap {
	display: none;
}

@media all and (max-width: 1400px) {
	main .sub_container_user {
		width: 100%;
		padding: 60px 30px;
	}
}
@media (min-width:1025px) and (max-width: 1280px) {
	header.header {
		padding: 0px 20px;
	}
	
}
@media (min-width:769px) and (max-width: 1024px) {
	header.header {
		padding:0px 50px;
	}
	header.header nav .top_menu {
		display: none;
	}
	.mobile_menu {
		display: block;
        position: fixed;
        right: 30px;
        top: 30px;
        z-index: 100;
	}
	.mobile_menu i.fa-bars {
        font-size: 1.8em;
        color: var(--success-color);
	}
	.m_menu_wrap {
		display: block;
		position: fixed;
		top: 0px;
		bottom: 0px;
		right: 0px;
		left: 0px;
		overflow-y: auto;
		background: var(--white-color);
        box-shadow: var(--normal-box-shadow);
        z-index: 100;
	}
	.m_menu_wrap .m_menu_header {
		width: 100%;
		height: 80px;
		background: #EFF5FC;
		padding: 30px;
        box-shadow: var(--normal-box-shadow);
        position: fixed;
        top: 0;
	}
	.m_menu_wrap .m_menu_header .user_area {
		display: flex;
		gap: 15px;
		align-items: center;
	}
	.m_menu_wrap .m_menu_header .user_area .user {
		color: var(--dark-color);
		font-weight: 700;
	}
	.m_menu_wrap .m_menu_header .user_area .btn_login {
		color: var(--default-color);
	}
	.m_menu_wrap .m_menu_header .user_area .btn_login a {
		text-decoration: underline;
		font-weight: 700;
	}
	.m_menu_wrap i.fa-times {
		display: block;
        position: absolute;
        right: 30px;
        top: 30px;
        z-index: 101;
        font-size: 1.8em;
        color: var(--default-color);
	}
	.m_menu_wrap .m_menu_left {
		position: fixed;
		width: 130px;
		top: 80px;
		left: 0px;
		bottom: 0px;
		border-right: var(--normal-border);
	}
	.m_menu_wrap .m_menu_left ul {
		display: flex;
		flex-direction: column;
	}
	.m_menu_wrap .m_menu_left ul li {
		padding: 20px;
		font-size: var(--large-font-size);
		color: var(--text-color);
		cursor: pointer;
	}
	.m_menu_wrap .m_menu_left ul li.active {
		color: var(--white-color);
		background: var(--primary-color);
		font-weight: 700;
	}
	.m_menu_wrap .m_menu_right {
		position: fixed;
		top: 80px;
		left: 131px;
		right: 0px;
		bottom: 0px;
		overflow-y: auto;
	}
	.m_menu_wrap .m_menu_right dl {
		display: flex;
		flex-direction: column;
		padding-left: 20px;
	}
	.m_menu_wrap .m_menu_right dl dt {
		padding: 15px 3px;
		border-bottom: var(--normal-border);
		font-size: var(--medium-font-size);
		font-weight: 700;
		margin-bottom: 5px;
		cursor: pointer;
	}
	.m_menu_wrap .m_menu_right dl dd {
		padding: 10px 3px;
		font-size: var(--medium-font-size);
		cursor: pointer;
	}
	.m_menu_wrap .m_menu_right dl dd:last-child {
		padding-bottom: 15px;
		border-bottom: var(--normal-border);		
	}
	.m_menu_wrap .m_menu_right dl dd.active {
		color: var(--primary-color);
		text-decoration: underline;
	}
	main .content_area {
        width: 100%;
        padding: 30px;
	}
	footer {
		padding: 50px;	
	}
	footer .footer_content {
		flex-direction: column;
	    margin-bottom: 30px;
	}
	footer .site_map {
		margin: 30px 0px;
	    grid-template-columns: repeat(2, 1fr);
	    row-gap: 20px;
	}
	footer .site_map ul {
		row-gap: 5px;
	}
	footer .cs {
		display: flex;
		flex-wrap: wrap;
		row-gap:20px;
		justify-content: space-between;
	}
	footer .cs .btns {
		grid-template-columns: repeat(2, 1fr);
		column-gap:10px;
		margin-bottom:0px;
	}
	footer .copyright {
		padding:10px 0px;
	}
}
@media all and (max-width:768px) {
	header.header {
		padding:0px 30px;
	}
	header.header nav, 
	header.header .login_area {
		display: none;
	}
	.mobile_menu {
		display: block;
        position: fixed;
        right: 30px;
        top: 30px;
        z-index: 100;
	}
	.mobile_menu i.fa-bars {
        font-size: 1.8em;
        color: var(--success-color);
	}
	.m_menu_wrap {
		display: block;
		position: fixed;
		top: 0px;
		bottom: 0px;
		right: 0px;
		left: 0px;
		overflow-y: auto;
		background: var(--white-color);
        box-shadow: var(--normal-box-shadow);
        z-index: 100;
	}
	.m_menu_wrap .m_menu_header {
		width: 100%;
		height: 80px;
		background: #EFF5FC;
		padding: 30px;
        box-shadow: var(--normal-box-shadow);
        position: fixed;
        top: 0;
	}
	.m_menu_wrap .m_menu_header .user_area {
		display: flex;
		gap: 15px;
		align-items: center;
	}
	.m_menu_wrap .m_menu_header .user_area .user {
		color: var(--dark-color);
		font-weight: 700;
	}
	.m_menu_wrap .m_menu_header .user_area .btn_login {
		color: var(--default-color);
	}
	.m_menu_wrap .m_menu_header .user_area .btn_login a {
		text-decoration: underline;
		font-weight: 700;
	}
	.m_menu_wrap i.fa-times {
		display: block;
        position: absolute;
        right: 30px;
        top: 30px;
        z-index: 101;
        font-size: 1.8em;
        color: var(--default-color);
	}
	.m_menu_wrap .m_menu_left {
		position: fixed;
		width: 130px;
		top: 80px;
		left: 0px;
		bottom: 0px;
		border-right: var(--normal-border);
	}
	.m_menu_wrap .m_menu_left ul {
		display: flex;
		flex-direction: column;
	}
	.m_menu_wrap .m_menu_left ul li {
		padding: 20px;
		font-size: var(--large-font-size);
		color: var(--text-color);
		cursor: pointer;
	}
	.m_menu_wrap .m_menu_left ul li.active {
		color: var(--white-color);
		background: var(--primary-color);
		font-weight: 700;
	}
	.m_menu_wrap .m_menu_right {
		position: fixed;
		top: 80px;
		left: 131px;
		right: 0px;
		bottom: 0px;
		overflow-y: auto;
	}
	.m_menu_wrap .m_menu_right dl {
		display: flex;
		flex-direction: column;
		padding-left: 20px;
	}
	.m_menu_wrap .m_menu_right dl dt {
		padding: 15px 3px;
		border-bottom: var(--normal-border);
		font-size: var(--medium-font-size);
		font-weight: 700;
		margin-bottom: 5px;
		cursor: pointer;
	}
	.m_menu_wrap .m_menu_right dl dd {
		padding: 10px 3px;
		font-size: var(--medium-font-size);
		cursor: pointer;
	}
	.m_menu_wrap .m_menu_right dl dd:last-child {
		padding-bottom: 15px;
		border-bottom: var(--normal-border);		
	}
	.m_menu_wrap .m_menu_right dl dd.active {
		color: var(--primary-color);
		text-decoration: underline;
	}
	main .tit_area {
		height: auto;
		padding: 120px 30px 80px;
		background: var(--primary-color) url('../images/sub/bg_sub.png') left no-repeat;
	}
	main .tit_page {
        padding: 0px 0px 10px 0px;	
	}
	main .sub_container {
		padding: 50px 0px;
	}
	main .sub_container.admin {
		padding: 0px 30px 50px !important;
	}
	main .content_area {
        width: 100%;
        padding: 0px 30px;
	}
	footer {
		padding: 50px;	
	}
	footer .footer_content {
		flex-direction: column;
	    margin-bottom: 30px;
	}
	footer .site_map {
	    margin: 30px 0px;
	    grid-template-columns: repeat(2, 1fr);
	    row-gap: 20px;
	}
	footer .site_map ul {
		row-gap: 5px;
	}
	footer .cs {
		display: flex;
		flex-wrap: wrap;
		row-gap: 20px;
		align-items: flex-start;
	}
	footer .cs .btns {
		grid-template-columns: repeat(2, 1fr);
		column-gap:10px;
		margin-bottom:0px;
	}
	footer .login_area {
		justify-content: flex-start;
	}
	footer .copyright {
		padding:10px 0px;
		flex-wrap: wrap;
	}
}