.wrap { position: relative; width: 1280px; margin: 0 auto; }

/* head */
.head { display: flex; flex-wrap: wrap; }
.head_inr01 { text-align: center; }
.logo { margin: 20px auto; }

.hd_sch_wr { position: absolute; right: 0; top: 30px; width: 250px; z-index: 999; }
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:200px;height:45px;padding-left:15px;border-radius:30px 0 0 30px;background:#f4f4f4;border:0;border-right:0;color:#000}
#hd_sch #sch_submit {float:left;width:50px;height:45px;border:0;background:#f4f4f4;color:#000;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}

.head_inr02 { width: 100%; border-top: 1px solid #ddd; border-bottom: 1px solid #000; }
.menu { display: flex; flex-wrap: wrap; justify-content: center; }
.menu li { position: relative; flex: 1; text-align: center; }
.menu li > a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 60px; font-size: 18px; font-weight: 600; letter-spacing: -0.5px; }

.smenu_dl { overflow: hidden; position: absolute; left: 0px; top: 100%; padding: 10px 0px; width: 100%; background: #fff; border: 1px solid #000; z-index: 999; display: none; }
.smenu_dl dd { padding: 8px 5px; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.2); transition: 0.5s; }
.smenu_dl dd:last-child { border-bottom: none; }
.smenu_dl dd:hover {  }
.smenu_dl dd a { display: block; color: #666; font-size: 14px; font-weight: 500; transition: 0.5s; }
.smenu_dl dd a:hover { color: #000; text-decoration: underline; }

.menu-toggler, .mobile_menu { display: none; }

/* footer */
.quickbox { position: fixed; right: 2%; bottom: 30px; }
.quick_list li:first-child { margin-bottom: 10px; }

.footer { background: #111; color: #fff; font-size: 14px; }
.footer_inr01 { padding: 50px 0; }
.footer_info { display: flex; flex-wrap: wrap; }
.footer_info li { position:relative; flex: 1; display: flex; flex-wrap: wrap; align-items: center; text-align: center; padding: 0 50px; }
.footer_info li:after { content:''; position: absolute; right: 0px; top: 0%; width: 1px; height: 100%; background: rgba(255, 255, 255, 0.1); }
.footer_info li:last-child:after { display: none; }
.footer_info li h4 { margin-bottom: 30px; width: 100%; font-size: 18px; font-size: 1.4em; line-height: 1; }
.footer_info li dl { width: 100%; }
.footer_info li dl dd { position: relative; font-weight: 300; line-height: 1.5; }
.footer_info li dl.footer_info_inr02 dd span { position: relative; padding: 0 10px; }
.footer_info li dl.footer_info_inr02 dd span:first-child:after { content:''; position: absolute; right: 0px; top: 20%; width: 1px; height: 60%; background: rgba(255, 255, 255, 0.2); }
.footer_info li dl.footer_info_inr03 dd { color: rgba(255, 255, 255, 0.4); }
.footer_info li dl dd.num { color: #fff; font-size: 30px; font-weight: 600; }

.footer_inr02 { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; align-content: center; text-align: center; width: 100%; height: 60px; background: #000; color: #666; }
.footer_inr02 a { color: #666; }

/* main */
.main_vis { width: 100%; height: 600px; background: url('../image/main/main_vis01.jpg') center top no-repeat; background-size: cover; }

.main_con { padding: 100px 0; }
.main_con h3 { margin-bottom: 50px; text-align: center; font-size: 2.2em; font-weight: 400; letter-spacing: -1px; }
.main_con h3 span { font-weight: 700; }

.main_con_list { display: flex; flex-wrap: wrap; }
.main_con_list li { width: 25%; padding: 0 10px; margin-bottom: 30px; }
.main_con_list li:nth-child(5), .main_con_list li:nth-child(6), .main_con_list li:nth-child(7), .main_con_list li:nth-child(8) { margin-bottom: 0px; }
.main_con_list li img { max-width: 100%; margin-bottom: 20px; }
.main_con_list li h4 { text-align: center; font-size: 1.2em; font-weight: 500; }

.main_con02 { background: #f4f4f4; }

/* sub */
.sub_contents { margin: 80px 0; }

.sub_title { margin-bottom: 50px; text-align: center; }
.sub_title h2 { margin-bottom: 20px; font-size: 2.8em; }
.sub_title p { color: #aaa; }