:root{ 
    --color-main:#0f5f9b;
    --color-sub:#fff;
    --color-sub2:#f4f4f4;
    --color-sub3:rgb(207, 220, 232);
    --color-text-main:#0f5f9b;
    --color-text-inverse:#fff;
}

.bg_color_main{ background-color:var(--color-main); }
.bg_color_sub{ background-color:var(--color-sub); }
.bg_color_sub2{ background-color:var(--color-sub2); }
.bg_color_sub3{ background-color:var(--color-sub3); }
.text_inverse{ color:var(--color-text-inverse); }
.middle_font{ font-size:1rem; }
.large_th{ font-size:clamp(2.2rem,5.5vw,3rem); }
.middle_th{ font-size:clamp(1rem,3.7vw,2.5rem); }
.large_copy{ font-size:clamp(1rem, 4.8vw, 2rem); }
.middle_copy{ font-size:clamp(1rem, 3.4vw, 1.5rem); }
.middle_th .sub{ font-size:0.8em; }
.text_center{ text-align:center; }
.bold{ font-weight:bold; }
.fadeIn{ opacity:0;transition:opacity .8s ease,transform .8s ease;transform:translateY(30px); }
.fadeIn.active{ opacity:1;transform:translateY(0); }
.fadeInOpacity{ opacity:0;transition:opacity 2.4s ease; }
.fadeInOpacity.active{ opacity:1; }

section{ position:relative;z-index:100;padding:min(170px, 11vw) 0; }
.common_box{ border-radius:20px;overflow:hidden; }
.common_box_inner{ padding:5% 8%; }
.common_box_header{ padding:3%; }
.box_bt{ padding:0.5% 2%;border-radius:6px; }
.box_bt.bg_color_sub a{ color:var(--color-main); }
.box_bt.bg_color_sub.outline{ border:1px solid var(--color-main); }

.header{ position:fixed;width:100%;top:0;left:0;padding:min(50px, 1%) 0;z-index:700; }
.header.on{ background-color:rgba(0, 0, 0, 0.2);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:all .3s; }
.header .nav_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;width:52%;min-width:390px;-ms-flex-negative:0;flex-shrink:0; }
.nav a{ color:#fff;font-size:clamp(9px, 1.5vw, 120%); }
.header .bt_header_contact.sp{ display:none; }
.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:1290px; }
.header .wrap > *{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.header .logo{ width:15.3%;max-width:128px;margin-right:auto;-ms-flex-negative:1;flex-shrink:1; }

.header .hamburger-btn{ display:none;position:relative;margin-left:3%;margin-right:1.5%;z-index:600;cursor:pointer;width:10%;max-width:70px; }
.header .hamburger-btn.close{ position:absolute;right:0;top:2%; }
.hamburger{ display:none;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:var(--color-main); }
.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; }
.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 .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{ margin:0; }
.hamburger_list.contact a{ width:60%;max-width:180px; }
.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); }

.bt_round{ width:250px;display:block; }
.message_copy{ width:max(400px, 60%);margin-bottom:5%; }


