/* scroll */
::-webkit-scrollbar { width:5px; height: 5px; }
::-webkit-scrollbar-track { background:#eee; -moz-border-radius:0; -webkit-border-radius:0; border-radius:0; }
::-webkit-scrollbar-thumb { height:50px; width:50px; background:#214029; -moz-border-radius:0px; -webkit-border-radius:0px; border-radius:0px; }
::-webkit-scrollbar-thumb:window-inactive { background:#214029; -moz-border-radius:0px; -webkit-border-radius:0px; border-radius:0px; }

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

/* head */
.head { position: absolute; left: 0; top: 20px; width: 100%; z-index: 9; }
.head .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; height: 90px; }

.menu_inr { display: flex; flex-wrap: wrap; }
.menu_inr li { position: relative; display: inline-flex; flex-wrap: wrap; align-items: center; padding: 0 20px; height: 90px; }
.menu_inr li a { font-size: 20px; font-weight: 700; }

.smenu_dl { overflow: hidden; position: absolute; left: -15%; top: 85%; padding: 20px 0px; width: 130%; background: #214029; border-radius: 5px; z-index: 999; display: none; }
.smenu_dl dd { margin-bottom: 10px; text-align: center; transition: 0.5s; }
.smenu_dl dd:last-child { margin-bottom: 0px; border-bottom: none; }
.smenu_dl dd:hover {  }
.smenu_dl dd a { display: block; padding: 0 10px; color: rgba(255, 255, 255, 0.7); font-size: 1em; font-weight: 500; letter-spacing: -0.03em; transition: 0.3s; word-break: keep-all;}
.smenu_dl dd a:hover { color: #fff; text-decoration: underline; }

.burger, nav#accordian { display: none; }

/* footer */
.footer { padding: 50px 0; text-align: center; background: #222; color: #fff; }
.footer span { position: relative; padding: 0 15px; }
.footer span.line:after { content:''; position: absolute; right: 0px; top: 15%; width: 1px; height: 70%; background: rgba(255, 255, 255, 0.3); }
.footer p { margin-top: 10px; color: #777; }

/* main */
.main_vis { position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 900px; padding-bottom: 100px; border: 20px solid #214029; background: #fff url('../image/main/main_vis_bg02.png') center bottom no-repeat; background-size: contain; }
.main_text { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; flex-direction: column; }
.main_text img { max-width: 100%; }
.main_text_logo { position: absolute; left: 0px; bottom: 25px; text-align: center; width: 100%; }
.main_text_logo img { max-width: 100%; }

.main_logo img { position: absolute; top: 90px; }
.main_left_logo { left: 2%; }
.main_right_logo { right: 2%; }

.main_cont { padding: 100px 0; text-align: center; background: #214029; background-size: cover; color: #fff; }
.main_cont h3 { margin-bottom: 30px; color: #fff; font-size: 48px; font-weight: 800; letter-spacing: -0.03em; }
.main_cont h3 .point01 { color: #f4ca32; }
.main_cont h3 .point02 { color: #204029; }
.main_cont p { margin-bottom: 50px; color: #fff; font-size: 20px; font-weight: 200; line-height: 1.7; letter-spacing: -0.03em; word-break: keep-all; }
.main_cont p strong { font-weight: 700; }

.main_cont_video { display: flex; flex-wrap: wrap; width: 100%; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); }

/* sub */
.sub_vis { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 440px; border: 20px solid #214029; background: url('../image/main/main_vis_bg02.png') center bottom no-repeat; background-size: cover; }
.sub_vis .wrap { text-align: center; }
.sub_vis .sub_text_img { height: 300px; margin-top: 50px; }

.sidebar { padding-bottom: 20px; background: #214029; }
.sidebar .wrap { display: flex; flex-wrap: wrap; align-items: center; }
.sidebar_list { display: flex; flex-wrap: wrap; justify-content: center; width: 100%; }
.sidebar_list li { flex: 1; position: relative; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 50px; }
.sidebar_list li:before { content:''; position: absolute; left: 0px; bottom: 25%; width: 1px; height: 50%; background: rgba(255, 255, 255, 0.3); }
.sidebar_list li:first-child:before { display: none; }
.sidebar_list li.active:after { content:''; position: absolute; left: 0px; bottom: -1px; width: 100%; height: 3px; background: #fff; display: none; }
.sidebar_list li a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 100%; padding: 0 20px; text-align: center; color: rgba(255, 255, 255, 0.5); font-size: 17px; font-weight: 600; word-break: keep-all; }
.sidebar_list li a:hover, .sidebar_list li.active a { color: #fff; }

.sub_contents { margin: 80px 0; color: #222; }
.sub_title { margin-bottom: 50px; text-align: center; }
.sub_title h2 { margin-bottom: 20px; color: #222; /* font-family: 'NPSfont'; */ font-size: 45px; font-weight: 900; letter-spacing: -0.03em; }
.sub_title p { color: #666; font-size: 0.9em; }

#sub_page h3.stitle { position: relative; margin-bottom: 30px; padding-left: 15px; color: #222; font-size: 24px; font-weight: 700; letter-spacing: -0.05em; }
#sub_page h3.stitle:after { content:''; position: absolute; left: 0px; top: 10%; width: 4px; height: 80%; background: #0f512e; border-radius: 5px; }

.overview { display: flex; flex-wrap: wrap; }
.overview .imgbox { width: 480px; box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15); }
.overview .imgbox img { max-width: 100%; }
.overview .textbox { display: flex; flex-wrap: wrap; align-items: center; width: calc(100% - 480px); padding-left: 80px; }
.overview .textbox dl { display: flex; flex-wrap: wrap; align-items: flex-start; }
.overview .textbox dl dt, .overview .textbox dl dd { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; min-height: 45px; margin-bottom: 15px; font-size: 1.05em; }
.overview .textbox dl dt { width: 150px; height: 45px; background: #204029; border-radius: 60px; color: #fff; font-weight: 600; }
.overview .textbox dl dd { justify-content: flex-start; width: calc(100% - 150px); padding-left: 30px; font-size: 18px; font-weight: 500; word-break: keep-all; }

.history_table01 { border-top: 2px solid #204029; }
.history_table01 th, .history_table01 td { padding: 15px 10px; text-align: center; border-left: 1px solid #ddd; border-bottom: 1px solid #ddd; }
.history_table01 th:first-child, .history_table01 td:first-child { border-left: none; }
.history_table01 th { background: #eaf3e5; font-size: 1.05em; }
.history_table01 td {  }

.location_info { margin-top: 50px; border-top: 2px solid #204029; }
.location_info li { padding: 20px 0; border-bottom: 1px solid #ccc; }
.location_info li dl { display: flex; flex-wrap: wrap; }
.location_info li dl dt, .location_info li dl dd { display: flex; flex-wrap: wrap; align-items: center; padding: 0 10px; }
.location_info li dl dt { padding: 0 20px; text-align: center; width: 230px; color: #222; font-size: 19px; font-weight: 800; letter-spacing: -0.03em; }
.location_info li dl dt .icon { display: inline-block; margin-right: 15px; }
.location_info li dl dt .icon img { width: 50px; }
.location_info li dl dd { width: calc(100% - 230px); font-size: 18px; }
.location_info li dl dd .subway_line { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 30px; margin: 0 5px; padding: 0 15px; background: #204029; border-radius: 50px; color: #fff; font-size: 16px; font-weight: 500; }
.location_info li dl dd p { display: block; width: 100%; margin-top: 5px; color: #555; font-size: 0.85em; font-weight: 300; line-height: 1.4; }

.attend_title { margin-bottom: 50px; text-align: center; }
.attend_title h3 { margin-bottom: 20px; color: #0f512e; /*font-family: 'NPSfont'; */ font-size: 32px; font-weight: 800; letter-spacing: -0.05em; word-break: keep-all; }
.attend_title p { color: #708f7e; font-size: 18px; letter-spacing: -0.03em; line-height: 1.6; word-break: keep-all; }

.attend_textbox { margin-bottom: 50px; padding: 50px; border: 1px solid #ddd; text-align: center; color: #333; font-size: 18px; letter-spacing: -0.03em; line-height: 1.6; word-break: keep-all; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.05); }

.attend_infolist { display: inline-block; width: 100%; margin: 0 auto; margin-bottom: 50px; }
.attend_infolist > li { width: 100%; margin-bottom: 15px; }
.attend_infolist > li:last-child { margin-bottom: 0px; }
.attend_infolist dl { display: flex; flex-wrap: wrap; }
.attend_infolist dl dt, .attend_infolist dl dd { display: flex; flex-wrap: wrap; align-items: center; word-break: keep-all; }
.attend_infolist dl dt { justify-content: center; width: 120px; height: 40px; background: #0f512e; border-radius: 50px; color: #fff; font-weight: 500; }
.attend_infolist dl dd { width: calc(100% - 120px); padding-left: 20px; }
.attend_infolist dl dd p { width: 100%; margin-top: 5px; color: #777; font-size: 0.95em; }

.attend_info_btnbox { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.attend_info_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 170px; height: 50px; border: 1px solid #204029; border-radius: 5px; color: #204029; font-weight: 600; letter-spacing: -0.03em; transition: 0.5s; }
.attend_info_btn:hover { background: #204029; color: #fff; }
.attend_info_btn01 { margin-right: 10px; }
.attend_info_btn i { margin-right: 5px; }

.program01_list { display: flex; flex-wrap: wrap; }
.program01_list li { padding: 40px; width: 33.333%; min-height: 340px; }
.program01_list li:nth-child(odd) { background: #f4f4f4; }
.program01_list li img { max-width: 100%; }
.program01_list li h4 { text-align: center; margin-bottom: 20px; padding: 10px 10px; background: #ef8c00; border-radius: 5px; color: #fff; font-size: 1.4em; }
.program01_list li dl dt, .program01_list li dl dd { color: #333; font-size: 0.95em; letter-spacing: -0.03em; }
.program01_list li dl.textlist01 { display: flex; flex-wrap: wrap; }
.program01_list li dl.textlist01 dt, .program01_list li dl.textlist01 dd { width: 100%; line-height: 1.6; }
.program01_list li dl.textlist01 dd { position: relative; padding-left: 15px; word-break: keep-all; }
.program01_list li dl.textlist01 dd:after { content:''; position: absolute; left: 0px; top: 10px; width: 4px; height: 4px; border-radius: 5px; background: #ef8c00; }
.program01_list li dl.textlist01 dd span { display: inline-block; }

.program01_list li dl.textlist02 { display: flex; flex-wrap: wrap; }
.program01_list li dl.textlist02 dt, .program01_list li dl.textlist02 dd { line-height: 1.6; }
.program01_list li dl.textlist02 dt { width: 80px; font-weight: 700; }
.program01_list li dl.textlist02 dd { width: calc(100% - 80px); }

.program img { max-width: 100%; }

.program03_table { margin-bottom: 30px; }
.program03_table th, .program03_table td { padding: 15px 15px; text-align:center; }
.program03_table th.wh15, .program03_table td.wh15 { width: 15%; }
.program03_table th.wh20, .program03_table td.wh20 { width: 20%; }
.program03_table th.wh45, .program03_table td.wh45 { width: 45%; }
.program03_table th.wh69, .program03_table td.wh69 { width: 69%; }
.program03_table th { font-size: 1.15em; color: #fff; }
.program03_table td { word-break: keep-all; }

.program03_table01 { border-top: 1px solid #e3ddb8; border-bottom: 1px solid #e3ddb8; }
.program03_table01 th { background: #fed200; }
.program03_table01 td {  }
.program03_table01 tr:nth-child(even) td { background: #f5f3e7; }

.program03_table02 { border-top: 1px solid #ffe3b3; border-bottom: 1px solid #ffe3b3; }
.program03_table02 th { background: #f39801; }
.program03_table02 td {  }
.program03_table02 tr:nth-child(even) td { background: #f9edd9; }

.program03_table03 { border-top: 1px solid #ffe0d1; border-bottom: 1px solid #ffe0d1; }
.program03_table03 th { background: #e95412; }
.program03_table03 td {  }
.program03_table03 tr:nth-child(even) td { background: #f9efea; }

.program03_table04 { border-top: 1px solid #acc; border-bottom: 1px solid #acc; }
.program03_table04 th { background: #204029; }
.program03_table04 td { text-align: left; padding: 15px 25px; }
.program03_table04 tr:nth-child(even) td { background: #acc; }
.program03_table04 td p { line-height: 1.7; }

.contest_list { display: flex; flex-wrap: wrap; justify-content: center; }
.contest_list.mb50 { margin-bottom: 50px; }
.contest_list li { flex:1; margin-left: 30px; text-align: center; }
.contest_list li:first-child { margin-left: 0px; }
.contest_list li img { max-width: 100%; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.contest_list li h4 { margin: 20px 0 15px; text-align: center; font-size: 20px; letter-spacing: -0.03em; word-break: keep-all; }

.contest_list02 { display: flex; flex-wrap: wrap; justify-content: center; }
.contest_list02.mb50 { margin-bottom: 50px; }
.contest_list02 li { width: 32%; margin-left: 2%; text-align: center; }
.contest_list02 li:first-child { margin-left: 0px; }
.contest_list02 li img { max-width: 100%; margin-bottom: 30px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.contest_list02 li h4 { margin: 20px 0 15px; text-align: center; font-size: 20px; letter-spacing: -0.03em; word-break: keep-all; }

.contest_more { display: inline-flex; flex-wrap: wrap; align-items: center; height: 40px; padding: 0 25px; background: #204029; border-radius: 50px; color: #fff; font-size: 0.95em; font-weight: 500; letter-spacing: -0.03em; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1); }
.contest_more:hover { background: #0f512e; }
.contest_more i { margin-right: 5px; }

.contest_noti { text-align: right; margin-bottom: 20px; color: #e70000; font-weight: 500; }

.contest_info03 .attend_title p { color: #444; }
.contest_info03 .attend_title p span { font-weight: 600; }
.contest_info03 .attend_title p .point01 { color: #f4ca32; }
.contest_info03 .attend_title p .point02 { color: #204029; }
.contest_info03 .attend_title p .point03 { color: #3290f4; }

.contest_info03_infobox { display: flex; flex-wrap: wrap; }
.contest_info03_infobox .attend_infolist { width: 49%; margin-bottom: 0; }
.contest_info03_infobox .attend_infolist > li { margin-bottom: 20px; }
.contest_info03_infobox .attend_infolist > li:last-child { margin-bottom: 0px; }
.contest_info03_infobox .attend_infolist dl dt { margin-bottom: 15px; width: 120px; }
.contest_info03_infobox .attend_infolist dl dd { width: 100%; padding-left: 0px; }
.contest_info03_infobox .attend_infolist dl dd h4 { margin-bottom: 15px; width: 100%; font-size: 1.15em; }
.contest_info03_infobox .attend_infolist dl dd.tel_cont { font-size: 1.5em; font-weight: 600; }
.contest_info03_infobox .attend_infolist dl dd.tel_cont p { font-size: 14px; }

.contest_info03_inr { width: 100%; padding-left: 20px; list-style: decimal; }
.contest_info03_inr.mb30 { margin-bottom: 30px; }
.contest_info03_inr02 { list-style: circle; }
.contest_info03_inr li { margin-bottom: 10px; line-height: 1.6; }
.contest_info03_inr li:last-child { margin-bottom: 0px; }

.contest_info03_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: auto; height: 50px; padding: 0 20px; margin-top: 50px; border: 1px solid #204029; border-radius: 5px; color: #204029; font-weight: 600; letter-spacing: -0.03em; transition: 0.5s; }
.contest_info03_btn:hover { background: #204029; color: #fff; }
.contest_info03_btn01 { margin-right: 10px; }
.contest_info03_btn i { margin-left: 5px; }

/* popup */
.pop-layer .pop-container, .pop-layer02 .pop-container { position: relative; overflow-y: auto; height: 100%; padding: 30px; }
.pop-layer p.ctxt, .pop-layer02 p.ctxt { color: #666; line-height: 25px; }
.pop-layer .btn-r, .pop-layer02 .btn-r { width: 100%; margin: 30px 0 0px; padding-top: 10px; border-top: 1px solid #ddd; text-align: right; }
.pop-layer, .pop-layer02 { display: none; position: absolute; top: 50%; left: 50%; width: 80%; max-width: 1024px; height: auto; max-height: 90%; padding: 0px; background-color: #fff; border-radius: 10px; z-index: 9002; }

.dim-layer, .dim-layer02 { display: none; position: fixed; _position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9001; }
.dim-layer .dimBg, .dim-layer02 .dimBg02 { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; opacity: 0.8; filter: alpha(opacity=80); z-index: 9001; }
.dim-layer .pop-layer, .dim-layer02 .pop-layer { display: block; }

.pop-conts .view_title { margin-bottom: 30px; }
.pop-conts .view_title h2 { text-align: center; font-size: 24px; }
.pop-conts-inr { font-size: 0.9em; line-height: 1.5; }
.pop-conts-inr img { max-width: 100%; }

.btn-layerClose { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 110px; height: 40px; border: 1px solid #ccc; color: #777; font-size: 0.85em; }
.btn-layerClose:hover { background: #eee; }
.btn-layerClose i { margin-right: 3px; }

.mascot_list { display: flex; flex-wrap: wrap; }
.mascot_list li { width: 23%; margin-left: 2.66%; margin-bottom: 50px; }
.mascot_list li:nth-child(4n+1) { margin-left: 0px; }
.mascot_list li img { max-width: 100%; margin-bottom: 20px; border: 1px solid #ddd; border-radius: 3px; }

.download_btnbox { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; }
.download_btnbox a { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 49%; height: 40px; border-radius: 3px; background: #204029; color: #fff; font-size: 0.9em; font-weight: 600; transition: 0.3s; }
.download_btnbox a:first-child { margin-right: 2%; }
.download_btnbox a:hover { background: #5a9723; text-decoration: underline; }

/* tab */
.tabs { display: flex; flex-wrap: wrap; width: 100%; margin-bottom: 30px; }
.tabs li { width: 19%; margin-left: 1.25%; }
.tabs li:first-child { margin-left: 0%; }
.tabs li a { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; height: 50px; border: 1px solid #ddd; font-size: 1.05em; font-weight: 600; }
.tabs li a:hover { background: #204029; border: 1px solid #204029; color: #fff;  }
.tabs li.active a { background: #204029; border: 1px solid #204029; color: #fff; }

/*Tab Conent CSS*/
.tab_container { width: 100%; }
.tab_content { }
.tab_content img { margin-bottom: 20px; max-width: 100%; }
.tab_content img:last-child { margin-bottom: 0px; }

.story_btnbox { text-align: center; margin-top: 30px; }
.story_btn { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: center; height: 50px; padding: 0 20px; background: #204029; border: 2px solid #204029; border-radius: 5px; color: #fff; font-weight: 600; transition: 0.5s; }
.story_btn:hover { background: transparent; color: #204029; }