/* include 공통 CSS */

/************************* 공통 시작*************************/
.inner {margin: 0 auto; max-width:1410px;}
@media(max-width:1440px){
	.inner {padding: 0 4%;}
}

.sub-content				{min-height:5rem; padding-bottom:1.5rem;}

@media(max-width:500px){
	.sub-content{padding-bottom:0.8rem;}
}
/************************* 공통 끝 *************************/

/************************* header_inc 시작*************************/
#header{position: absolute; padding:0; z-index: 1000; left:0; top:0; width:100%; border-bottom: 1px solid transparent; transition:.5s ease all; background-color:#fff;}
#header:has(.header-all){height:100%; max-height:0.8rem;}

@media(max-width:768px){
	#header{position:fixed; border-bottom:1px solid #ddd;}
}

.header {display: flex; flex-direction:column; align-items:Center; padding:0.37rem 0;}

.header--top{position:relative; width:100%; text-align:center;}

.header-logo{display: flex; justify-content: center;}
.header--top .header-logo__link {display: block;}
.header--top .header-logo__img {width: 1.72rem;}

@media(max-width:768px){
	.header{flex-direction: row; padding:0.3rem 0;}
	.header-logo{display: flex; justify-content: flex-start;}
	.header--top{text-align:left;}
	.header--top .header-logo__img{width:1.3rem;}
}

@media(max-width:500px){
	.header{padding:0.14rem 0;}
}