/* トップページ */
.top_page{ position:relative; }
.top_page:after{ content:'';background:linear-gradient(180deg,#0f5f9b 0%,#cfdfeb 100%);width:100%;position:absolute;top:0;left:0;height:35%; }
.sec_message{ background:url(../img/bg_home_message.svg) no-repeat center 78%/contain;width:100%;/* aspect-ratio:4.4; */padding-bottom:min(190px, 10%); }
.fv{ max-width:1290px;margin-bottom:min(0px, 0%);/* height:100vh; */display:flex;flex-direction:column;padding-top:min(170px, 18vh);/* max-height:390px; */}
.fv_copy{ display:flex;justify-content:space-between;margin-bottom:2%; }
.fv_main_copy{ width:70%; }
.fv_copy_text{ width:28%; }
.scroll_text{ width:50px;margin:0 auto;margin-top:2%;animation:scroll_text_blink 2.4s ease-in-out infinite; }
@keyframes scroll_text_blink{ 
    0%{ opacity:1; }
    50%{ opacity:0.2; }
    100%{ opacity:1; }
}

.sec_title, .page_title{ height:clamp(80px, 6vw, 110px); }
.sec_title img, .page_title img{ width:auto;height:100%; }

.message_text{ margin-bottom:20%;font-size:1.2rem;letter-spacing:1px; }
.common_text{ line-height:205%; }
.sec_title{ margin-bottom:min(70px, 5vw); }
.sec_service{ border-radius:40px;z-index:300; }
.sec_service_card_wrap{ display:flex;justify-content:space-between; }
.sec_service_card_col{ width:47%; }
.sec_service_card{ overflow:hidden;border-radius:20px;margin-bottom:5%; }

.th_service_card{ width:62%;position:absolute;top:5%;left:5%; }
.sec_service_card .img_wrap img{ vertical-align:middle; }
.sec_service_card_text{ background-color:var(--color-sub);padding:5%;text-align:justify; }
.link_module{ display:flex;align-items:center;width:270px;justify-content:space-between;padding:4% 0;margin-left:auto; }
.link_module .arrow_wrap img{ transition:.3s; }
.link_module:hover .arrow_wrap img{ transform:translateX(5px); }
.link_service_detail{ border-bottom:1px solid #fff; }
.oink_module .link_service_detail{ border-bottom:1px solid var(--color-main); }
.link_module .arrow_wrap{ background-color:var(--color-sub);width:55px;padding:7px 15px;box-sizing:border-box;display:flex;border-radius:min(7px, 0.8vw); }
.link_module.inverse{ border-bottom:1px solid var(--color-main); }
.link_module.inverse .arrow_wrap{ background-color:var(--color-main); }

.home_sec_cont{ width:50%;margin-left:auto; }

.sec_recruit{ z-index:200;position:relative;background-color:var(--color-sub); }
.sec_recruit:before{ content:'';background-color:var(--color-sub);position:absolute;top:0px;left:0;height:100px;transform:translateY(-100%);width:100%; }
.home_recruit_img{ position:absolute;top:min(130px, 8vw);left:0;width:40vw;border-top-right-radius:20px;border-bottom-right-radius:20px;overflow:hidden;max-height:650px; }
.home_recruit_img img{ width:100%;height:100%;object-fit:cover; }
.home_recruit_img.pc{ display:block; }
.home_recruit_img.sp{ display:none; }
.sec_recruit_copy{ font-size:clamp(1.5rem, 3.4vw, 2.5rem);font-weight:bold;margin-bottom:8%; }
.sec_recruit .link_module{ margin-left:0; }
.sec_recruit_text{ margin-bottom:11%; }

.sec_company{ z-index:300;border-top-left-radius:40px;border-top-right-radius:40px; }
.sec_company .sec_title{ text-align:center;margin-bottom:min(30px, 2vw); }
.sec_company .common_box{ padding-top:5%; }
.sec_company .common_box_inner{ padding-bottom:8%; }
.common_table{ width:100%;border-collapse:collapse; } 
.common_table th, .common_table td{ border-bottom:1px solid var(--color-main);padding:2% 0;text-align:left;padding:2.7% 1%; }
.common_table th{ min-width:200px;font-weight:normal; }
.common_table td span{ display:inline-block; }

.common_contact{ padding:min(100px, 5vw); }
.sec_contact_flex{ display:flex;justify-content:space-between;align-items:flex-end; }
.sec_contact_copy{ text-align:justify; }
.sec_contact_th_wrap{ width:48%; }
.sec_contact_info_wrap{ width:48%; }
.sec_contact_form_th{ font-size:min(1.4rem, 3.4vw);font-weight:bold; }
.sec_contact_form_link{ width:100%;margin-bottom:5%;border-radius:min(20px, 1.9vw);padding:5% 6%; }
.sec_contact_tel_wrap{ border-top:1px solid #fff;border-bottom:1px solid #fff;display:flex;justify-content:center;gap:11%;padding:3% 0;align-items:center; }
.sec_contact_tel_text{ width:40%; }

.footer{ position:relative;padding:62.7px 0; }
.footer_lists{ display:flex;justify-content:flex-end;gap:3%;align-items:center; }
.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;margin-top:19px;margin-bottom:20px;display:block; }

/* 下層ページタイトル */
.page_header{ background:url(../img/bg_page_header.webp) no-repeat center center/cover;padding:max(90px, 7%) 0 3% 0;margin-bottom:5%; }

/* サービス */
.each_service{ margin-bottom:5%; }
.each_service_th{ border-bottom:1px solid var(--color-main);margin-bottom:1.3%; }
.service_description{ margin-bottom:7%; }
.service_description, .detail_block_description{ line-height:180%;text-align:justify; }
.service_detail_block, .service_points_wrap{ border:2px solid var(--color-main);margin-bottom:5%;border-radius:20px;overflow:hidden; }
.detail_block_img, .detail_block_footer_row_th{ width:45%; }
.detail_block_img{ object-fit:cover; }
.detail_block_description_wrap{ padding:3%; }
.detail_block_header_row, .detail_block_footer_row{ display:flex; }
.detail_block_footer_row{ padding:3% 0; }
.detail_block_title{ border-bottom:1px solid var(--color-main);padding-bottom:1%;margin-bottom:3%; }
.detail_block_footer_row_th{ border-right:1px solid #fff;display:flex; }
.row_th_security{ padding:0 7%; }
.row_th_logistics{ padding:0 4%; }
.detail_block_footer_lists{ display:flex;flex-wrap:wrap;padding:0 6%;box-sizing:border-box;width:55%;align-items:center; }
.detail_block_footer_lists .detail_list{ margin-right:50px;font-size:clamp(1rem, 4.3vw, 1.4rem); }
.service_hr{ width:100%;background-color:var(--color-main);margin:8% 0;height:1px;color:transparent; }
.service_points_th{ padding:max(27px, 3%) 0;border-bottom:2px solid var(--color-main); }
.service_points_th span{ display:inline-block; }
.service_points_lists{ display:flex;/* gap:0.4%; */justify-content:space-between; }
.service_points_list{ position:relative;flex-grow:0;border-left:1px solid var(--color-main);border-right:1px solid var(--color-main);width:33.1%; }
.point_num{ position:absolute;transform:translate(-50%, -50%);top:0;left:50%;width:min(72px, 7vw); }
.service_point_th{ font-size:1.3rem;display:block;font-weight:bold;padding:13% 0 4%; }
.service_points_list_text{ padding:0 8% 5% 11%;text-align:justify; }
.service_points_list:nth-of-type(1){ border-left:none; }
.service_points_list:nth-of-type(3){ border-right:none; }

/* 採用ページ */
.recruit_main_copy{ margin-bottom:7%; }
.recruit_main_copy span{ display:inline-block; }
.recruit_sub_copy{ line-height:180%; }
.recruit_sub_copy span{ display:inline-block; }
.recruit_job .common_box{ margin-bottom:10%; }

/* お問い合わせページ */
.contact_page .page_header{ margin-bottom:0; }

/* フォオームリセット */
.text_contact{ -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;padding:0.4em 0.8em;width:100%;box-sizing:border-box;min-height:40px; }
.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 { border:1px solid rgba(0, 0, 0, 0.32);box-shadow:none;outline:none; }
.contact form{ width:95%;max-width:685px;margin:0 auto;margin-bottom:160px; }
.wrap_confirm{ width:70%;max-width:485px;margin:0 auto; }
.contact{ overflow:hidden; }
.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 { margin-top:6%; }
.contact  table{ width:100%;margin-bottom:30px;word-break:break-all;border-collapse:collapse; }
.contact table{ margin-bottom:9%; }
.contact table tr{ border:none; }
.contact table td .form_row{ -webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.contact table td,.contact table th{ padding:30px 0; }
.contact table th{ width:44px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column; }
.contact table th .tag_require{ display:block;width:35px;padding:10px 0; }
.contact table td, form table p{ font-size:18px; }
.contact table td.td_name .form_row{ margin-bottom:15px; }
.contact table td.td_name .form_row:last-of-type{ margin-bottom:0; }
.contact table td .form_row.flex{ display:-webkit-box;display:-ms-flexbox;display:flex; }
.contact table td .form_row.name_kana{ border-bottom:1px solid #ccc;padding-bottom:20px; }
.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;-ms-flex-negative:0;flex-shrink:0; }
.contact table td.radio_cont_wrap p{ display:inline; }
.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 .radio.bottom .form_title{ line-height:40px; }
.contact table .radio.bottom .radio_cont_wrap{ margin-top:3%; }
.contact table .radio.bottom .subject_type{ display:inline-block;margin-bottom:2%; }
.contact table .radio.bottom .radio_contact + span { margin-right:46px;margin-bottom:10px; }
.contact table .sub{ font-size:12px; }
.contact table .privacy .checkbox_privacy{ display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.contact table .privacy .checkbox_contact{ margin-right:8px;vertical-align:middle; }
.contact table .privacy .text{ font-size:17px;vertical-align:middle; }
.contact table .privacy .text a{ color:var(--color-main);text-decoration:underline; }
.contact table .subject_row .radio_cont_wrap{ display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center; }
.contact table .subject_row .subject_type{ margin-right:40px; }
.contact table .subject_row .subject_type:last-child{ margin-right:0; }
.contact table .subject_row .radio_contact{ margin-right:6px;vertical-align:middle; }
.contact table .subject_row .text{ font-size:17px;vertical-align:middle; }
.contact table td .form_row.flex{ max-width:100%;box-sizing:border-box; }
.contact table td .form_row.flex .form_title{ padding-right:16px;box-sizing:border-box; }
.contact .form_title .required{ display:inline-block;margin-left:8px;color:#b50009;font-size:11px;font-weight:bold;vertical-align:middle; }
.contact form.confirm .form_title .required{ display:none; }
.contact table td .form_row.flex.textarea{ -webkit-box-align:start;-ms-flex-align:start;align-items:flex-start; }
.contact table td .form_row.flex .text_contact,.contact table td .form_row.flex .textarea_text{ -webkit-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;max-width:100%; }
.contact table td .form_row.flex.textarea .confirm_note.type{ margin-top:0; }
.contact form input[type="submit"]{ -webkit-appearance:none;appearance:none;-webkit-transition:-webkit-filter .3s, box-shadow .3s, -webkit-transform .3s;transition:filter .3s, box-shadow .3s, transform .3s;transition:filter .3s, box-shadow .3s, transform .3s, -webkit-transform .3s, -webkit-filter .3s; }
.contact form input[type="submit"].bt_form{ font-size:15px;font-weight:bold;background-color:var(--color-main);border:2px solid var(--color-main);color:var(--color-text-inverse);padding:20px 30px;border-radius:999px;display:block;margin:0 auto;cursor:pointer;letter-spacing:3px;width:100%;box-shadow:0 10px 24px -10px rgba(15, 95, 155, 0.55); }
.contact form input[type="submit"].bt_form:hover{ -webkit-filter:brightness(0.92);filter:brightness(0.92);box-shadow:0 16px 28px -12px rgba(15, 95, 155, 0.6);-webkit-transform:translateY(-2px);transform:translateY(-2px); }
.contact form input[type="submit"].bt_form:active{ -webkit-transform:translateY(0);transform:translateY(0);box-shadow:0 6px 14px -8px rgba(15, 95, 155, 0.5); }
.contact form input[type="submit"].bt_form:disabled{ opacity:.5;cursor:not-allowed;box-shadow:none; }
.contact form input[type="submit"].bt_next,.contact form input[type="submit"].bt_send{ text-align:left;position:relative;width:100%;text-align:center; }
.contact .bt_wrap{ position:relative;width:290px;max-width:100%;display:block;margin-left:auto;margin-right:auto; }
.contact .bt_wrap.next:after{ content:'';width:9px;height:9px;border-top:2px solid var(--color-text-inverse);border-right:2px solid var(--color-text-inverse);position:absolute;right:32px;top:50%;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);-webkit-transition:right .3s;transition:right .3s;pointer-events:none; }
.contact .bt_wrap.next:hover:after{ right:26px; }
.contact .bt_wrap.back{ margin-bottom:20px; }
.contact .bt_wrap.back input[type="submit"].bt_form{ background-color:var(--color-sub);color:var(--color-main);box-shadow:none; }
.contact .bt_wrap.back input[type="submit"].bt_form:hover{ background-color:var(--color-sub2);color:var(--color-main); }
.contact .bt_wrap.back:after{ content:'';width:9px;height:9px;border-bottom:2px solid var(--color-main);border-left:2px solid var(--color-main);position:absolute;left:32px;top:50%;-webkit-transform:translateY(-50%) rotate(45deg);transform:translateY(-50%) rotate(45deg);-webkit-transition:left .3s;transition:left .3s;pointer-events:none; }
.contact .bt_wrap.back:hover:after{ left:26px; }
.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:29px;position:relative; }
.errors span:before{ content:'※';position:absolute;left:11px;top:3px; }
.contact form.confirm table th{ width:46px; }
.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; }
.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:var(--color-main);text-decoration:underline; }

/* プライバシーポリシー */
.privacy_page section{ padding:5px; }
.privacy_page .privacy_content{ color:#333;font-size:16px;line-height:1.9; }
.privacy_page .privacy_title{ margin:0 0 40px;font-size:32px;font-weight:700;line-height:1.4;text-align:center;color:var(--color-sub); }
.privacy_page .privacy_lead{ margin:0 0 40px; }
.privacy_page .privacy_section{ margin-top:40px; }
.privacy_page .privacy_section_title{ margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid #ccc;font-size:22px;font-weight:700;line-height:1.5; }
.privacy_page .privacy_text{ margin:0; }
.privacy_page .privacy_list{ margin:16px 0 0;padding-left:1.5em; }
.privacy_page .privacy_list_item{ margin-bottom:6px; }
.privacy_page .privacy_contact{ margin-top:16px;padding:24px;background-color:#f7f7f7; }
.privacy_page .privacy_contact_text{ margin:0; }
.privacy_page .privacy_date{ margin:40px 0 0;text-align:right; }

@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% 0;padding-left:4%; }
    .header .nav_wrap,.header .icon_wrap{ display:none; }
    .header .logo{ width:30%; }
    .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; }
    .hamburger{ display:block; }
    .header .bt_header_contact.sp{ display:block;width:24%;margin-left:auto; }

    .footer{ padding:8% 0; }
    .footer .wrap{ max-width:460px; }
    .footer .footer_copy{ width:65px; }
    .footer_lists{ flex-wrap:wrap;gap:10%;justify-content:center; }
    .footer_list{ margin-bottom:5%; }

    .page_header{ padding:22% 0 10% 0; }
    .sec_service_card_wrap{ flex-direction:column; }
    .sec_service_card_col{ width:100%;max-width:390px;margin-left:auto;margin-right:auto;margin-bottom:14%; }
    .home_sec_cont{ width:100%; }
    .home_recruit_img.pc{ display:none; }

    /* 共通 問合せセクション */
    .common_contact{ padding:min(83px, 16vw)  0; }
    .sec_contact_flex{ flex-direction:column; }
    .sec_contact_th_wrap, .sec_contact_info_wrap{ width:100%; }
    .sec_contact_th_wrap{ margin-bottom:5%; }

    /* 私たちの仕事ページ */
    .detail_block_header_row, .detail_block_footer_row{ flex-direction:column; }
    .detail_block_img, .detail_block_footer_row_th{ width:100%; }
    .detail_block_footer_row_th{ border-right:none;padding:5% 18% 0%;margin-bottom:4%;position:relative; }
    .detail_block_footer_row_th:after{ content:'';position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);width:100%;background-color:#fff;height:1px; }
    .detail_block_footer_row{ padding:3% 7% 5%; }
    .detail_block_footer_lists{ width:100%;padding-top:4%;padding-left:0;padding-right:0; }
    
    .service_point_th{ padding:17% 0 5%; }
    
   
    /* 問い合わせ */
    .wrap_form{ width:80%; }
    .contact .contact_bottom_part .contact_bottom{ width:80%; }
    .text_contact{ width:90%; }
    .textarea_text{ width:90%; }
    .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 td .form_title,.contact table .radio .text{ font-size:16px; }
    .contact table td .form_row.flex,.contact form.confirm .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{ min-width:0;padding-right:0;line-height:2;margin-bottom:4px; }
    .contact table td .form_row.flex .text_contact,.contact table td .form_row.flex .textarea_text{ -webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto; }
    .contact table .subject_row .subject_type{ margin-right:24px; }

    .privacy_page .privacy_content{ font-size:15px;line-height:1.8; }
    .privacy_page .privacy_title{ margin-bottom:30px;font-size:min(35px, 7vw); }
    .privacy_page .privacy_section{ margin-top:32px; }
    .privacy_page .privacy_section_title{ font-size:19px; }
    .privacy_page .privacy_contact{ padding:20px; }
}

@media screen and (max-width:575px){ 
    .middle_th{ font-size:clamp(1.6rem,4.6vw,2.5rem); }

    .sp_header .wrap{ width:90%; }
    .header .logo{ width:23%; }
    .header .hamburger-btn{ width:10%;max-width:44px; }
    .header .hamburger-btn.close{ width:12%;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%); }
    .header .bt_header_contact.sp{ width:34%; }
    .header .hamburger-btn{ width:13%;max-width:none; }

    .th_section{ margin-bottom:10%; }
    .footer{ padding:17% 0 8% 0; }
    .footer .wrap{ max-width:460px; }
    .footer .privacy img{ width:70px; }
    .footer .footer_copy{ width:65px; }

  
    section{ padding:15vw 0; }
    .sec_title{ margin-bottom:min(70px, 11vw); }

    /* トップページ */
    .top_page:after{ height:28%; }
    .fv_copy{ flex-direction:column;margin-bottom:8%; }
    .fv_main_copy{ width:91%;margin-bottom:4%; }
    .fv_copy_text{ width:72%; }

    .message_copy{ width:90%;margin-bottom:11%; }
    .message_text{ font-size:1rem;line-height:170%;text-align:justify; }
    .message_text .br_pc{ display:none; }
    .sec_service_title{ margin-bottom:0; }
    .sec_service_card_col{ margin-bottom:0; }
    .sec_service_card_col:first-of-type{ margin-bottom:11%; }
    .sec_recruit_copy{ font-size:1.6rem; }
    .sec_recruit_text{ margin-bottom:5%; }

    .sec_message{ background-position:center 93%; }
    .sec_service_card_col{ padding-top:14%; }
    .common_table tr{ display:flex;flex-direction:column;border-bottom:1px solid var(--color-main);padding:4% 0; }
    .common_table th, .common_table td{ border-bottom:none; }
    .common_table th{ padding-bottom:0;font-weight:bold; }

    /* 共通 お問合せセクション */
    .sec_contact_copy br{ display:none; }
    .sec_contact_th_wrap{ margin-bottom:9%; }
    .sec_contact_form_th{ font-size:min(2rem, 3vw); }
    .sec_contact_form_link{ margin-bottom:10%; }
    .sec_contact_form_th{ font-size:1.1rem; }
    .sec_contact_tel_wrap{ flex-direction:column;padding:7% 0 5% 0; }
    .sec_contact_tel_icon{ margin-bottom:5%; }
    .sec_contact_tel_text{ width:70%; }
    
    /* 下層ページ共通 */
    .page_title{ height:clamp(52px, 6vw, 110px); }
    .each_service{ margin-bottom:15%; }
    .each_service_th{ margin-bottom:3%;padding-bottom:1%; }
    .detail_block_footer_lists{ padding-top:8%; }
    .detail_block_footer_lists .detail_list{ margin-right:20px; }
    .service_hr{ margin:12% 0; }

    /* 私たちの仕事ページ */
    .service_points_lists{ flex-direction:column; }
    .service_points_list{ width:100%;border:none;margin-bottom:clamp(20px, 8%, 37px); }
    .service_points_list:last-of-type{ margin-bottom:4%; }
    .point_num{ width:min(60px, 14vw); }
    .service_points_th{ padding:max(35px, 3%) 0; }
    .service_points_th .br_sp{ display:block; }
    .service_point_th{ padding:min(42px, 11%) 0 3%; }

    /* 採用ページ */
    .recruit_job .common_box_inner{ padding-bottom:10%; }
    .recruit_job .common_box_header{ font-size:clamp(1.6rem,5.5vw,3rem);padding:3% 8%; }

    /* お問い合わせ */
    .contact_page .page_title{ height:min(110px, 10.8vw); }
    .wrap_form{ width:95%; }
    .wrap_confirm{ width:90%; }
    .contact .contact_hr{ width:90%; }
    .contact .text_contact{ width:100%; }
    .contact form{ margin-bottom:30%; }
    .contact form table{ margin:0 auto;margin-bottom:33px;width:100%; }
    .contact table .subject_row .radio_contact{ margin-right:0; }
    .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 table .subject_row .subject_type{ margin-bottom:5px; }
    .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 .bt_wrap{ width:240px; }
    .contact form input[type="submit"].bt_form{ font-size:14px;padding:16px 24px;letter-spacing:2px; }
    .contact .bt_wrap.next:after{ right:24px; }
    .contact .bt_wrap.next:hover:after{ right:20px; }
    .contact .bt_wrap.back:after{ left:24px; }
    .contact .bt_wrap.back:hover:after{ left:20px; }
    .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%; }
}

