@charset "utf-8";

html {min-width: 360px; scroll-behavior: smooth;}
.blind {
    position: absolute;
    clip: rect(0 0 0 0);
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
}
/***** common *****/
.mont {font-family: "Montserrat", sans-serif !important;}
.area {max-width: 1400px; margin: 0 auto;}
.scroll_off {height:100%; min-height:100%; overflow:hidden !important; touch-action:none;}
.clear:after {content:""; display: block; clear: both;}
section .swiper-button-prev:before,
section .swiper-button-next:before,
section .swiper-button-prev:after,
section .swiper-button-next:after {content:none;}
section .point01 {color:#4759aa;}
section .point02 {color:#02fbe1;}
.btn_wrap.type01 {max-width: 400px; margin: 0 auto;}
.btn_wrap a:hover {background: url(../img/common/ico_arr_b.png) no-repeat 95% #02fbe1; color:#323232;}
.btn_wrap a {display: block; height: 60px; line-height: 60px; font-size: 18px; background: url(../img/common/ico_arr_w.png) no-repeat 95% #323232; color:#fff; text-indent: 28px;}

/** top banner **/
.top_banner {position: relative; width: 100%; height:90px; background:url(../img/common/top_banner.jpg) no-repeat center; z-index: 10;}
.top_banner .area {position: relative; height:100%;}
.top_banner .area a{display:inline-block; width:100%; height:100%; }
.top_banner .area img {display: none;}
.top_banner .top_close {position: absolute; top:35px; right:20px; width: 19px; height: 19px; background:url(../img/common/ico_top_close.png) no-repeat 0 0; text-indent: -999999px;}

/*.top_banner p {font-size:24px; color:#fff; font-weight: 600;}
.top_banner p strong {color:#02fbe1;}*/

/** header **/
#header {position: absolute; top:91px; width: 100%; z-index: 1;}
#header .area {position: relative; max-width: 1800px; padding:0 60px;}
#header h1 a {position: absolute; bottom: -16px; width: 164px; height: 47px; background:url(../img/common/logo.png) no-repeat 0 0; text-indent: -99999999px; z-index:1;}
#header .nav_wrap {width: 100%; padding-top: 72px;}
#header .nav_wrap,
#header .nav_wrap .nav {display: table; margin: 0 auto; }

#header .nav_wrap li {position: relative; float: left; margin-right: 50px; z-index: 100;}
#header .nav_wrap li:hover:before,
#header .nav_wrap li.active:before {content:""; position: absolute; left:0; bottom:0; width: 100%; height: 8px; background: #02fbe1; z-index: -1;}
#header .nav_wrap li:last-child {margin-right: 0;}
#header .nav_wrap li a {font-size:20px; color:#475aab; font-family: "Montserrat", sans-serif; font-weight: 500; letter-spacing: -0.3px; }

#header .nav_r {position: absolute; right:60px; bottom: -18px;}
#header .sns_wrap {float: left; margin:16px 30px 0 0;}
#header .sns_wrap li {position: relative; float: left;}
#header .sns_wrap li a {font-size: 16px; font-family: "Montserrat", sans-serif; letter-spacing: -0.25px;}
#header .sns_wrap li:last-child {margin-left: 30px;}
#header .sns_wrap li:last-child:before {content:""; position: absolute; top:6px; left:-15px; width: 1px; height: 14px; background:#c6c6c6;}
#header .all_menu {float:right; display: inline-block; width: 60px; height: 60px; background: url(../img/common/ico_all_menu.png) no-repeat 0 0; text-indent: -999999px;}

/** footer **/
#footer {background:#323232;}
#footer .area {position: relative; padding: 50px 0;}

#footer .footer_logo {float: left; margin-top: 22px;}
#footer .address_box {float:left; margin-left: 60px;}
#footer .address_box address {font-size: 14px; line-height: 32px; color:#fff; font-style: normal;}
#footer .address_box address span {margin: 0px 20px;}
#footer .copyright {font-size: 14px; color:#a8a8a8;}

#footer .link_box {position: absolute; top:50px; right:0;}
#footer .link_box li {display: inline-block;  margin-right: 20px;}
#footer .link_box li:last-child {margin-right: 0;}
#footer .link_box li a {display: block; font-size: 16px; color:#a8a8a8; text-align: center; padding:8px 0;}
#footer .link_box li:first-child a {color:#fff;}
#footer .family_wrap {position: relative; width: 215px; display: block; margin-left: auto; margin-right: 0; margin-top: 10px;}
#footer .family_btn {position: relative; background: #474747; width: 215px; color: #fff; padding: 10px 20px; font-size: 16px; text-align: left; border-radius: 0;}
#footer .family_btn:hover {background-color: #505050;}
#footer .family_btn:after {content: ''; display: inline-block; position: absolute; width: 14px;height: 8px; top: 16px; right: 20px; background: url('/img/common/footer_arrow.png') no-repeat; background-image: url('/img/common/footer_arrow.svg');
-webkit-background-size: 14px 8px; background-size: 14px 8px;}
#footer .family_wrap .famliy_list {background: #474747; position: absolute; top: -85px; right: 0; width: 215px; border-bottom: 1px solid rgba(255,255,255,.1); padding: 12px 0px; transform-origin: bottom;
animation-fill-mode: forwards; transform: scale(1, 0); opacity: 0; transition: transform 0.3s, opacity 0.3s ease-in-out;}
#footer .family_wrap .famliy_list.show {-webkit-transform: scale(1, 1); transform: scale(1, 1); opacity: 1;}
#footer .link_box .famliy_list li {display: block;}
#footer .link_box .famliy_list li a {display: block; background-color: transparent; text-align: left; padding: 7px 20px; line-height: 1em; color: #fff;}
#footer .link_box .famliy_list li a:hover {color: #bbb;}

/** top button **/
#footer .footer_bottom .top_button {position: fixed; width: 70px; height: 68px; bottom: 68px; right: 30px; z-index: 10;}


/** site map **/
.map_wrap {display: none;}
.map_wrap .site_map {position: fixed; top:0; left:0; right:0; width: 100%; background: url(../img/common/line_bg.png) no-repeat center #475aab; z-index: 12; padding:140px 0 150px;}
.map_wrap .site_area {position: relative; max-width:1800px; margin: 0 auto; padding:0 30px;}
.map_wrap .site_contents {position: relative; display: table; margin: 0 auto; max-width: 1200px; width: 100%;}
.map_wrap .site_content {position: relative;}

.map_wrap .site_top {position: relative; margin-bottom: 45px;}
.map_wrap .site_top .site_logo {display: block; width: 164px; height: 47px; background:url(../img/common/logo_w.png) no-repeat; text-indent: -99999999px; z-index:1;}
.map_wrap .site_top .close_btn {position: absolute; top:16px; right:55px; width: 24px; height: 24px; background:url(../img/common/ico_close.png) no-repeat center; text-indent: -99999px;}


.map_wrap .site_list {}
.map_wrap .site_list li {margin-bottom: 30px;}
.map_wrap .site_list li:last-child {margin-bottom: 0;}
.map_wrap .site_list li a {font-size: 48px; font-family: "Montserrat", sans-serif; font-weight: bold; color:#fff;}
.map_wrap .site_list li.active a,
.map_wrap .site_list li:hover a {color:#02fbe1;}

.map_wrap .address_box {margin-top: 90px;}
.map_wrap .address_box address {font-size: 14px; line-height: 32px; color:#fff; font-style: normal;}
.map_wrap .address_box address span {margin: 0px 10px;}
.map_wrap .copyright {font-size: 14px; color:#fff;}

.map_wrap .system_list {position: relative; margin-top: 54px;}
.map_wrap .system_list li {position: relative; float: left; width: calc(100% / 3); margin-bottom: 30px;}
.map_wrap .system_list li p {position: absolute; top:50px; left:-10px; font-size: 24px; line-height: 30px; color:#fff; font-weight: bold; letter-spacing: -0.3px;}
.map_wrap .system_list li .intro_obj { width: 210px; height: 210px; background:#5466b1; border-radius: 50%;}

.map_wrap .system_list li.on p {color:#475aab;}
.map_wrap .system_list li.on .intro_obj {background:#02fbe1;}

.map_wrap .cross_wrap {position: absolute; width: 250px; top:calc(50% + 8px); right: calc(50% + 12px); transform: translate(50%, -50%);}
.map_wrap .cross_wrap .cross_obj02 {float: right;}

.map_wrap .sns_wrap {position: absolute; bottom:0; margin:16px 30px 0 0;}
.map_wrap .sns_wrap li {position: relative; float: left;}
.map_wrap .sns_wrap li a {font-size: 16px; font-family: "Montserrat", sans-serif; letter-spacing: -0.25px; color:#fff;}
.map_wrap .sns_wrap li:last-child {margin-left: 30px;}
.map_wrap .sns_wrap li:last-child:before {content:""; position: absolute; top:6px; left:-15px; width: 1px; height: 14px; background:#c6c6c6;}

.map_wrap .site_mask {position: fixed; top:0; left:0; right:0; bottom:0; background:rgba(0,0,0,0.6); z-index: 11;}


/* ===================================
	Cursor
====================================== */
.magic {
	display: none !important;
}
.aimated-cursor {
	position: absolute;
	left: 0;
	top: 0;
	width: 30px;
	height: 30px;
	pointer-events: none;
	z-index: 10000;
	-webkit-transition: opacity 0.2s ease-in-out 0.5s;
	-o-transition: opacity 0.2s ease-in-out 0.5s;
	transition: opacity 0.2s ease-in-out 0.5s;
}
.cursor-light:hover~.aimated-cursor {
	display: inline-block;
	z-index: 9999999;
}
.cursor {
	position: fixed;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 30px;
	height: 30px;
	border: 2px solid #02fbe1;
	border-radius: 50%;
	pointer-events: none;
	opacity: 1;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	z-index: 999999999;
}

@media screen and (min-width:1201px){


	/* site map */
	.map_wrap .site_content.sc01 {float: left; width:calc(100% - 800px);}
	.map_wrap .site_content.sc02 {float: right; width: calc(100% - 480px); min-width: 700px;}
}

@media screen and (max-width:1560px){

	/* site map */
	.map_wrap .sns_wrap {position: static; max-width: 1200px; margin:30px auto 0;}
}

@media screen and (max-width:1400px) {

	/* common */
	#wrapper section .area {padding-left:30px; padding-right:30px;}

	/* footer */
	#footer .area {padding:50px 30px;}
	#footer .link_box {right:30px;}
}

@media screen and (max-width:1200px){

	/* header */
	#header .area {padding: 72px 15px 0;}
	#header .nav_r {right: 15px;}
	#header .nav_wrap,
	#header .sns_wrap {display: none;}

	/* footer */
	#footer .footer_logo {float: none;}
	#footer .address_box {float: none; margin:30px 0 0 0;}

	/* site map */
	.map_wrap .site_map {padding: 70px 0 80px;}
}
@media screen and (min-width:801px) and (max-width:1200px){

	/* site map */
	.map_wrap .site_content.sc01 {width: auto;}
	.map_wrap .site_content.sc02 {position: absolute; top:0; right:0; width: 570px;}

	.map_wrap .site_list li {margin-bottom: 20px;}
	.map_wrap .site_list li a {font-size: 36px;}

	.map_wrap .system_list {margin-top: 30px;}
	.map_wrap .system_list li p {font-size: 20px; top:30px;}
	.map_wrap .system_list li .intro_obj {width: 160px; height: 160px;}
	.map_wrap .cross_wrap {width: 210px;}
	#footer .link_box {top:70px;}
}
@media screen and (max-width:800px){
	/* cursor */
	.aimated-cursor {display: none;}

	/* top banner */
	#wrapper .top_banner .area {padding:0;}

	.top_banner {background: none; height: auto;}
	.top_banner .area img {display: block; width: 100%;}
	.top_banner .top_close {top:50%; margin-top: -9px;}
	/* header */
	#header {position: relative; top: 0;}

	/* footer */
	#footer {text-align: center;}
	#footer .area {padding:30px;}
	#footer .address_box {margin:30px 0;}
	#footer .address_box address {font-size: 12px; line-height: 24px; margin-left: -10px; margin-right: -10px;	}
	#footer .address_box address span {margin: 0px 10px;}
	#footer .copyright {font-size: 12px;}
	#footer .link_box {position: static;}
	#footer .link_box li {margin-right: 0;}
	#footer .link_box li a {font-size: 12px; padding:4px 8px;}
	#footer .family_wrap {width: 170px; margin: 30px auto 20px;}
	#footer .family_btn {width: 170px; padding: 8px 16px; font-size: 13px; text-align: left;}
	#footer .family_btn:hover {background-color: #606060;}
	#footer .family_btn:after {width: 12px; height: 8px; top: 14px; right: 16px; -webkit-background-size: 12px 8px;background-size: 12px 8px;}
	#footer .family_wrap .famliy_list {top: -73px; width: 170px; padding: 10px 0px;}
	#footer .link_box .famliy_list li a {padding: 7px 16px;}

	/** top button **/
	#footer .footer_bottom .top_button {width: 68px; height: 68px; bottom: 20px; right: 10px; z-index: 10;}

	/* site map */
	.map_wrap .site_area {max-width:460px;}
	.map_wrap .site_content {float: left; width: calc(100% / 2);}

	.map_wrap .site_list li {margin-bottom: 18px;}
	.map_wrap .site_list li a {font-size: 24px;}

	.map_wrap .system_list li {float: none; width: 100%; margin-bottom: 20px;}
	.map_wrap .system_list li p {position: static; font-size: 12px; line-height: 18px;}
	.map_wrap .system_list li p br,
	.map_wrap .system_list li .intro_obj,
	.map_wrap .cross_wrap,
	.map_wrap .address_box {display: none;}


	.map_wrap .sns_wrap li:last-child {margin-left: 25px;}
	.map_wrap .sns_wrap li:last-child:before {top:10px; left:-12px; height: 10px;}
	.map_wrap .sns_wrap li a {font-size: 12px;}

}
