.inner{width:100%; max-width:var(--container); margin: auto; padding-left: 2.5rem; padding-right: 2.5rem; position: relative;}
.mb{margin-bottom: var(--mb);}
.sub_menu{border-bottom: 1px solid #ccc; text-align: center; display: none;}
.sub_menu ul { }
.sub_menu ul li {display:inline-block; position: relative;}
.sub_menu ul li a { display: block; text-align: center; line-height: 7rem; padding:0 5rem ;  transition: all 0.5s; position: relative; }
.sub_menu ul li a::before{content: ''; width: .7rem; height: .7rem; border-radius: 1rem; background:var(--main_color); opacity: 0; position: absolute; top: 1rem; left: 50%; transform: translateX(-50%);transition: .5s;}
.sub_menu ul li a:hover,
.sub_menu ul li a.active {font-weight: bold;}

.sub_menu ul li a:hover::before,
.sub_menu ul li a.active::before{opacity: 1;}

.sub_menu.drop { position: fixed !important; top:10rem; width: 100%; z-index: 8; background:var(--main_color); border: none; }
.sub_menu.drop ul li a{line-height: 5rem; color:#fff}
.sub_menu.drop ul li a::before{top:0; background: #fff;}

.sub_top_title { position: relative; margin-top: 50px; padding: 5rem 0; border-top: 1px solid var(--bdColor);}
.sub_top_title h2{font-size: var(--subTit); text-align: center;}


.sub_top_con { overflow:hidden; }
.sub_top{display:flex; align-items: center; justify-content: center; text-align: center; width:100%;  height: 50rem; overflow: hidden; background-size: cover; position:relative;}
.sub_top::before{ display: none; content: ''; width: 100%; height: 100%; background: rgba(0,0,0,0.2); position: absolute; top:0; left: 0;}
.sub_top h2{font-size:5rem; color:#fff; font-weight: bold;}
.sub_top h2 span{display: block; font-size: 2rem; font-weight: bold; font-family: var(--font_eng); font-weight: 800;}
.sub_title{padding:6rem 0;}
.sub_title.none{display: none;}
.title_h3 h3{ display: inline-block; border-bottom: 1px solid #505050;  padding: 2rem 0; margin-bottom: 5rem;}
.title_h3,
.sub_title .inner{display: flex; justify-content: center; align-items: center;}
.title_h3 h3,
.sub_title h3{border-bottom: 1px solid #505050;  padding: 2rem 0;}
.sub_con{min-height: 50rem; position: relative; padding-bottom: 6rem;}

@media all and (min-width:1200px) {
.sub_title{padding-bottom: 10rem;}
.sub_con{padding-bottom: 10rem;}
}
/* title */
.h3{padding:2rem 0 0 0; font-weight:bold;/* font-size: 5rem; */ font-size: var(--subTit); text-align: center; position:relative}
.h4{font-weight: bold; font-size: 3.4rem; text-align: center; position: relative; padding:1rem 0 3rem 0}
.h4::before{content: ''; width:1rem; height: 1rem; background: var(--main_color); position: absolute; top: 0; left:calc(50% - 1rem);  border-radius: 10rem;}
.h4::after{content: ''; width:1rem; height: 1rem; background: var(--sub_color); position: absolute; top: 0; left: 50%; border-radius: 10rem;}
.h5{font-weight:bold; font-size: 2.4rem; text-align: left; padding-bottom: 2rem;}
.h6{font-weight: bold;padding-bottom: 1rem; }
.s_tit{font-weight: 300; font-size: 3rem; text-align: center;}
.s_tit span{font-weight: bold; color:var(--main_color)}

/* align */
.left{text-align:left;}
.right{text-align: right;}
.center{text-align: center;}

/* padding */
.pb1{padding-bottom: 1rem;}
.pb2{padding-bottom: 2rem;}
.pb3{padding-bottom: 3rem;}
.pb4{padding-bottom: 4rem;}
.pb5{padding-bottom: 5rem;}
.pb6{padding-bottom: 6rem;}
.pb7{padding-bottom: 7rem;}
.pb8{padding-bottom: 8rem;}
.pb9{padding-bottom: 9rem;}
.pb10{padding-bottom: 10rem;}

.pt1{padding-top: 1rem;}
.pt2{padding-top: 2rem;}
.pt3{padding-top: 3rem;}
.pt4{padding-top: 4rem;}
.pt5{padding-top: 5rem;}
.pt6{padding-top: 6rem;}
.pt7{padding-top: 7rem;}
.pt8{padding-top: 8rem;}
.pt9{padding-top: 9rem;}
.pt10{padding-top: 10rem;}

/* margin */
.mb1{margin-bottom: 1rem;}
.mb2{margin-bottom: 2rem;}
.mb3{margin-bottom: 3rem;}
.mb4{margin-bottom: 4rem;}
.mb5{margin-bottom: 5rem;}
.mb6{margin-bottom: 6rem;}
.mb7{margin-bottom: 7rem;}
.mb8{margin-bottom: 8rem;}
.mb9{margin-bottom: 9rem;}
.mb10{margin-bottom: 10rem;}

/* sub path */
.sub_path{text-align: center; color:#666; font-size: 1.4rem; display: none; }
.sub_path a{display:inline-block; color:#666; font-size: 1.4rem; padding:0 .5rem }


/* scroll up */
.scrollup {width: 5rem;height: 5rem;position: fixed;bottom: 2rem;right: 2rem;background-color:var(--main_color);text-align: center; padding: 1rem;color: #fff;z-index: 100;    display: none;    border-radius: 50%; transition: all 0.5s;}
.scrollup:hover{background-color: var(--sub_color);}
.scrollup img{width: 50%;}

/* tabmenu */
.tabmenu { text-align: center;position: relative; }
.tabmenu:before {content: ''; position: absolute; left: 0; right: 0; bottom: 0px; background: var(--main_color); height: 1px; z-index: 0;}
.tabmenu ul {display: flex; margin: 0 1rem 5rem 1rem; justify-content: center; }

.tabmenu li { display: block; width: 50%;}

.tabmenu li a { display: block; border: 1px solid var(--bdColor);  padding:2.5rem 0rem; border-bottom: 0; position: relative; display: flex; justify-content: center; align-items: center; height: 100%; z-index: 1;  border-left-width: 0px;}
.tabmenu li:first-child a{border-left-width: 1px;}
.tabmenu li a:hover { color: var(--main_color); font-weight: 600; }
.tabmenu ul li.tab_select a { font-weight: 600; color: var(--main_color); border-color: var(--main_color); background: #fff; border-left-width: 1px;}

.tabmenu ul.list04 li{width: 25%;}
.tabmenu ul.list04 li a{font-size: 0.9em;}



/* table */
.table{width:100%; }
.table th{padding:2rem; font-weight: bold; background:#91a5b1; color:#fff; position: relative; border-bottom: 1px solid #fff; border-right: 1px solid #fff;}
.table th:last-child{border:none}
/*.table th::before{content: ''; width: 0; height: 0; background: transparent; border-right:15px solid #fff; border-bottom: 15px solid transparent; position: absolute; right: 0; top: 0; z-index: 9;}
.table th::after{content: ''; width: 1px; height: 100%; background: rgba(255,255,255,0.5); position: absolute; top: 0; right: 0;}*/

.table tr:hover{background: #fafafa;}
.table td{padding:2rem; border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; text-align:center; position: relative;}
.table td:last-child{border-right:none}

.table .left{text-align: left;}
.table .table_bg{background: #fafafa; font-weight: bold;}

/* list */
.comm_list li{position:relative; padding:0 0 .5rem 1.5rem; display: block !important;}
.comm_list li::before{content: ''; width:0.5rem; height:0.5rem; border-radius: 1rem; background:var(--main_color); position: absolute; left: 0; top:1rem}

/* box */
.comm_box{padding:3rem; border:1px solid #ccc; position: relative;}
.comm_box::before{content: ""; width: 100%; height: 0.5rem; background: repeating-linear-gradient( 45deg, #ccc, #ccc 5px, #fff 0, #fff 10px ); position: absolute;  top: -0.25rem; left: 0;}

/* strong */
.strong{display:inline-block; padding:0 1rem; background:var(--main_color); color:#fff;}
.red{color:#b30000; font-weight: bold;}

/* button */
.comm_btn a{display:inline-block; background:var(--main_color);  color:#fff; text-align: center; padding: 1rem 3rem; transition: all .5s;}
.comm_btn a:hover{background:var(--point_color)}

/* main_scroll animation */
.mouse {position:absolute; top:80rem; left:50%; transform: translateX(-50%); z-index: 9; margin:auto; }
/*.mouse:after {content:"";position:absolute;width:4px;height:4px;border-radius:2px;background:var(--sub_color);display:block;left:50%;transform:translateX(-50%);top:5px;animation: control 1.5s infinite;  }*/
  @keyframes control {
    0% {
      opacity:1;
      top:5px;
    }
    60% {
      opacity:1;
    }
    90%{
      top:20px;
    }
    100%{
      opacity:0
    }
  }
  
  .scrollBox {position:fixed;width:4px;height:50px;overflow:hidden;bottom:50px;left:50px;z-index: 9;}
  .scrollBox:after {content:""; position:absolute; top:-50px; height:50px; width:4px; background: crimson; animation:scrollDrive 2s ease infinite; }
  
  @keyframes scrollDrive {
    0% {
      top:-50px;
    }

    50% {
      top:50px;
    }
    100% {
      top:50px;
    }
  }
  
  .vertical-text {margin: 0 auto 2em;width: 0;word-wrap: break-word;position:fixed;left:46px;bottom:90px;font-size:1rem;text-transform:uppercase; z-index: 9}


  .progress-container {width: 100%;height: 0.5rem;background:transparent; position: fixed; top:0; z-index: 10;}
  .progress-bar {height: 0.5rem;background:var(--sub_color);width: 0%; position:relative; z-index: 10; }
  

#footer{background:#2D2D2D; color: var(--bdColor); padding: 50px 0px; font-size: 0.9em;}
#footer h4{margin-bottom: 30px; padding-bottom: 30px; border-bottom: 1px solid rgba(255,255,255,0.3);}
#footer h4 img{max-width: 120px; }

#footer .foot_add{margin-bottom: 30px;}
#footer .foot_add address{margin-bottom: 5px;}

#footer .footinfo{position: relative;}
#footer .footinfo .link_li{overflow: hidden; margin-bottom: 20px;}
#footer .footinfo .link_li a{display: inline-block; padding: 0.5rem 1rem; border-radius: 5px; color: #fff; vertical-align: middle; font-size: 0.95em;}

#footer .footinfo .link_li li{float: left; padding: 0 5px; position: relative; margin-bottom: 10px;}
#footer .footinfo .link_li li:after{content:''; display: block; position: absolute; left: 0; top: 0; bottom: 0; margin: auto; width: 2px; height: 10px; background: var(--bdColor);}


#footer .footinfo .link_li li{display: inline-block;}
#footer .footinfo .link_li li:first-child{display: block; width: 100%; padding: 0;}
#footer .footinfo .link_li li:first-child:after{display: none;}
#footer .footinfo .link_li li:first-child a{background: var(--gray);}

#footer .sns_li{display: flex; gap: 2%; flex-wrap: wrap; align-items: center;}

#footer .sns_li a.sns_con{width: 40px; height: 40px; display: block; position: relative;}

#footer .sns_li .dropBox{min-width: 200px;}
#footer .sns_li .dropBox .dropbtn{border-radius: 3px; padding: 0.5rem 1rem; font-size: 0.9em; line-height: 25px; background: none; color: var(--gray); border: 1px solid var(--gray);}
#footer .sns_li .dropBox .dropbtn:before{display: none;}
#footer .sns_li .dropBox .dropbtn:after{line-height: 25px;}
#footer .sns_li .dropBox .dropmenu{top: -89px; }
#footer .sns_li .dropBox .dropmenu ul{border-radius: 5px 5px 0 0; background: var(--dark); border: 1px solid var(--gray);}


@media all and (min-width:640px) {
#footer .footinfo .link_li{display: flex; flex-wrap: wrap;}
#footer .footinfo .link_li li:nth-child(2){margin-left: 15px;}
#footer .footinfo .link_li li:first-child{width: auto; margin-left: 0;}
#footer .sns_li{}


}


@media all and (min-width:1200px) {
#footer .footinfo{display: flex; flex-wrap: wrap; justify-content: space-between;}
#footer .footinfo .link_li{order: 1;}
#footer .footinfo .foot_add{order: 3;}
#footer .footinfo .sns_li{order: 2;}
#footer .footinfo .link_li,
#footer .footinfo .sns_li{width: 50%; }
#footer .sns_li{align-items: flex-start; justify-content: flex-end}
#footer .footinfo .link_li a{line-height: 37px; padding: 0 1rem;}

#footer h4{margin-bottom: 50px; padding-bottom: 50px;}

}