@charset "UTF-8";
/*
Theme Name:
Theme URI:
Description:
Author:CrescentWorks.inc
*/
* { text-decoration: none; outline: none; }

b, strong { font-weight: bold; }

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; font-size: 100%; vertical-align: baseline; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

table { border-collapse: collapse; border-spacing: 0; }

img { border: none; vertical-align: bottom; font-size: 0px; line-height: 0px; max-width: 100%; height: auto; }

input, textarea, select { border-radius: 0; }

/*
サイトで共通する設定や、
制作に便利なクラスなどをまとめたファイルです。

common / base /variables 内のscssファイルに記述されている変数を使用しています。


*/
html { overflow: auto; font-size: 62.5%; }

body { min-width: 100%; position: relative; overflow: hidden; word-wrap: break-word; overflow-wrap: break-word; -webkit-text-size-adjust: 100%; }

a { color: #181818; display: inline-block; }

.f_right { float: right; }

.f_left { float: left; }

.disnon, .none { display: none; }

.block { display: block; }

.bold { font-weight: bold; }

.center { display: block; margin: 0 auto; text-align: center; }

.linkbox { cursor: pointer; transition-duration: 0.25s; }

.linkbox:hover { opacity: 0.8; transition-duration: 0.25s; }

.hov_link:hover { text-decoration: underline; }

.cf { zoom: 1; }

.cf:before, .cf:after { content: ""; display: block; overflow: hidden; height: 0; clear: both; }

.clear { display: block; clear: both; visibility: hidden; height: 0; }

.sp_view { display: none; }

.pc_view { display: block; }

.sp_item { display: none; }

.pc_item { display: initial; }

.mb10 { margin-bottom: 10px; }

.mb20 { margin-bottom: 20px; }

.mb30 { margin-bottom: 30px; }

.mb40 { margin-bottom: 40px; }

.mb60 { margin-bottom: 60px; }

.mb80 { margin-bottom: 80px; }

.mb100 { margin-bottom: 100px; }

.mt10 { margin-top: 10px; }

.mt20 { margin-top: 20px; }

.mt30 { margin-top: 30px; }

.mt40 { margin-top: 40px; }

.mt60 { margin-top: 60px; }

.mt80 { margin-top: 80px; }

.mt100 { margin-top: 100px; }

.note { color: #e03030; }

ul.dot_list li { padding-left: 1.2em; position: relative; }

ul.dot_list li:before { content: "・"; position: absolute; top: 0; left: 0; }

ul.note_list li { padding-left: 1.2em; position: relative; }

ul.note_list li:before { content: "※"; position: absolute; top: 0; left: 0; }

/*
    共通スタイル
*/
*:not(br) { box-sizing: border-box; line-height: 1.6; }

@font-face { font-family: SFNSText; src: url("../font/SFNSText.ttf") format("ttf"); font-weight: 300; }

body { font-size: 1.5rem; color: #181818; font-family: 'Noto Sans JP',"游ゴシック", YuGothic, "メイリオ", "Meiryo", sans-serif; font-weight: 400; }

.xdebug-var-dump { font-size: 13px; font-family: arial; }

.xdebug-var-dump font { color: #4368af; }

.xdebug-var-dump small { color: #ff6868; }

.eng_f { font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; }

.site_width { width: 75%; margin: auto; }

#content { position: relative; }

.sec_ttl { font-size: 2.2rem; font-weight: bold; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; letter-spacing: 1px; line-height: 1.4; color: #002056; position: relative; text-align: center; font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; padding-bottom: 3px; }

.sec_ttl:before { content: ""; position: absolute; bottom: 0; left: calc((100% - 40px)/2); width: 40px; height: 1px; background: #002056; }

.sub_ttl { font-size: 2.2rem; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; font-weight: bold; letter-spacing: 1px; color: #002056; }

.vision_ttl { font-size: 2.2rem; font-weight: bold; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; letter-spacing: 1px; line-height: 1.4; color: #002056; }

.vision_ttl .small { font-size: 1.6rem; display: block; }

.vision_sub_ttl { font-size: 2.2rem; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt"; font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; font-weight: bold; letter-spacing: 1px; color: #002056; }

.btn { padding: 8px 24px; background: #3a3734; color: #fff; margin-top: 20px; }

.btn:hover { opacity: 0.8; box-shadow: 0 0 3px #ccc; }

#loading { position: fixed; width: 100%; height: 100%; background: #00112b; z-index: 99; display: flex; align-items: center; justify-content: center; transition: 1s; opacity: 1; }

#loading .load_text { width: 214px; margin-bottom: 35px; }

#loading #bar_area { width: 100%; height: 2px; background: #dcdddd; position: relative; }

#loading #bar_area #bar { position: absolute; left: 0; top: 0; width: 0; height: 2px; background: #C9A063; transition: 0.3s; }

.site_name, .sp_site_name { position: fixed; left: 0; top: 2%; z-index: 2; width: 2%; }

.site_name img, .sp_site_name img { width: 100%; }

.fp-viewing-page1 .border:before { background: #fff; transition: 0.4s; }

.fp-viewing-page1 .border .page_name { color: #fff; transition: 0.4s; }

.border { position: fixed; right: calc(2% - 5.5px); top: 0; display: flex; align-items: flex-end; z-index: 2; height: 310px; width: 10px; }

.border:before { content: ""; position: absolute; top: 0; left: calc((100% - 1px)/2); width: 1px; height: 261px; background: #002056; transition: 0.4s; }

.border .page_name { color: #002056; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; width: 16px; transition: 0.4s; letter-spacing: 2px; position: relative; }

.border .page_name:before { content: ""; position: absolute; width: 1px; height: 0; background: #c9a063; bottom: 310px; left: 5px; transition: 0.4s; }

.border .page_name:hover:before { height: 29px; bottom: 49px; transition: 0.4s; }

.fp-viewing-page1 #fp-nav ul li a { background: #fff; transition: 0.4s; }

.fp-viewing-page1 #fp-nav ul li .active { background: #c9a063; }

#fp-nav { position: fixed; left: 5%; top: 50%; width: 2px; z-index: 2; }

#fp-nav ul li { width: 100%; height: 30px; margin-bottom: 4px; }

#fp-nav ul li:last-child { margin-bottom: 0; }

#fp-nav ul li a { background: #002056; padding: 15px 1px; transition: 0.4s; width: 100%; }

#fp-nav ul li .active { background: #c9a063; }

@-webkit-keyframes mouse_scroll { 0% { -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg); }
  50% { -webkit-transform: translate(0, -5px) rotate(0deg);
    transform: translate(0, -5px) rotate(0deg); }
  100% { -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg); } }

@keyframes mouse_scroll { 0% { -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg); }
  50% { -webkit-transform: translate(0, -5px) rotate(0deg);
    transform: translate(0, -5px) rotate(0deg); }
  100% { -webkit-transform: translate(0, 0) rotate(0deg);
    transform: translate(0, 0) rotate(0deg); } }

.fp-viewing-page1 .mouse_icon span { color: #fff; transition: 0.4s; }

.fp-viewing-page1 .mouse_icon .img_wrap .mouse_sc { background: #fff; transition: 0.4s; }

.mouse_icon { position: fixed; bottom: 5px; left: calc((100% - 28px)/2); display: flex; align-items: center; justify-content: center; flex-wrap: wrap; width: 60px; z-index: 2; cursor: pointer; }

.mouse_icon span { color: #002056; width: 100%; font-size: 10px; letter-spacing: 3px; margin-bottom: 5px; transition: 0.4s; text-align: center; }

.mouse_icon .img_wrap { position: relative; }

.mouse_icon .img_wrap .mouse_sc { position: absolute; width: 2px; height: 8px; background: #002056; left: calc((100% - 2px)/2); transition: 0.4s; top: 8px; margin: 0; -webkit-animation: mouse_scroll 3s infinite linear alternate; animation: mouse_scroll 3s infinite linear alternate; }

.mouse_icon .img_wrap img { width: 28px; }

.fp-viewing-page4 .mouse_icon { display: none; transition: 0.4s; }
/*.fp-viewing-page5 .mouse_icon { display: none; transition: 0.4s; }*/

@-webkit-keyframes loding_anime { 0% { stroke-dashoffset: 5000; }
  100% { stroke-dashoffset: 0; } }

@keyframes loding_anime { 0% { stroke-dashoffset: 5000; }
  100% { stroke-dashoffset: 0; } }

@-webkit-keyframes load_text_none { 0% { opacity: 1; }
  100% { opacity: 0; } }

@keyframes load_text_none { 0% { opacity: 1; }
  100% { opacity: 0; } }

@-webkit-keyframes load_wrap_none { 0% { opacity: 1; }
  100% { opacity: 0;
    z-index: -99; } }

@keyframes load_wrap_none { 0% { opacity: 1; }
  100% { opacity: 0;
    z-index: -99; } }

.load_svg { -webkit-animation: load_text_none 3s; animation: load_text_none 3s; -webkit-animation-delay: 3s; animation-delay: 3s; }

.load_svg path { -webkit-animation: loding_anime 8s ease-in alternate forwards; animation: loding_anime 8s ease-in alternate forwards; -webkit-animation-delay: 1.5s; animation-delay: 1.5s; stroke: #fff; fill: none; stroke-width: 1; stroke-dasharray: 5000; stroke-dashoffset: 5000; }

@-webkit-keyframes para_fade { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes para_fade { 0% { opacity: 0; }
  100% { opacity: 1; } }

.sc_item.sc_on { opacity: 1; top: 0; }

.sc_on { position: relative; transition: 3s; -webkit-animation: para_fade 3s; animation: para_fade 3s; -webkit-animation-duration: 2s; animation-duration: 2s; opacity: 0; top: 100px; }

#header { background: #fff; padding: 0 15px; width: 96%; position: fixed; top: 2%; left: 2%; z-index: 2; }

.fp-viewing-page1 .menu_btn .menu_trigger span { background-color: #fff; }

#sp_menu .menu_btn2 .menu_trigger span { background-color: #fff; }

.menu_btn, .menu_btn2 { width: 13vw; height: 10vw; padding: 2vw 1vw; position: fixed; top: 3%; right: 3%; z-index: 99; }

.menu_btn .menu_trigger, .menu_btn2 .menu_trigger { position: relative; width: 100%; height: 100%; display: block; }

.menu_btn .menu_trigger span, .menu_btn2 .menu_trigger span { display: block; height: 3px; position: absolute; background-color: #002056; border-radius: 30px; transition: all .4s; }

.menu_btn .menu_trigger span:nth-of-type(1), .menu_btn2 .menu_trigger span:nth-of-type(1) { top: 0; left: 0; width: 50%; }

.menu_btn .menu_trigger span:nth-of-type(2), .menu_btn2 .menu_trigger span:nth-of-type(2) { top: calc(50% - 1.5px); width: 100%; left: 0; }

.menu_btn .menu_trigger span:nth-of-type(3), .menu_btn2 .menu_trigger span:nth-of-type(3) { bottom: 0; right: 0; width: 50%; }

.menu_btn.open_ .menu_trigger span:nth-of-type(1), .menu_btn2.open_ .menu_trigger span:nth-of-type(1) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); top: calc(50% - 1.5px); width: 100%; }

.menu_btn.open_ .menu_trigger span:nth-of-type(2), .menu_btn2.open_ .menu_trigger span:nth-of-type(2) { opacity: 0; }

.menu_btn.open_ .menu_trigger span:nth-of-type(3), .menu_btn2.open_ .menu_trigger span:nth-of-type(3) { -webkit-transform: rotate(45deg); transform: rotate(45deg); top: calc(50% - 1.5px); width: 100%; }

#sp_menu { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: #00112b; z-index: 99; }

#sp_menu .menu_wrapp { padding: 4%; height: 100%; display: flex; align-items: flex-end; justify-content: flex-end; }

#sp_menu .menu_wrapp ul { padding: 12% 12% 20%; width: 100%; }

#sp_menu .menu_wrapp ul li { margin-bottom: 4vw; }

#sp_menu .menu_wrapp ul li:last-child { margin-bottom: 0; }

#sp_menu .menu_wrapp ul li a { font-size: 4vw; font-weight: bold; display: block; padding: 4% 0; color: #fff; text-align: right; }

#gnav { width: 600px; float: right; text-align: right; }

#gnav li { display: inline-block; }

#gnav li a { display: inline-block; padding: 15px 20px 0px 20px; line-height: 44px; position: relative; font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; font-size: 1.2rem; }

#gnav li a:before { content: ""; position: absolute; left: calc((100% - 30px)/2); bottom: 0; width: 30px; height: 0; background: #002056; }

#gnav li a:hover:before { height: 2px; }

#footer { position: absolute; bottom: 0; left: 0; width: 100%; background: #002056; padding: 10px; height: 35px; }

#footer .copyright { color: #FFF; text-align: center; font-size: 1.0rem; }

.bg_size { position: relative; z-index: 1; }

.bg_color { background: #f7f8f8; display: flex; align-items: center; justify-content: center; }

.sec1_text { width: 250px; position: absolute; left: calc((100% - 250px)/2); top: calc((100% - 172px)/2); z-index: 99; }

.sec_2 { background: #f7f8f8; display: flex; align-items: center; justify-content: center; }

.sec_2 .sec2_bg { width: 698px; position: absolute; right: 0; bottom: 0; z-index: -1; }

.sec_2 .sec2_wrap { display: flex; align-items: flex-end; justify-content: center; width: 75%; }

.sec_2 .sec2_wrap .left { margin-right: 40%; }

.sec_2 .sec2_wrap .left .vision_sub_ttl { margin-bottom: 35px; display: block; }

.sec_2 .sec2_wrap .left .vision_ttl { line-height: 1.8; letter-spacing: 3px; }

.sec_2 .sec2_wrap .left .vision_ttl .small { margin-top: 20px; letter-spacing: 2px; }

.sec_2 .sec2_wrap .right p { font-size: 1.1rem; color: #002056; line-height: 2.2; font-weight: bold; letter-spacing: 0; }

.sec_2 .sec2_wrap .right p:nth-child(1) { margin-bottom: 35px; letter-spacing: 1px; }

.sec_3 { background: #f7f8f8; display: flex; align-items: center; justify-content: center; }

.sec_3 .sec3_wrap { width: 75%; }

.sec_3 .sec3_wrap .sec_ttl { margin-bottom: 130px; }

.sec_3 .sec3_wrap .project_list { display: flex; justify-content: space-between; }

.sec_3 .sec3_wrap .project_list li { margin: 0 30px; position: relative; }

.sec_3 .sec3_wrap .project_list li .num_border { position: absolute; left: -20px; top: 0; display: flex; align-items: flex-end; z-index: 1; height: 80px; width: 10px; }

.sec_3 .sec3_wrap .project_list li .num_border:before { content: ""; position: absolute; top: 0; left: calc((100% - 1px)/2); width: 1px; height: 50px; background: #002056; }

.sec_3 .sec3_wrap .project_list li .num_border .number { color: #002056; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; writing-mode: vertical-rl; width: 13px; font-size: 1.1rem; font-weight: bold; letter-spacing: 1px; }

.sec_3 .sec3_wrap .project_list li a { display: block; width: 100%; height: 100%; }

.sec_3 .sec3_wrap .project_list li a .zoom_wrap { width: 100%; height: 100%; overflow: hidden; }

.sec_3 .sec3_wrap .project_list li a .zoom_wrap img { width: 100%; -webkit-transform: scale(1); transform: scale(1); transition: 0.6s; }

.sec_3 .sec3_wrap .project_list li a:before { content: ""; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 32, 86, 0.63); transition: 0.4s; opacity: 0; z-index: 1; }

.sec_3 .sec3_wrap .project_list li a .over_wrap { position: absolute; top: 10%; left: 0; opacity: 0; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; width: 100%; height: 80%; z-index: 2; transition: 0.4s; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .over_top { width: 100%; text-align: center; }

.sec_3 .sec3_wrap .project_list li a .over_wrap span { color: #fff; display: block; font-size: 1.2rem; letter-spacing: 1px; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .year { margin-bottom: 15px; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn { width: 80px; font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; font-size: 1.2rem; border-top: 1px solid #fff; border-bottom: 1px solid #fff; position: relative; margin: auto; text-align: center; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_top:before { content: ""; position: absolute; left: 0; top: -1px; border-top: 1px solid #fff; border-left: 1px solid #fff; width: 10px; height: 8px; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_top:after { content: ""; position: absolute; right: 0; top: -1px; border-top: 1px solid #fff; border-right: 1px solid #fff; width: 10px; height: 8px; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_bottom:before { content: ""; position: absolute; left: 0; bottom: -1px; border-bottom: 1px solid #fff; border-left: 1px solid #fff; width: 10px; height: 8px; }

.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_bottom:after { content: ""; position: absolute; right: 0; bottom: -1px; border-bottom: 1px solid #fff; border-right: 1px solid #fff; width: 10px; height: 8px; }

.sec_3 .sec3_wrap .project_list li a:hover:before { transition: 0.4s; opacity: 1; }

.sec_3 .sec3_wrap .project_list li a:hover .zoom_wrap img { -webkit-transform: scale(1.05); transform: scale(1.05); transition: 0.6s; }

.sec_3 .sec3_wrap .project_list li a:hover .over_wrap { transition: 0.4s; opacity: 1; }

.sec_4 { background: #f7f8f8; display: flex; align-items: center; justify-content: center; }

.sec_4 .sec4_bg { width: 549px; position: absolute; left: 0; bottom: 0; z-index: -1; }

.sec_4 .sec_ttl { margin-bottom: 130px; }

.sec_4 .company_table { position: relative; }

.sec_4 .company_table:before { content: ""; position: absolute; height: 100%; width: 1px; left: 105px; top: 0; background: #002056; }

.sec_4 .company_table dl { display: flex; padding: 7px 0; }

.sec_4 .company_table dl:first-child { padding: 14px 0 7px; }

.sec_4 .company_table dl:last-child { padding: 7px 0 14px; }

.sec_4 .company_table dl dt, .sec_4 .company_table dl dd { color: #002056; font-weight: bold; font-size: 1.2rem; letter-spacing: 1px; }

.sec_4 .company_table dl dt { width: 105px; }

.sec_4 .company_table dl dd { margin-left: 50px; }

.sec_4 .company_table dl dd .link-map { text-decoration: underline; }
.sec_4 .sec4_wrap { position: relative; }
.sec_4 .company_map { position: absolute; bottom: 0; right: -220px; width: 200px; }
.sec_4 .company_map-title { margin-bottom: 10px; font-family: Arial,'ＭＳ Ｐゴシック',sans-serif; font-size: 1.6rem; font-weight: bold; color: #002056; }
.sec_4 .company_map-frame { position: relative; width: 100%; height: 240px; }
.sec_4 .company_map-frame iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

.sec_5 { background: #f7f8f8; display: flex; align-items: center; justify-content: center; }

.sec_5 .sec_ttl { margin-bottom: 130px; }

.sec_5 .sec5_wrap { width: 48%; }

.sec_5 .contact_wrap { display: flex; justify-content: space-between; }

.sec_5 .contact_wrap table { width: 45%; margin-right: 5%; }

.sec_5 .contact_wrap table tr { display: flex; flex-wrap: wrap; margin-bottom: 20px; }

.sec_5 .contact_wrap table tr:last-child { margin-bottom: 0; }

.sec_5 .contact_wrap table tr th { width: 100%; text-align: left; font-size: 1.1rem; margin-bottom: 3px; display: flex; justify-content: space-between; }

.sec_5 .contact_wrap table tr th span { color: #c30d23; }

.sec_5 .contact_wrap table tr td { width: 100%; }

.sec_5 .contact_wrap table tr td input { width: 100%; padding: 4px 6px; background: #00112b; border: none; color: #fff; }

.sec_5 .contact_wrap .cont_inquiry { width: 45%; }

.sec_5 .contact_wrap .cont_inquiry span { display: block; font-size: 1.1rem; margin-bottom: 3px; }

.sec_5 .contact_wrap .cont_inquiry textarea { width: 100%; background: #00112b; border: none; height: 94%; color: #fff; padding: 4px 6px; }

.sec_5 .submit_wrap { text-align: center; width: 11%; margin: 60px auto 0; border-top: 1px solid #002056; border-bottom: 1px solid #002056; }

.sec_5 .submit_wrap input[type="submit"] { -webkit-appearance: none; -moz-appearance: none; appearance: none; cursor: pointer; border: none; background: none; width: 100%; padding: 13px 0; color: #002056; font-weight: bold; letter-spacing: 1px; }

.sec_5 .submit_wrap .border_top { position: relative; display: block; }

.sec_5 .submit_wrap .border_top:before { content: ""; position: absolute; left: 0; top: -1px; width: 10px; height: 10px; border-top: 1px solid #002056; border-left: 1px solid #002056; }

.sec_5 .submit_wrap .border_top:after { content: ""; position: absolute; right: 0; top: -1px; width: 10px; height: 10px; border-top: 1px solid #002056; border-right: 1px solid #002056; }

.sec_5 .submit_wrap .border_bottom { position: relative; display: block; }

.sec_5 .submit_wrap .border_bottom:before { content: ""; position: absolute; left: 0; bottom: -1px; width: 10px; height: 10px; border-bottom: 1px solid #002056; border-left: 1px solid #002056; }

.sec_5 .submit_wrap .border_bottom:after { content: ""; position: absolute; right: 0; bottom: -1px; width: 10px; height: 10px; border-bottom: 1px solid #002056; border-right: 1px solid #002056; }

.sec_5 .footer_nav { position: absolute; left: 5%; top: -29px; display: flex; flex-wrap: wrap; }

.sec_5 .footer_nav li { margin-right: 35px; }

.sec_5 .footer_nav li:last-child { margin-right: 0; }

.sec_5 .footer_nav li a { position: relative; padding-bottom: 5px; font-size: 1.2rem; }

.sec_5 .footer_nav li a:before { content: ""; position: absolute; left: calc((100% - 30px)/2); bottom: 0; background: #002056; width: 30px; height: 0; }

.sec_5 .footer_nav li a:hover:before { height: 2px; }

#form_modal { width: 100%; height: 100%; top: 0; left: 0; display: none; z-index: 2000; }

#form_modal #overlay { width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 0; }

#form_modal .wrapp { width: 100%; max-height: 100%; position: relative; padding: 60px; margin: auto; overflow: auto; z-index: 1; }

#form_modal .title { text-align: center; font-size: 24px; }

#form_modal .response { margin: 20px 0 40px; }

#form_modal .response .comp_text .thank_top span, #form_modal .response .comp_text .thank_bottom span { font-size: 44px; color: #002056; font-weight: bold; margin: 0 17px; }

#form_modal .response .comp_text .small { font-size: 1.2rem; color: #002056; font-weight: bold; margin: 30px 0; display: block; }

#form_modal table { width: 100%; border-top: solid 1px #ccc; border-right: solid 1px #ccc; }

#form_modal table th, #form_modal table td { padding: 8px; text-align: left; border-bottom: solid 1px #ccc; border-left: solid 1px #ccc; }

#form_modal table th { background: #fafafa; }

#form_modal .btns { margin: auto; width: 76%; }

#form_modal #submit_btn, #form_modal .back_btn { display: block; width: 48%; padding: 10px 0; color: #FFF; text-align: center; }

#form_modal #submit_btn { float: right; background: #002056; }

#form_modal .back_btn { float: left; background: #aaa; }

#form_modal .send .back_btn { float: none; margin: auto; }

#form_modal .comp_text { text-align: center; }

#breadcrumb { margin: 10px auto 40px; }

#breadcrumb li { display: inline-block; position: relative; padding-right: 24px; }

#breadcrumb li::after { content: ""; display: block; position: absolute; top: calc(50% - 4px); right: 10px; width: 6px; height: 6px; border-top: solid 1px #181818; border-right: solid 1px #181818; -webkit-transform: rotate(45deg); transform: rotate(45deg); }

#breadcrumb li:last-child::after { content: none; }

#breadcrumb a, #breadcrumb span { display: inline-block; font-size: 1.3rem; }

#breadcrumb a:hover span { text-decoration: underline; }

/*
Default style for WP-PageNavi plugin

http://wordpress.org/extend/plugins/wp-pagenavi/
*/
.wp-pagenavi { clear: both; text-align: center; margin: 40px 0; }

.wp-pagenavi .pages { display: none; }

.wp-pagenavi a, .wp-pagenavi span { display: inline-block; text-decoration: none; border: 1px solid #002056; width: 40px; line-height: 40px; margin: 0 4px; color: #002056; }

.wp-pagenavi a:hover, .wp-pagenavi span.current { background: #002056; color: #fff; }

.wp-pagenavi span.current { font-weight: bold; }

.wp-pagenavi .extend { border: none; }

.wp-pagenavi .first, .wp-pagenavi .last { width: auto; padding: 0 8px; }

.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }

.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: pointer; cursor: hand; }

.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }

.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }

.slick-track:before, .slick-track:after { display: table; content: ''; }

.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide { display: none; float: left; height: 100%; min-height: 1px; }

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-initialized .slick-slide { display: block; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }

.slick-arrow.slick-hidden { display: none; }

.slick-slider { padding-bottom: 80px; }

.slick-slider:after { content: ""; display: block; height: 0; visibility: hidden; clear: both; }

.slick-slider .next { display: block; width: 81px; height: 22px; border: none; cursor: pointer; position: absolute !important; bottom: 0; z-index: 1; right: 28px; border-top: 1px solid #002056; border-bottom: 1px solid #002056; }

.slick-slider .next .next_text { color: #002056; line-height: 1.3; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; font-family: SFNSText; letter-spacing: 1px; font-weight: bold; height: 100%; }

.slick-slider .next .border_top:before { content: ""; position: absolute; left: 0; top: -1px; border-top: 1px solid #002056; border-left: 1px solid #002056; width: 10px; height: 8px; }

.slick-slider .next .border_top:after { content: ""; position: absolute; right: 0; top: -1px; border-top: 1px solid #002056; border-right: 1px solid #002056; width: 10px; height: 8px; }

.slick-slider .next .border_bottom:before { content: ""; position: absolute; left: 0; bottom: -1px; border-bottom: 1px solid #002056; border-left: 1px solid #002056; width: 10px; height: 8px; }

.slick-slider .next .border_bottom:after { content: ""; position: absolute; right: 0; bottom: -1px; border-bottom: 1px solid #002056; border-right: 1px solid #002056; width: 10px; height: 8px; }

.slick-slider .slick-prev { display: none !important; }

.slick-slider .slick-dots { text-align: center; padding: 0; height: 0; position: absolute; bottom: 17px; right: -45px; }

.slick-slider .slick-dots li { display: inline-block; margin: 0 !important; }

.slick-slider .slick-dots li button { text-indent: -9999px; border: none; width: 21px; height: 3px; background: #b5b5b6; margin: 5px; padding: 0; }

.slick-slider .slick-dots li.slick-active button { background: #002056; }

@-webkit-keyframes lum-fade { 0% { opacity: 0; }
  100% { opacity: 1; } }

@keyframes lum-fade { 0% { opacity: 0; }
  100% { opacity: 1; } }

@-webkit-keyframes lum-fadeZoom { 0% { -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0; }
  100% { -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes lum-fadeZoom { 0% { -webkit-transform: scale(0.5);
    transform: scale(0.5);
    opacity: 0; }
  100% { -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@-webkit-keyframes lum-loader-rotate { 0% { -webkit-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0); }
  50% { -webkit-transform: translate(-50%, -50%) rotate(-180deg);
    transform: translate(-50%, -50%) rotate(-180deg); }
  100% { -webkit-transform: translate(-50%, -50%) rotate(-360deg);
    transform: translate(-50%, -50%) rotate(-360deg); } }

@keyframes lum-loader-rotate { 0% { -webkit-transform: translate(-50%, -50%) rotate(0);
    transform: translate(-50%, -50%) rotate(0); }
  50% { -webkit-transform: translate(-50%, -50%) rotate(-180deg);
    transform: translate(-50%, -50%) rotate(-180deg); }
  100% { -webkit-transform: translate(-50%, -50%) rotate(-360deg);
    transform: translate(-50%, -50%) rotate(-360deg); } }

@-webkit-keyframes lum-loader-before { 0% { -webkit-transform: scale(1);
    transform: scale(1); }
  10% { -webkit-transform: scale(1.2) translateX(6px);
    transform: scale(1.2) translateX(6px); }
  25% { -webkit-transform: scale(1.3) translateX(8px);
    transform: scale(1.3) translateX(8px); }
  40% { -webkit-transform: scale(1.2) translateX(6px);
    transform: scale(1.2) translateX(6px); }
  50% { -webkit-transform: scale(1);
    transform: scale(1); }
  60% { -webkit-transform: scale(0.8) translateX(6px);
    transform: scale(0.8) translateX(6px); }
  75% { -webkit-transform: scale(0.7) translateX(8px);
    transform: scale(0.7) translateX(8px); }
  90% { -webkit-transform: scale(0.8) translateX(6px);
    transform: scale(0.8) translateX(6px); }
  100% { -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes lum-loader-before { 0% { -webkit-transform: scale(1);
    transform: scale(1); }
  10% { -webkit-transform: scale(1.2) translateX(6px);
    transform: scale(1.2) translateX(6px); }
  25% { -webkit-transform: scale(1.3) translateX(8px);
    transform: scale(1.3) translateX(8px); }
  40% { -webkit-transform: scale(1.2) translateX(6px);
    transform: scale(1.2) translateX(6px); }
  50% { -webkit-transform: scale(1);
    transform: scale(1); }
  60% { -webkit-transform: scale(0.8) translateX(6px);
    transform: scale(0.8) translateX(6px); }
  75% { -webkit-transform: scale(0.7) translateX(8px);
    transform: scale(0.7) translateX(8px); }
  90% { -webkit-transform: scale(0.8) translateX(6px);
    transform: scale(0.8) translateX(6px); }
  100% { -webkit-transform: scale(1);
    transform: scale(1); } }

@-webkit-keyframes lum-loader-after { 0% { -webkit-transform: scale(1);
    transform: scale(1); }
  10% { -webkit-transform: scale(1.2) translateX(-6px);
    transform: scale(1.2) translateX(-6px); }
  25% { -webkit-transform: scale(1.3) translateX(-8px);
    transform: scale(1.3) translateX(-8px); }
  40% { -webkit-transform: scale(1.2) translateX(-6px);
    transform: scale(1.2) translateX(-6px); }
  50% { -webkit-transform: scale(1);
    transform: scale(1); }
  60% { -webkit-transform: scale(0.8) translateX(-6px);
    transform: scale(0.8) translateX(-6px); }
  75% { -webkit-transform: scale(0.7) translateX(-8px);
    transform: scale(0.7) translateX(-8px); }
  90% { -webkit-transform: scale(0.8) translateX(-6px);
    transform: scale(0.8) translateX(-6px); }
  100% { -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes lum-loader-after { 0% { -webkit-transform: scale(1);
    transform: scale(1); }
  10% { -webkit-transform: scale(1.2) translateX(-6px);
    transform: scale(1.2) translateX(-6px); }
  25% { -webkit-transform: scale(1.3) translateX(-8px);
    transform: scale(1.3) translateX(-8px); }
  40% { -webkit-transform: scale(1.2) translateX(-6px);
    transform: scale(1.2) translateX(-6px); }
  50% { -webkit-transform: scale(1);
    transform: scale(1); }
  60% { -webkit-transform: scale(0.8) translateX(-6px);
    transform: scale(0.8) translateX(-6px); }
  75% { -webkit-transform: scale(0.7) translateX(-8px);
    transform: scale(0.7) translateX(-8px); }
  90% { -webkit-transform: scale(0.8) translateX(-6px);
    transform: scale(0.8) translateX(-6px); }
  100% { -webkit-transform: scale(1);
    transform: scale(1); } }

.lum-lightbox { background: rgba(0, 0, 0, 0.6); }

.lum-lightbox-inner { top: 2.5%; right: 2.5%; bottom: 2.5%; left: 2.5%; }

.lum-lightbox-inner img { position: relative; }

.lum-lightbox-inner .lum-lightbox-caption { margin: 0 auto; color: #fff; max-width: 700px; text-align: center; }

.lum-loading .lum-lightbox-loader { display: block; position: absolute; top: 50%; left: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); width: 66px; height: 20px; -webkit-animation: lum-loader-rotate 1800ms infinite linear; animation: lum-loader-rotate 1800ms infinite linear; }

.lum-lightbox-loader:before, .lum-lightbox-loader:after { content: ""; display: block; width: 20px; height: 20px; position: absolute; top: 50%; margin-top: -10px; border-radius: 20px; background: rgba(255, 255, 255, 0.9); }

.lum-lightbox-loader:before { left: 0; -webkit-animation: lum-loader-before 1800ms infinite linear; animation: lum-loader-before 1800ms infinite linear; }

.lum-lightbox-loader:after { right: 0; -webkit-animation: lum-loader-after 1800ms infinite linear; animation: lum-loader-after 1800ms infinite linear; -webkit-animation-delay: -900ms; animation-delay: -900ms; }

.lum-lightbox.lum-opening { -webkit-animation: lum-fade 180ms ease-out; animation: lum-fade 180ms ease-out; }

.lum-lightbox.lum-opening .lum-lightbox-inner { -webkit-animation: lum-fadeZoom 180ms ease-out; animation: lum-fadeZoom 180ms ease-out; }

.lum-lightbox.lum-closing { -webkit-animation: lum-fade 300ms ease-in; animation: lum-fade 300ms ease-in; animation-direction: reverse; }

.lum-lightbox.lum-closing .lum-lightbox-inner { -webkit-animation: lum-fadeZoom 300ms ease-in; animation: lum-fadeZoom 300ms ease-in; animation-direction: reverse; }

.lum-img { transition: opacity 120ms ease-out; }

.lum-loading .lum-img { opacity: 0; }

.lum-gallery-button { overflow: hidden; text-indent: 150%; white-space: nowrap; background: transparent; border: 0; margin: 0; padding: 0; outline: 0; position: absolute; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); height: 100px; max-height: 100%; width: 60px; cursor: pointer; }

.lum-previous-button { left: 12px; }

.lum-next-button { right: 12px; }

.lum-gallery-button:after { content: ""; display: block; position: absolute; top: 50%; width: 36px; height: 36px; border-top: 4px solid rgba(255, 255, 255, 0.8); }

.lum-previous-button:after { -webkit-transform: translateY(-50%) rotate(-45deg); transform: translateY(-50%) rotate(-45deg); border-left: 4px solid rgba(255, 255, 255, 0.8); box-shadow: -2px 0 rgba(0, 0, 0, 0.2); left: 12%; border-radius: 3px 0 0 0; }

.lum-next-button:after { -webkit-transform: translateY(-50%) rotate(45deg); transform: translateY(-50%) rotate(45deg); border-right: 4px solid rgba(255, 255, 255, 0.8); box-shadow: 2px 0 rgba(0, 0, 0, 0.2); right: 12%; border-radius: 0 3px 0 0; }

/* This media query makes screens less than 460px wide display in a "fullscreen"-esque mode. Users can then scroll around inside the lightbox to see the entire image. */
.lum-lightbox { z-index: 1000; }

.lum-lightbox-image-wrapper { position: relative; }

.lum-lightbox-position-helper { position: absolute; top: 50%; left: 0; -webkit-transform: translateY(-50%); transform: translateY(-50%); display: block; width: 100%; }

@media screen and (min-width: 769px) {
	#form_modal table th { width: 40%; }
}

@media screen and (max-width: 768px) {
	.sp_view { display: block; }
	.pc_view { display: none; }
	.sp_item { display: initial; }
	.pc_item { display: none; }
	.mb10 { margin-bottom: 2vw; }
	.mb20 { margin-bottom: 4vw; }
	.mb30 { margin-bottom: 6vw; }
	.mb40 { margin-bottom: 8vw; }
	.mb60 { margin-bottom: 10vw; }
	.mb80 { margin-bottom: 12vw; }
	.mb100 { margin-bottom: 14vw; }
	.mt10 { margin-top: 2vw; }
	.mt20 { margin-top: 4vw; }
	.mt30 { margin-top: 6vw; }
	.mt40 { margin-top: 8vw; }
	.mt60 { margin-bottom: 10vw; }
	.mt80 { margin-bottom: 12vw; }
	.mt100 { margin-bottom: 14vw; }
	body { font-size: 3.4vw; }
	.site_width { width: 92%; }
	.sec_ttl { margin-bottom: 4vw; font-size: 6vw; }
	.sub_ttl { font-size: 4vw; }
	.vision_ttl { font-size: 4vw; }
	.vision_ttl .small { font-size: 3.5vw; }
	.vision_sub_ttl { font-size: 5vw; }
	.site_name, .sp_site_name { width: 5vw; top: 9%; z-index: 999; }
	.border { top: auto; bottom: 0; height: 10%; right: 5%; }
	.border:before { top: auto; bottom: 0; height: 100%; }
	.border .page_name { position: absolute; left: 0; top: -40px; }
	.border .page_name:before { display: none; }
	#fp-nav { top: auto; bottom: 8%; width: 0.5vw; }
	.mouse_icon { width: 23vw; left: calc((100% - 23vw)/2); bottom: 1%; }
	.mouse_icon span { font-size: 2.6vw; line-height: 1; margin-bottom: 1vw; }
	.mouse_icon .img_wrap img { width: 6vw; }
	#header { display: none; }
	.menu_btn, .menu_btn2 { z-index: 9; }
	.sec1_text { width: 78vw; left: calc((100% - 78vw)/2); top: 34%; }
	.sec_2 .sec2_wrap { flex-wrap: wrap; width: 80%; }
	.sec_2 .sec2_wrap .left { width: 100%; margin-right: 0; }
	.sec_2 .sec2_wrap .left .vision_sub_ttl { margin-bottom: 3vw; }
	.sec_2 .sec2_wrap .left .vision_ttl .small { margin-top: 3vw; }
	.sec_2 .sec2_wrap .right { width: 100%; }
	.sec_2 .sec2_wrap .right p { font-size: 2.6vw; }
	.sec_2 .sec2_wrap .right p:nth-child(1) { margin-bottom: 3vw; }
	.sec_3 .sec3_wrap { width: 40%; }
	.sec_3 .sec3_wrap .sec_ttl { margin-bottom: 0vw; }
	.sec_3 .sec3_wrap .project_list { display: block; }
	.sec_3 .sec3_wrap .project_list li { margin: 2vw 5vw; }
	.sec_3 .sec3_wrap .project_list li .num_border { left: -13px; }
	.sec_3 .sec3_wrap .project_list li a .over_wrap span { font-size: 2.6vw; }
	.sec_3 .sec3_wrap .project_list li a .over_wrap .year { margin-bottom: 0; }
	.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_top:before { height: 6px; }
	.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_top:after { height: 6px; }
	.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_bottom:before { height: 6px; }
	.sec_3 .sec3_wrap .project_list li a .over_wrap .view_btn .border_bottom:after { height: 6px; }
	.sec_4 .sec_ttl { margin-bottom: 12vw; }
	.sec_4 .sec4_wrap { width: 80%; margin: auto; }
	.sec_4 .company_table:before { left: 21%; }
	.sec_4 .company_table dl:first-child { padding: 3vw 0 1.5vw; }
	.sec_4 .company_table dl:last-child { padding: 1.5vw 0 3vw; }
	.sec_4 .company_table dl dt, .sec_4 .company_table dl dd { font-size: 3.2vw; }
	.sec_4 .company_table dl dt { width: 22%; }
	.sec_4 .company_table dl dd { margin-left: 3%; width: 75%; }
	.sec_4 .company_map { display: none !important; }
	.sec_5 .sec_ttl { margin-bottom: 0vw; }
	.sec_5 .sec5_wrap { width: 80%; }
	.sec_5 .contact_wrap { flex-wrap: wrap; }
	.sec_5 .contact_wrap table { width: 100%; margin-right: 0; }
	.sec_5 .contact_wrap table tr { margin-bottom: 1vw; }
	.sec_5 .contact_wrap table tr:last-child { margin-bottom: 2vw; }
	.sec_5 .contact_wrap table tr td input { height: 100%; }
	.sec_5 .contact_wrap .cont_inquiry { width: 100%; height: 40vw; }
	.sec_5 .contact_wrap .cont_inquiry textarea { height: 87%; }
	.sec_5 .submit_wrap { margin: 2vw auto 0; width: 22%; }
	.sec_5 .submit_wrap input[type="submit"] { padding: 2vw 0; }
	.sec_5 .footer_nav { display: none; }
	#form_modal .wrapp { width: 90%; padding: 6vw; }
	#form_modal .title { font-size: 6vw; }
	#form_modal .response { margin: 4vw 0 6vw; }
	#form_modal table, #form_modal table tbody, #form_modal table tr, #form_modal table td, #form_modal table th { display: block; }
	#form_modal .btns { width: 90%; }
	#form_modal #submit_btn, #form_modal .back_btn { padding: 3% 0; }
	#breadcrumb { margin: 2vw auto 5vw; }
	#breadcrumb li::after { top: calc(50% - 1.2vw); right: 2.1vw; width: 1.6vw; height: 1.6vw; }
	#breadcrumb a, #breadcrumb span { font-size: 3.2vw; }
	.slick-slider { padding-bottom: 6vw; }
	.slick-slider .next { right: calc((100% - 81px)/2); }
}

@media (max-width: 460px) {
	.lum-lightbox-image-wrapper { display: block; overflow: auto; -webkit-overflow-scrolling: touch; }
	.lum-lightbox-caption { width: 100%; position: absolute; bottom: 0; }
	.lum-lightbox-inner img { max-width: none; max-height: none; display: block; }
	.lum-lightbox-inner img { max-width: 200vw; }
	.lum-gallery-button:after { width: 6vw; height: 6vw; }
}