.header--language{position:absolute; bottom:0.035rem; right:0;}
.header--language a{font-size: 0.14rem; font-weight: 500; line-height:100%; padding:0.035rem 0.24rem; border-radius:5px; border:2px solid var(--main-color);}
.header--language .header--language_jpn{color:#fff; background-color: var(--main-color);}
.header--language .header--language_eng{color:var(--main-color); transition:0.5s ease all;}

@media(hover:hover){
	.header--language .header--language_eng:hover{color:#fff; background-color: var(--main-color);}
}

@media(max-width:768px){
	.header--language{display:none;}	
}

.header .header__ui{display: flex; justify-content: flex-end; align-items: center; display:none;}

@media(max-width:768px){
	.header .header__ui{display:block;}	
}

.header-login {display: flex; align-items: flex-end;}
.header-login .header-login__link {margin-left: 0.1rem; display: block; font-size:var(--fz-16); color:#fff; transition:.5s ease all;}
.header-login .header-login__link:first-of-type {margin-left: 0;}
@media(max-width:768px){
	.header-login{display: none;}	
}

.header-login .header-login__link:active,
.header-login .header-login__link:focus-visible {color: var(--main-color);}
@media(hover:hover){
	.header-login .header-login__link:hover {color: var(--main-color);}
}

.header-navi{width:100%; border:2px solid var(--main-color); border-radius:5px; margin-top:0.3rem;}
.header-navi .header-navi__mainmenu {display: flex; align-items: center; justify-content: space-between; padding:0 0.2rem; background-color:var(--main-color);}
.header-navi .header-navi__mainlist {position: relative;}
.header-navi .header-navi__mainlink {font-size: 0.18rem; font-weight: 400; color:#fff; width:1.3rem; height:100%; display: flex; justify-content:center; align-items: center; transition:0.5s ease all; line-height:100%; padding:0.2rem 0;}
.header-navi .header-navi__sublist{border:2px solid var(--main-color); border-bottom:none; width:1.3rem; position:relative;}
.header-navi .header-navi__sublist:last-child{border-bottom:2px solid var(--main-color);}
.header-navi .header-navi__mainlink:focus-visible, 
.header-navi .header-navi__mainlink:active,
.header-navi .header-navi__mainlink--current {color: var(--sub-color02);}
.header-navi .header-navi__submenu{display: none; position: absolute; top:100%; background:#fff; width: 100%; left:0; right:0; margin: auto; }
.header-navi .header-navi__sublink{font-size: 0.15rem; font-weight: 300; display: block; text-align: center; transition:.5s ease all; padding:0.1rem 0;}
.header-navi .header-navi__sublink:focus-visible,
.header-navi .header-navi__sublink:active,
.header-navi .header-navi__sublink--current {color: var(--sub-color02);}

.header-navi .header__3depts{position:absolute; right:calc(-100% - 4px); top:-2px; background-color: #fff; border-bottom:2px solid var(--main-color); display:none; z-index: 999;}
.header-navi .header__3depts.active{display:block;}
.header-navi .header__3depts li{border:2px solid var(--main-color); border-bottom:none; width:1.3rem;}
.header-navi .header__3depts li a{font-size: 0.15rem; font-weight: 300; display: block; text-align: center; transition:.5s ease all; height:0.4rem; line-height: 0.4rem;}
@media(hover:hover){
	.header-navi .header-navi__mainlink:hover {color: var(--sub-color02);}
	.header-navi .header-navi__sublink:hover {color: #fff; background-color:var(--main-color);}
	.header-navi .header__3depts li a:hover{color: #fff; background-color:var(--main-color);}

}
@media(max-width:768px){
	.header-navi {display: none;}	
}

.mobile_3depts {display:flex; flex-direction: column;}
.mobile_3depts a{font-size:var(--fz-19); padding:0.25em 1em; display:block;}

.header-all .header-all__mainmenu {display: flex;}
.header-all .header-all__mainlist {margin:0 0.32rem; position: relative;}
.header-all .header-all__mainlink {padding:0 1em; display: flex; justify-content:center; align-items: center; height: 0.8rem; font-size: var(--fz-17); font-weight: 500; text-align: center; transition:.5s ease all;}
.header-all .header-all__submenu {position: absolute; top: 100%; left: 0; padding:0.075rem 0; width: 100%; opacity: 0; visibility:hidden; transition:.3s ease all;}
.header-all .header-all__sublink {padding:0.075rem 5px; font-size: var(--fz-15); display: block; text-align: center; transition:.5s ease all;}
#header.all-drop .header-all__submenu {opacity: 1; visibility:visible;}
@media(max-width:1080px){
	.header-all {display: none;}
}

@media(hover:hover){
	.header-all .header-all__mainlink:hover {color: var(--main-color);}
	.header-all .header-all__sublink:hover {color: var(--main-color);}
}


.hamburger {display:none; position: relative; width: 24px; height: 14px;}
.hamburger .hamburger__bar {position: absolute; left: 0; width: 100%; height: 2px; background-color: var(--main-color); transition:.5s ease all;}
.hamburger .hamburger__bar--top {top: 0;}
.hamburger .hamburger__bar--middle {top: 50%; transform:translateY(-50%)}
.hamburger .hamburger__bar--bottom {bottom: 0;}
.hamburger--active .hamburger__bar--top {top: 50%; left: 50%; transform:translate(-50%, -50%) rotate(45deg)}
.hamburger--active .hamburger__bar--middle {opacity: 0;}
.hamburger--active .hamburger__bar--bottom {bottom: 50%; left: 50%; transform:translate(-50%, 50%) rotate(-45deg)}


@media(max-width:1080px){
	#header:has(.header-all) .hamburger {display: block;}
}
@media(max-width:768px){	
	.hamburger {display:block;}
}

.hamburger-navi {position: fixed; top: 0.8rem; right: 0; bottom: 0; left: 0; transform: translateX(100%); background-color: #fff; transition:.3s ease-in-out transform; overflow: auto;}
.hamburger-navi--active {transform: translateX(0);}
.hamburger-navi__section {padding:0.1rem calc((100% - 1600px) / 2);;position: relative;}
.hamburger-navi__section:after {position: absolute; content:""; right: 0; left: 0; bottom: 0; margin: 0 auto; width: 96%; height: 1px; background-color: var(--main-gray);}
.hamburger-navi__section:last-child:after {display: none;}

.hamburger-navi__mainmenu {margin: 0 auto; padding-right: 0; padding-left: 0;}
.hamburger-navi__mainlist a{color:var(--main-color);}
.hamburger-navi__mainlink {padding:0.5em calc((100% - 1600px) / 2); display: block; font-size: var(--fz-20); font-weight: 500; transition:.5s ease all;}
.hamburger-navi__mainlink--active {background-color: var(--main-gray);}
.hamburger-navi__mainlink--no-sub {background:none;}
.hamburger-navi__submenu {padding:0.075rem calc((100% - 1600px) / 2); display: none;}
.hamburger-navi__sublink {padding:0.5em; display: block; font-size: var(--fz-19); transition:.5s ease all;}
.hamburger-navi__info {padding:0.5em 0; display: flex; font-size: var(--fz-16);}
.hamburger-navi__category {display: inline-block; width: 80px; font-weight: 500;}
.hamburger-navi__detail {flex: 1 auto;}
.header-navi__lang-link {padding:0.5em 0; display: inline-flex; align-items: center; font-size: var(--fz-16);}
.header-navi__lang-link:before {display: inline-block; margin-right: 0.5em; content:""; width: 0.75em; height: 0.75em; border-radius:50%; border:1px solid var(--main-black); transition:.5s ease all;}
.header-navi__lang-link--active:before {background-color: var(--main-black);}
@media(max-width:1640px){
	.hamburger-navi__section {padding-right: 4%; padding-left: 4%;}
	.hamburger-navi__mainmenu {padding-right: 0; padding-left: 0;}
	.hamburger-navi__mainlink {padding-right: 4%; padding-left: 4%;}
	.hamburger-navi__submenu {padding-right: 4%; padding-left: 4%;}
}
@media(hover:hover){
	.hamburger-navi__mainlink:hover {background-color: var(--main-gray);}
	.hamburger-navi__sublink:hover {color: var(--main-color);}
	.header-navi__lang-link:hover:before {background-color: var(--main-black);}
}

/* 스크롤 다운 헤더 CSS Start */
/* #header.fix-header {border-bottom: 1px solid var(--main-color);} */

/* 스크롤 다운 헤더 CSS End */

/* 헤더 마우스 호버 CSS Start */
/* #header.header-enter {border-bottom: 1px solid var(--main-color);} */
/* 헤더 마우스 호버 CSS End */

#header.ham-open {background-color: #fff; border-bottom:transparent;}
#header.ham-open .hamburger .hamburger__bar {background-color: var(--main-color);}


/************************* header_inc 끝*************************/



/************************* sub-dropdown 시작 *************************/
.sub-dropmenu {border-bottom:1px solid var(--main-gray);}
.dropmenu {margin: 0 auto; max-width:1600px; display: flex; align-items:center;}
.dropmenu .dropmenu__home {display: inline-flex; width: 0.6rem; height: 0.6rem; justify-content:center; align-items:center; text-align: center; border-left:1px solid var(--main-gray); transition:.5s ease all;}
.dropmenu .dropmenu__home:active,
.dropmenu .dropmenu__home:focus-visible {background-color: var(--main-color);}
.dropmenu .dropmenu__homeicon {width: 0.2rem;}
.dropmenu .dropmenu__menuwrap {display: flex; width: calc(100% - 0.6rem);}
.dropmenu .dropmenu__menu {position: relative; width: 2.5rem;}
.dropmenu .dropmenu__menu--depth2 {margin-left: -1px;}
.dropmenu .dropmenu__btn {position: relative; width: 100%; height: 0.6rem; padding:0 0.16rem; display: flex; justify-content:space-between; align-items:center; font-size: var(--fz-16); font-weight: 500; border-left:1px solid var(--main-gray); border-right:1px solid var(--main-gray); transition:.5s ease all;}
.dropmenu .dropmenu__btn--active,
.dropmenu .dropmenu__btn:active,
.dropmenu .dropmenu__btn:focus-visible {color: var(--main-color);}
.dropmenu .dropmenu__btn .dropmenu__arrow {transition:.5s ease all;}
.dropmenu .dropmenu__btn--active .dropmenu__arrow {transform:rotate(180deg);}
.dropmenu .dropmenu__menulist {position: absolute; display: none; padding:0.04rem 0; width: 100%; top: 100%; left: 0; background-color: #fff; border:1px solid var(--main-gray);}
.dropmenu .dropmenu__menulink {display: block; margin:0.04rem 0; padding:0.04rem 0.16rem; font-size: var(--fz-15); transition:.5s ease all;}
.dropmenu .dropmenu__menulink:active,
.dropmenu .dropmenu__menulink:focus-visible {color: var(--main-color);}
@media(max-width:500px){
	.dropmenu .dropmenu__menu {width: 50%;}
}
@media(hover:hover){
	.dropmenu .dropmenu__home:hover {background-color: var(--main-color);}
	.dropmenu .dropmenu__btn:hover {color: var(--main-color);}
	.dropmenu .dropmenu__menulink:hover {color: var(--main-color);}
}

/************************* sub-dropdown 끝 *************************/
/************************* sub-tabmenu 시작 *************************/
.sub-tab {border-bottom: 1px solid var(--main-gray);}
.sub-tabmenu {margin: 0 auto; max-width:1600px; display: flex;}
.sub-tabmenu__list {flex:1 auto;}
.sub-tabmenu__link {display: inline-flex; justify-content:center; align-items:center; width: 100%; height: 0.6rem; font-size: var(--fz-15); font-weight: 600; color: var(--main-black); border-bottom:2px solid transparent; transition:.5s ease all;}
.sub-tabmenu__link--active,
.sub-tabmenu__link:active,
.sub-tabmenu__link:focus-visible {color: var(--main-color); border-bottom:2px solid var(--main-color);}
.sub-tabmenu__link:visited,
.sub-tabmenu__link:link {color: var(--black-04);}
.sub-tabmenu__link--active:visited {color: var(--main-color);}
@media(hover:hover){
	.sub-tabmenu__link:hover {color: var(--main-color); border-bottom:2px solid var(--main-color);}
}
/************************* sub-tabmenu 끝 *************************/

/************************* sub-depth3 시작 *************************/
.sub-depth3 {margin: 0 auto; max-width:1600px; display: flex; flex-flow: row wrap;}
.sub-depth3:has(.sub-depth3__list) {margin-bottom: 0.7rem;}
.sub-depth3 .sub-depth3__list {flex: 1 auto; height: 0.6rem; background: var(--main-gray); font-size: var(--fz-15); font-weight: 500;}
.sub-depth3 .sub-depth3__list:last-child {border:0;}
.sub-depth3 .sub-depth3__link {width: 100%; height: 0.6rem; display: flex; align-items: center;justify-content: center; transition:.5s ease all;}
.sub-depth3 .sub-depth3__link--active,
.sub-depth3 .sub-depth3__link:active,
.sub-depth3 .sub-depth3__link:focus-visible {background-color: var(--main-color); color: #fff;}
@media(hover:hover){
	.sub-depth3 .sub-depth3__link:hover {background-color: var(--main-color); color: #fff;}
}
@media(max-width:768px){
	.sub-depth3:has(.sub-depth3__list) {margin-bottom:.5rem;}
}
/************************* sub-depth3 끝 *************************/


/************************* footer_inc 시작 *************************/
#footer {position:relative; background-color: var(--main-color);}

.footer {padding:0.56rem 0;}
.footer__top {display: flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-start;}
.footer__bottom {display: flex; flex-flow:row wrap; justify-content:space-between; align-items:flex-end; margin-top:0.3rem;}
@media(max-width:768px){
	.footer {padding:0.4rem 0;}
}

.footer-logo .footer-logo__link {display: block;}
.footer-logo .footer-logo__img {width: 1.3rem;}

.footer-info .footer-info__list {margin-bottom: 0.16rem; display: flex; flex-flow:row wrap;}
.footer-info .footer-info__list:last-child {margin-bottom: 0;}
.footer-info .footer-info__detail {margin-right: 0.04rem;}
.footer-info .footer-info__detail:last-of-type {margin-right: 0;}
.footer-info .footer-info__category {margin-right: 0.06rem; font-size: 0.16rem; font-weight: 500; color: #fff;}
.footer-info .footer-info__text {font-size: 0.16rem; font-weight: 300; color:#ddd;}
.footer-info .footer-info__text-address01{position:relative; padding-right:0.1rem;}
.footer-info .footer-info__text-address01:after{position:absolute; content:""; top:50%; right:0; width:2px; height:14px; background-color:#fff; transform:translateY(-50%);}
.footer-info .footer-info__text-address02{padding-left:0.1rem;}

@media(max-width:1100px){
	.footer-info .footer-info__text-address01{padding-right:0;}
	.footer-info .footer-info__text-address01:after{display: none;}
	.footer-info .footer-info__text-address02{display: none;}
}

.footer-navi{margin-top:0.3rem;}
.footer-navi .footer-navi__link {display: inline-block; margin-left: 0.16rem; font-size: var(--fz-16); font-weight: 500; color: var(--sub-color02); transition:.5s ease all; line-height:100%;}
.footer-navi .footer-navi__link:first-of-type {margin-left: 0;}
.footer-navi .footer-navi__link:active, 
.footer-navi .footer-navi__link:focus-visible {color: #fff;}
@media(hover:hover){
	.footer-navi a.footer-navi__link:hover {color:#ddd;}
}

.footer-admin {margin-top: 0.4rem; display: flex; flex-flow: row wrap;}
.footer-admin .footer-admin__copyright {font-size: 0.16rem; font-weight: 300; color:#ddd;}
.footer-admin .footer-admin__nav {margin-left: 0.2rem; display: flex;}
.footer-admin .footer-admin__nav .footer-admin__link {margin-left: 0.1rem; display: inline-block; font-size: 0.16rem; font-weight: 300; color:#ddd; transition:.5s ease all;}
.footer-admin .footer-admin__nav .footer-admin__link:first-of-type {margin-left: 0;}
.footer-admin .footer-admin__nav .footer-admin__link:active, 
.footer-admin .footer-admin__nav a.footer-admin__link:focus-visible {color: var(--main-color);}

@media(hover:hover){
	.footer-admin .footer-admin__nav .footer-admin__link:hover {color: var(--sub-color02);}
}

.footer__area--right .footer--sns{display: flex;}
.footer__area--right .footer--sns_list{margin-right:0.06rem; transition: 0.5s ease all;}
.footer__area--right .footer--sns_list:last-child{margin-right:0;}

@media(hover:hover){
	.footer__area--right .footer--sns_list:hover{transform:translateY(-0.05rem);}
}

@media(max-width:1024px){
	.footer__area--right .footer--sns_list img{max-width:0.4rem;}
}

@media(max-width:768px){
	.footer-navi{margin-top:0.2rem;}
	.footer__bottom{margin-top:0.2rem;}
	.footer-info .footer-info__list {margin-bottom: 0.08rem;}
	.footer-info .footer-info__category {margin-right: 0.06rem; font-size: 0.14rem;}
	.footer-info .footer-info__text {font-size: 0.14rem;}
	.footer-admin{margin-top:0.2rem;}
	.footer-admin .footer-admin__copyright {font-size: 0.14rem;}
	.footer-admin .footer-admin__nav .footer-admin__link{font-size: 0.14rem;}
}

@media(max-width:500px){
	.footer__top{justify-content:center;}
	.footer-logo .footer-logo__img {width: 1rem;}
	.footer-navi{text-align:center;}
	.footer-navi .footer-navi__link{font-size: 0.15rem;}
	.footer__bottom{align-items:center; flex-direction:column;}
	.footer__area--right .footer--sns{margin-top:0.4rem;}
	.footer__area--right .footer--sns_list{margin-right:0.2rem;}
}

/************************* footer_inc 끝 *************************/

/************************* ui.totop 시작 *************************/
#toTop {
	display:none;
	text-decoration:none;
	position:fixed;
	bottom:10px;
	right:10px;
	overflow:hidden;
	width:51px;
	height:51px;
	border:none;
	text-indent:100%;
	background:url("./img/ui.totop6.png") no-repeat left top;
}

#toTopHover {
	background:url("./img/ui.totop6.png") no-repeat left -51px;
	width:51px;
	height:51px;
	display:block;
	overflow:hidden;
	float:left;
	opacity: 0;
	-moz-opacity: 0;
	filter:alpha(opacity=0);
}

#toTop:active, #toTop:focus-visible {
	outline:none;
}
/************************* ui.totop 끝 *************************/