.bg_color1{ background-color:#006934; }
section{ position:relative;z-index:100; }

.header{ position:fixed;top:0;left:0;width:100%;z-index:500; }
.header .nav_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding-right:4%;width:52%;min-width:390px;-ms-flex-negative:0;flex-shrink:0; }
.header .nav a{ color:#fff;font-size:clamp(9px, 1.5vw, 120%); }
.header .icon_wrap{ width:18.5%;-ms-flex-negative:1;flex-shrink:1; }
.header .header_icon{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:50%;padding:7.9% 0; }
.header .header_icon img{ width:70%;display:block;margin:0 auto; }
.header .icon_contact{ background-color:#fff; }
.header .wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;max-width:1230px;padding:min(28px, 1.8vw) 0; }
.header .wrap > *{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.header .logo{ width:20.5%;max-width:338px;margin-right:auto;-ms-flex-negative:1;filter:drop-shadow(4px 2px 4px rgba(0, 0, 0, 0.2)); }
.header .hamburger-btn{ position:relative;margin-left:auto;margin-right:2.1%;z-index:600;cursor:pointer;width:13.1%;max-width:43px; }
.header .hamburger-btn.close{ position:absolute;right:0;top:2%; }
.hamburger{ display:block;position:fixed;z-index:700;top:0;right:0;width:100vw;height:100vh;transform:translateX(100vw);-webkit-transition:all 0.5s;transition:all 0.5s;background-color:#006934; }
.hamburger_lists{ margin:0 auto;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:v ertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:85%;height:100%;padding:8vh 0;max-width:600px; }
.hamburger_list{ border-top:1px solid #fff;text-align:center;width:90%;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center; }
.hamburger_list a{ opacity:0;transition:.5s;transform:translateY(-5%); }
.active .hamburger_list a{ opacity:1;transform:translateY(0); }
:root{ --delay-base:0.15s; }
.active .hamburger_list:nth-child(1) a{ transition-delay:calc(var(--delay-base) * 1); }
.active .hamburger_list:nth-child(2) a{ transition-delay:calc(var(--delay-base) * 2); }
.active .hamburger_list:nth-child(3) a{ transition-delay:calc(var(--delay-base) * 3); }
.active .hamburger_list:nth-child(4) a{ transition-delay:calc(var(--delay-base) * 4); }
.active .hamburger_list:nth-child(5) a{ transition-delay:calc(var(--delay-base) * 5); }
.active .hamburger_list:nth-child(6) a{ transition-delay:calc(var(--delay-base) * 6); }
.active .hamburger_list:nth-child(7) a{ transition-delay:calc(var(--delay-base) * 7); }
.active .hamburger_list:nth-child(8) a{ transition-delay:calc(var(--delay-base) * 8); }
.hamburger_list .row{ width:60%;font-size:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-left:auto;margin-right:auto; }
.hamburger_list .icon{ width:18%;display:block; }
.hamburger_list.contact{ background-color:#fff;margin:0; }
.hamburger_list.contact a{ color:#283782;width:100%; }
.hamburger_list.recruit{ background-color:#f05546; }
.hamburger_list.recruit .row{ color:#fff; }
.hamburger_list:first-of-type{ border-top:none; }
.hamburger_list a{ color:#fff;font-size:130%;font-weight:300;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;white-space:nowrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:100%;height:100%; }
.hamburger_link{ text-decoration:none;color:white; } 
.hamburger.active{ -webkit-transform:translateX(0);transform:translateX(0); }

section.mv{ background:url(../img/top_mv.webp) no-repeat center center/cover;height:100vh; }
section.mv .wrap{ width:94%;max-width:1464px;height:100%; }
section.mv .th_top{ width:53.3%;margin-top:113px;padding-left:4.8%; }

.sec_th, .th_each{ height:min(70px, 4.2vw); }
.sec_th img, .th_each img{ height:100%; }
.sec_th.shadow img{ filter:drop-shadow(4px 2px 4px rgba(0, 0, 0, 0.3)); }

/* section:not(.mv, .achievements){ padding:min(169px, 12vw) 0; }  */
section:not(.mv, .achievements){ padding:min(131.5px, 9.7vw) 0; } 
section .sec_th{ margin-bottom:9.2%; }
section.about .bg{ padding:10.5% 0 7.7% 0; } 
section.about .main{ width:50.4%;display:block;margin:0 auto;margin-bottom:6.5%; }
section.about .note{ line-height:287%;text-align:center;font-size:min(19px, 1.3vw);color:#fff;filter:drop-shadow(4px 2px 4px rgba(0, 0, 0, 0.3)); }

section.strengths{ padding:min(172px, 37vw) 0;background:url(../img/bg_strength.webp?1030) no-repeat center center/cover; }
section.strengths .object{ width:95.5%;margin:0 auto;margin-bottom:16.2%;display:block; }
section.strengths .point{ display:flex;margin-bottom:16.2%; }
section.strengths .point:last-of-type{ margin-bottom:0; }
section.strengths .num{ width:20.5%;position:relative;padding-right:7.9%;/* margin-right:5%; */}
section.strengths .vr{ position:relative;margin-right:6.3%; }
section.strengths .vr:after{ content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:100%;background-color:#006934;display:block; }
section.strengths .note_wrap{ margin-bottom:0%;padding-top:0;margin-top:1.8%; }
section.strengths .note_wrap .th{ height:min(39px, 2.6vw);margin-bottom:4.8%;padding-top:0;width:auto; }
section.strengths .note_wrap .th img{ width:auto;height:100%; }
section.strengths .note_wrap .note{ font-size:18px;line-height:200%;letter-spacing:-1.9px;color:#006934; }

section.achievements .th_wrap{ padding:min(137px, 10vw) 0; }
section.achievements .sec_th{ /* padding:min(100px, 5vw) 0; */margin-bottom:0; }
.achievements .cont_wrap{ display:flex;padding:min(61px, 4%) 0;padding-bottom:min(45px, 3%); }
.achievements .cont{ width:calc((100% - 10%) / 3);margin-right:5%; }
.achievements .cont:nth-of-type(3n){ margin-right:0; }
.achievements .thumb{ margin-bottom:1.8%;width:100%;object-fit:cover;aspect-ratio:1.45; }
.achievements .date{ font-size:13px;margin-bottom:1%;font-family:"noto-sans-cjk-jp", sans-serif;font-weight:400;font-style:normal; }
.achievements .cont .th{ font-size:130%;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-height:140%; }
section.achievements .more_wrap{ padding:min(66px, 5vw) 0 min(47px, 4vw); }
section.achievements .bt_more{ width:min(150px, 15%);display:block;margin-left:auto;margin-right:3.6%; }

.cont_wrap .no_data{ display:block;text-align:center;width:100%;padding:20px 0; }
.cont_wrap{ flex-wrap:wrap; }

section.company table{ max-width:670px;margin:0 auto;width:100%;border-collapse:collapse; }
section.company th, section.company td{ padding:3.9% 0;border-bottom:1px solid #131313;font-size:130%; }
section.company th{ padding-right:5%;text-align:left;width:157px;text-align:justify;text-align-last:justify;padding-left:1%;white-space:nowrap; }
section.company th, section.contact th{ text-align:justify;text-align-last:justify; }
section.company td{ padding-left:4%; }
section.company td br{ display:none; }

.footer{ position:relative;padding:5px 0;margin-top:auto;margin-bottom:20px; }
.footer .privacy{ margin-left:auto;display:block;font-size:12px;text-align:center;margin-bottom:10px; }
.footer .footer_copy{ width:6.8%;margin-left:auto;line-height:30%;float:right; }
.footer .footer_copy img{ vertical-align:top; }
.copyright{ width:320px;margin:0 auto;display:block; }

/* フォオームリセット */
.text_contact, .text_contact:focus{ -moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#F3F3F3;background-image:none;border:none;border-radius:0;color:inherit;font-family:inherit;font-size:104%;padding:0.4em 0.8em;width:100%;box-sizing:border-box;min-height:40px;color:#131313; }
/* .text_contact:focus { border:1px solid rgba(0, 0, 0, 0.32);box-shadow:none;outline:none; } */
.textarea_text { -moz-appearance:none;-webkit-appearance:none;appearance:none;background-color:#F3F3F3;background-image:none;border:none;border-radius:0;color:inherit;font-family:inherit;font-size:1em;height:30vw;max-height:280px;padding:0.4em 0.8em;width:100%;resize:none;box-sizing:border-box; }
.textarea_text:focus { box-shadow:none;outline:none;box-sizing:border-box; }
.contact form{ width:95%;max-width:915px;margin:0 auto;margin-bottom:40px; }
.wrap_confirm{ width:70%;max-width:485px;margin:0 auto; }
.contact{ overflow:hidden; }
.contact *{ color:#fff;/* font-family:noto-sans-cjk-jp, sans-serif; *//* font-weight:400; *//* font-style:normal; */font-size:104%; }
/* .contact input:focus{ border:1px solid #6982ff; } */
.contact input, .contact textarea{ color:#131313; }
.contact .confirm_announce{ display:block;text-align:center;margin:30px auto;font-size:18px; }
.contact .contact_hr{ height:1px;width:80%;max-width:982px;background-color:#BDBDBE;border:none;margin-top:5.7%; }
.contact .contact_hr:last-of-type{ margin-top:6.7%; }
.contact .conf_ttl{ text-align:center;font-size:20px;display:none;margin-top:5%; }
.contact  table{ width:100%;margin-bottom:30px;word-break:break-all;border-collapse:collapse; }
.contact table{ margin-bottom:9%; }
.contact .confirm table{ max-width:700px;margin-left:auto;margin-right:auto; }
.contact table tr{ display:flex;align-items:flex-start; }
.contact table td .form_row{ -webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.contact table td,.contact table th{ padding:13px 0; }
.contact table th{ width:224px;display:-webkit-box;display:-ms-flexbox;display:flex;line-height:45px;align-items:center;flex-shrink:0; }
.contact table th .inner{ width:170px; }
.contact table th .require{ margin-left:auto;display:block;background-color:#fff;color:#131313;padding:0 5px;line-height:190%;font-size:79%;letter-spacing:2px; }
.contact table th .tag_require{ display:block;width:35px;padding:10px 0; }
.contact table td, form table p{ font-size:18px; }
.contact table td{ padding-left:40px;flex-grow:1; }
.contact table td .form_row.flex{ display:-webkit-box;display:-ms-flexbox;display:flex; }
.contact table td .form_title{ min-width:150px;font-feature-settings:"palt"; }
.contact table td .confirm_note.type{ margin-top:12px; }
.contact table td .form_row.flex .form_title{ min-width:174px; }
.contact table .radio_cont_wrap label{ margin-right:20px; }
.contact table .kana p{ font-size:18px; }
.contact table .radio .text{ font-size:17px; }
.contact table .radio .note{ display:inline-block;font-size:12px;font-family:noto-sans-cjk-jp, sans-serif;font-weight:400;font-style:normal; }
.contact table .sub{ font-size:12px; }
.contact form input[type="submit"]{ opacity:1;transition:opacity .3s; }
.contact form input[type="submit"]:hover{ opacity:0.8;transition:opacity .3s; }
.contact form input[type="submit"].bt_form{ font-size:14px;background-color:#fff!important;border:none;color:#131313;padding:18px 30px;border-radius:999px;background:transparent;display:block;margin:0 auto;cursor:pointer;letter-spacing:3px;width:100%; }
.contact form input[type="submit"].bt_next{ text-align:center;position:relative;width:100%; }
.contact .bt_wrap{ position:relative;width:260px;display:block;margin-left:auto;margin-right:auto; }
.contact .bt_wrap.back{ margin-bottom:5%; }
.contact .contact_bottom_part{ display:block;margin:0 auto;width:55%;border-top:1px solid #BDBDBE;width:100%;padding-top:6.2%;margin-bottom:13%;margin-top:7%; }
.contact .contact_bottom_part .contact_bottom{ width:30.8%;max-width:440px;display:block;margin:0 auto; }
.contact form table .conf_text{ font-size:18px!important;height:30px; }
.contact form table .conf_text span{ color:#999; }
.contact form table .conf_text.conf_textarea{ height:auto;margin-top:10px; }
.contact form table .radio_option{ margin-bottom:8px; }
.errors span{ color:#b50009;padding:4px;border:1px solid #b50009;background-color:#ffd9db;border-radius:3px;line-height:164%;display:block;margin-bottom:8px;padding-left:30px;position:relative; }
.errors span:before{ content:'※';position:absolute;left:11px;top:3px; }
.contact form.confirm table p{ min-height:18px;white-space:pre-wrap; }
.confirm_note .th{ color:#acacac; }
.contact form.confirm .form_title{ color:#acacac;display:block;font-size:16px; }
.contact form.confirm .form_row.flex{ -webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row; }
.contact form.confirm .inner{ color:#acacac; }
.complete_note_wrap{ text-align:center;font-size:18px;margin:130px 0 110px 0; }
.complete_note_wrap .note{ margin-bottom:3%; }
.complete_note_wrap .note.sub{ font-size:16px; }
.complete_note_wrap a{ color:blue;text-decoration:underline; }
.url{ position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;overflow:hidden !important;clip:rect(1px, 1px, 1px, 1px) !important; }
.th_wrap{ padding:clamp(130px, 10vw, 180px) 0; }

/* お知らせ一覧 */
.page_nation_wrap{ padding:min(80px, 6vw) 0; }
.page_nation_wrap span, .page_nation_wrap a{ color:#fff;font-family:"noto-sans-cjk-jp", sans-serif;font-weight:700;font-style:normal; }
.page_nation_wrap span.disabled{ pointer-events:none;opacity:0; }
.page_nation{ display:flex;justify-content:center;align-items:center;margin:0 auto;font-size:18px; }
.page_nation .nums{ display:flex;justify-content:center;max-width:340px;flex-grow:1; }
.page_nation .num{ margin:0 5%;  }
.page_nation .num.current{ position:relative; }
.page_nation .num.current:after{ content:'';width:200%;height:2px;background-color:#fff;justify-content:space-between;left:50%;bottom:-10px;transform:translateX(-50%);position:absolute; }
.each_page.works .cont_wrap{ padding-top:min(120px, 8%);display:flex;align-items:center; }
.each_page.works .cont{ margin-bottom:5%; }

/* お知らせ詳細 */
.work_page .wrap{ width:90%;margin-left:auto;margin-right:auto; }
.work_page .note{ white-space:pre-wrap;margin-bottom:min(100px, 5vw); }
.work_single .wrap{ max-width:820px;width:90%;margin-left:auto;margin-right:auto; }
.work_single .date,.work_single .th{ display:block;text-align:center; }
.work_single .date{ margin-bottom:1%;text-align:left; }
.work_single .th{ font-size:180%;margin-bottom:4%;text-align:left; }
.work_single .i_catch{ margin-bottom:2%; }
.work_single .page_nation{ display:flex;width:100%;max-width:380px;justify-content:space-between; }

/* プライバシーポリシー */
.privacy_wrap .th_wrap{ padding-bottom:20px;text-align:center; }
.privacy_wrap .note_wrap{ margin-bottom:100px; }
.privacy_wrap h3{ display:block;margin-top:3%; }

@media screen and (max-width:767px){ 
    .main_area{ padding-bottom:5%; }
    .header{ width:100%;position:fixed;top:0;z-index:700; }
    .header .wrap{ -webkit-box-align:center;-ms-flex-align:center;align-items:center;width:100%;padding:3% 2%; }
    .header .nav_wrap,.header .icon_wrap{ display:none; }
    .header .logo{ width:40%; }
    .header .nav{ display:-webkit-box;display:-ms-flexbox;display:flex; }
    .header .nav a{ border-top:1px solid #e4e4e4;border-right:1px solid #e4e4e4;flex-grow:1; }
    .header .nav a img{ width:85%;display:block;margin:0 auto;padding:6% 0; }
    .header .nav a:last-of-type{ border-right:0;background-color:#f15c5c; }
    .header .hamburger-btn{ display:block; }

    section.mv .th_top{ top:40%;position:absolute;left:5%;transform:translateY(-50%);width:90%; }
    .sec_th, .th_each{ height:min(60px, 11vw);margin-bottom: 11%; }
    .th_wrap{ padding-bottom:5%; }
    section.about .main{ width:80%; }
    section.about .note{ font-size:16px;width:90%;margin:0 auto;text-align:left;line-height:200%; }
    section.about .note br{ display:none; }
    
    section.strengths .point{ flex-direction:column;justify-content:center;align-items:center; }
    section.strengths .num{ width:min(90px, 30.5%);padding:0;margin-bottom:6%; }
    section.strengths .note_wrap .th{ text-align:center;height:min(39px, 6.1vw); }
    section.strengths .note_wrap .note{ font-size:16px; }
    section.strengths .note_wrap .note br{ display:none; }
    
    .each_page.works .cont_wrap{ max-width:500px; }
    section.achievements .th_wrap{ padding:min(50px, 16vw) 0; }
    section.achievements .cont_wrap{ flex-direction:column;padding:5% 0; }
    section.achievements .cont_wrap .cont{ width:100%;margin-right:0;margin-bottom:12%; }
    section.achievements .cont_wrap .cont:last-of-type{ margin-right:auto;margin-bottom:0; }
    section.achievements .bt_more{ width:min(150px, 35%); }

    section.company th{ width:98px; }
    section.company th, section.company td{ font-size:14px; }
    section.company td br{ display:block; }

    .contact tr{ padding-bottom:10px;display:block; }
    .contact th{ font-size:16px; }
    .contact table th{ line-height:16px; }
    .contact table th .inner{ width:auto; }
    .contact table th .require{ margin-left:10px; }
    .contact form{ margin-bottom:10%; }

    .footer .wrap{ max-width:460px; }
    .footer .footer_copy{ width:65px; }

    .work_single .row_wrap{ padding-bottom:10%; }

    /* 問い合わせ */
    .wrap_form{ width:80%; }
    .contact .contact_bottom_part .contact_bottom{ width:80%; }
    .text_contact{ width:100%; }
    .textarea_text{ width:100%; }
    .contact .error_note{ padding-left:10px; }
    .contact .contact_info_wrapper .contact_number{ width:50%; }
    .contact .complete_note_sub{ text-align:left;font-size:14px;margin:20px auto;width:80%; }
    .contact table tr{ flex-direction:column; }
    .contact table td, .contact table th{ padding:10px 0; }
    .contact table td{ padding-left:0;display:block;width:100%; }
    .contact table td .form_title,.contact table .radio .text{ font-size:16px; }
    .contact table td .form_row.flex{ -webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start; }
    .contact table td .form_row.flex .form_title{ line-height:40px; }
}

@media screen and (max-width:575px){ 
    .sp_header .wrap{ width:90%; }
    .header .logo{ width:50%; }
    .header .hamburger-btn{ width:10%;max-width:44px; }
    .header .hamburger-btn.close{ width:8%;margin-right:3.5%; }
    .header .middle .pc{ display:none; }
    .header .middle .sp{ display:-webkit-box;display:-ms-flexbox;display:flex; }
    .header .middle a{ width:23%; }
    .header .middle .sp{ width:10%; }
    .header .middle .bt{ width:16%; }
    .header .bottom .wrap.pc{ display:none; }
    .header .bottom .wrap.sp{ display:-webkit-box;display:-ms-flexbox;display:flex; }
    .header .bottom a img{ height:auto;width:95%;padding-top:7%;padding-bottom:5%; }
    .hamburger_list.contact a,.hamburger_list.recruit a{ transform:translateX(-2%); }
    

    section.mv .wrap{ width:100%; }
    section.mv{ background-position:35% center; }
    section.mv .th_top{ top:15%;left:0; }
    
    section:not(.mv, .achievements){ padding:min(169px, 20vw) 0; } 
    section.achievements .cont_wrap, .each_page .cont_wrap{ padding:17% 0; }
    .footer .wrap{ max-width:460px; }
    .copyright{ width:70%; }

    /* お問い合わせ */
    .wrap_form{ width:95%; }
    .wrap_confirm{ width:90%; }
    .contact .contact_hr{ width:90%; }
    .contact .text_contact{ width:100%; }
    .contact .confirm_announce{ text-align:left;font-size:16px; }
    .contact form table{ margin:0 auto;margin-bottom:33px;width:100%; }
    .contact table td, .contact table th{ padding:10px 0; }
    .contact form table th{ margin-right:4px;font-size:14px; }
    .contact form table td{ display:block;padding-top:2px; }
    .contact form table td, form table p{ font-size:16px; }
    .contact form table td .form_row.name.comp{ margin-top:25px; }
    .contact form table .conf_text{ font-size:16px!important; }
    .contact form table .contact_email th { margin-top:7px; }
    .contact form table .contact_email td{ padding-top:2px; }
    .contact form table .radio.bottom th{ margin-top:30px; }
    .contact form table .radio.bottom td{ padding-top:2px; }
    .textarea_text{ width:100%; }
    .contact form .contact_caution { font-size:11px; }
    .contact form .bt_confirm{ font-size:14px;padding:10px 0;width:220px; }
    .contact table th .tag_require{ padding-bottom:0; }
    .contact form table .radio.bottom th{ margin-top:7px; }
    .contact .contact_bottom_part{ width:90%; }
    .contact .contact_bottom_part p{ font-size:17px; }
    .contact .complete_note{ font-size:16px;margin:90px auto 50px auto;width:80%; }
    .contact table .radio.bottom .subject_type{ margin-bottom:6%; }

    .complete_note_wrap .note{ font-size:18px; }
    .complete_note_wrap .note.sub{ display:block;width:90%;margin-left:auto;margin-right:auto; }
    .complete_note_wrap .note.sub br{ display:none; }
    .complete_note_wrap a{ font-size:14px; }
}

