@charset "utf-8";
@import url('reset.css');


a {
  color: #000;
  text-decoration: none;
}
body {overflow-y:scroll; overflow-x:hodden;}

.header::after, .menu::after, .mm_part_box::after, .ft_address::after, .sb_sel_box::after, .sb_menu_box::after, .md_part::after, .flow_box::after,
.ul_exe_box::after, .ul_exe_box li::after, .idea_box::after {content:""; display:block; clear:both;}
.inner {position:relative; margin:0 auto; width:1200px; z-index:1;}


.wrap {padding-top:5rem;}

/* header
============================================================ */
.header {position:fixed; top:0; left:0; right:0; height:5em; background-color:#fff; box-shadow:0 0 8px rgba(0, 0, 0, .1); z-index:3;}
.header::before {content:""; display:block; position:absolute; bottom:0; left:0; right:0; border-bottom:1px solid #fff; opacity:.2;}
.header > * {vertical-align:middle;}
.header h1 {float:left; position:relative; padding-left:20px; z-index:1;}
.header .logo {display:block; width:240px; height:80px; font-size:0; text-indent:-99999999px; background:url(../img/comm/logo.gif) no-repeat center;}
.header .nav_box {float:right;}
.header .nav_box > * {float:left;}
.header .nav_box .menu {position:relative;}
.header .nav_box .menu > li {position:relative; float:left; width:150px; line-height:5em; text-align:center; z-index:1;}
.header .nav_box .menu > li > a {font-size:1.1rem; font-weight:600;}
.dep {display:none; position:absolute; padding:10px 0 0; height:195px; line-height:normal; border-right:1px solid #ddd; z-index:2;}
.dep.first {border-left:1px solid #ddd;}
.dep li {width:150px; height:50px; line-height:50px; text-align:center;}
.dep li a {color:#000; font-weight:500;}
.dep li a:hover {color:#1c8ded;}
.dep_bg {display:none; position:absolute; top:80px; left:0; width:100%; height:195px; border-top:1px solid #ddd; border-bottom:1px solid #ddd; background-color:#fff;z-index:0;}


/* mobile menu
============================================================ */
.navigation {display:none; position:absolute; top:0; right:0; width:80px; height:80px; z-index:3;}
#menuToggle {display: flex; flex-direction: column; position:relative; top:0; right:0; padding-top:30px; width:100%; height:100%; z-index: 3; -webkit-user-select: none; user-select: none;}
#menuToggle input {display:flex; position:absolute; top:0; margin:0; width:100%; height:100%; cursor: pointer; opacity:0; z-index: 2;}
#menuToggle span {display: flex; margin:0 auto; width:30px; height: 3px; margin-bottom: 5px; position: relative; background-color:#505050; border-radius:3px; z-index: 1; transform-origin: 5px 0px;
transition: transform 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
            background 0.5s cubic-bezier(0.77,0.2,0.05,1.0),
            opacity 0.55s ease;
}
#menuToggle span:first-child {transform-origin: 0% 0%;}
#menuToggle span:nth-last-child(2) {transform-origin: 0% 100%;}
#menuToggle input:checked ~ span {opacity: 1; transform: rotate(45deg) translate(-3px, 0); background-color:#fff;}
#menuToggle input:checked ~ span:nth-last-child(3) {opacity:0; transform: rotate(0deg) scale(0.2, 0.2);}
#menuToggle input:checked ~ span:nth-last-child(2) {transform: rotate(-45deg) translate(0, -1px);}
.header_box {position:absolute; top:0; right:0; width:50%; height:80px; background-color:#097de7; z-index:1;}
#m_menu {position: fixed; top:0; right:-100px; width:0; height:100vh; background-color:rgba(0, 0, 0, .7); transition:.2s;}
#m_menu > ul {position:absolute; right:0; top:0; height:100vh; padding:80px 0 30px; width:50%; text-align:center; background-color:#fff;}
#m_menu > ul > li {transition-delay:2s;}
#menuToggle input:checked ~ #m_menu {width:100%; right:0; transition:.2s;}
#m_menu > ul > li a {display:block; color:#000;}
#m_menu > ul > li > a {position:relative; padding:1.4rem; font-size:1.1rem; font-weight:600; border-bottom:1px solid #ddd; text-align:left;}
#m_menu > ul > li > a::after {content:"+"; position:absolute; right:20px; top:13px; font-size:2rem; font-weight:300; color:#000;}
#m_menu > ul > li > a.on::after {content:"-"; top:0; font-size:3rem;}
#m_menu > ul > li li a {padding:1.2rem 1.8rem; font-size:1rem; font-weight:300; text-align:left;}
#m_menu > ul > li li a::before {content:"-"; display:inline-block; margin:-2px 5px 0 0;}
#m_menu > ul ul {padding:10px 0; border-radius:3px; background-color:#f3f3f3;}
#m_menu .m_dep {display:none;}
.btn_home {display:block; width:80px; height:80px; font-size:0; text-indent:-9999px; background:url(../img/sub/ico_manu_home.png) no-repeat center; background-size:40px;}



/* table
============================================================ */
.tb1 {margin-bottom:5rem; width:100%; border-top:2px solid #4d4d4d; table-layout:fixed; border-collapse: separate;}
.tb1 th, .tb1 td {padding:15px; line-height:1.3; font-size:17px; text-align:center; vertical-align:middle;}
.tb1 th {border-bottom:1px solid #ccc; background-color:#f2f2f2; vertical-align:middle;}
.tb1 td {font-weight:300; border-bottom:1px solid #ccc;}
.tb1 td.al {text-align:left;}
.tb1 td.lin {border-left:1px solid #ccc;}
.tb1 th.lin_bt, .tb1 td.lin_bt {border-bottom:1px solid #ccc;}
.tb1 .tb_last th {font-weight:600; color:#2c61ad; background-color:#dde7f1;}
.tb1 .tb_last td, .tb1 .tb_last td li {padding-left:27px; font-weight:600; color:#2c61ad; text-indent:-19px; background-color:#edf1f5; text-align:left;}
.tb1 .tb_last td > * {vertical-align:middle;}
.tb1 .td_img td {padding:0;}
.tb1 td li {margin-top:5px; padding-left:12px; font-size:1rem; font-weight:300; text-indent:-12px;}
.tb1 td li:first-child {margin-top:0;}
.tb1 td li::before {content:""; display:inline-block; margin:-2px 5px 0 0; width:4px; height:4px; border-radius:50px; vertical-align:middle; background-color:#000;}
.tb1 .tb_last td li {padding-left:0;}
.tb1 .tb_last td li::before {position:absolute; left:-999999px; margin:0; width:0; height:0; background:transparent;}
.tb1 .td_img td.ding {padding:15px;}
.tb1 td img {display:block; margin:0 auto;}


.ico_arrow {display:inline-block; margin:-3px 3px 0 0; width:19px; height:15px; background:url(../img/sub/ico_tb_arrow.png) no-repeat 0 0; background-size:100%;}

/* footer
============================================================ */
.ft_box {position:relative; padding:30px; background-color:#363b48;}
.ft_box .ft_logo {display:block; float:left; width:120px; height:62px; font-size:0; text-indent:-99999999px; background:url(../img/comm/ft_logo.gif) no-repeat center;}
.ft_box .ft_address {padding:15px 0 0 160px;}
.ft_box .ft_address p {font-size:.9rem; color:#82868c; font-weight:400;}
.ft_box .ft_address .ft_copy {margin-top:8px;}
.ft_box .ft_address dl {position:absolute; top:50px; right:30px; overflow:hidden;}
.ft_box .ft_address dt, .ft_box .ft_address dd {float:left; color:#82868c; font-size:.9rem; vertical-align:middle;}
.ft_box .ft_address dt {padding:6px 10px 0 0; }
.ft_box .ft_address dd {margin-right:25px; font-size:1.5rem; color:#fff;}




