@charset "UTF-8";

:root {
  --primary-color: #f08000;
  --secondary-color: #289300;
  --secondary-color2: #234794;
}
.inner{max-width:1120px;padding:80px 40px 0;box-sizing:border-box;margin:0 auto;text-align:left;}
.sec_box{margin:0 0 120px;position:relative;}
.sec_box::before{content:"";width:100%;height:400px;position:absolute;top:0;left:0;background:url(images/pattern1@2x.jpg)repeat;background-size:100px;z-index:-1;}
.base_txt{font-size:1.4em;line-height:2;font-weight:500;}
.comm_btn a{text-decoration:none;width:175px;height:49px;background:var(--primary-color);display:inline-block;border-radius:24.5px;text-align:center;transition:background 0.3s;}
.comm_btn.cc a{background:var(--secondary-color2);}
.comm_btn a span{font-size:14px;font-weight:600;color:#FFF;line-height:49px;position:relative;padding-left:20px;}
.comm_btn a span::before{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-50%) rotate(45deg);position:absolute;left:0;top:50%;}
.comm_sec_title{text-align:left;margin-bottom:28px;}
.comm_sec_title .jap{font-size:3.2em;font-weight:700;padding-bottom:22px;}
/*inpage_link調整*/
#inp_l1{padding-top:201px;margin-top:-201px;}
#inp_l2{padding-top:280px !important;;margin-top:-280px;}
#inp_l3{padding-top:280px !important;;margin-top:-280px;}
#mform_df1{padding-top:297px;margin-top:-297px;}
.re_top{bottom:88px!important;}

@media screen and (min-width:981px) {
  .comm_btn a:hover{background:#faa84b;}
  .comm_btn.cc a:hover{background:#3a5ec3;}
}
@media screen and (max-width:980px) {
  .inner{padding:80px 20px 0 40px;}
  .sec_box{margin:0 0 80px;}
}
@media screen and (max-width:767px) {
  .inner{padding:40px 20px 0;}
  .sec_box{margin:0 0 40px;}
  .comm_btn{text-align: center;}
  .comm_btn a{width:250px;}
  .comm_sec_title .jap{font-size:2.5em;padding-bottom:18px;}
  /*inpage_link調整*/
  #inp_l1{padding-top:128px;margin-top:-128px;}
  #inp_l2{padding-top:200px !important;;margin-top:-200px;}
  #inp_l3{padding-top:200px !important;;margin-top:-200px;}
  #mform_df1{padding-top:210px;margin-top:-210px;}
}
@media screen and (max-width:374px) {
  .comm_btn a{width:175px;}
  .comm_sec_title .jap{font-size:2.0em;padding-bottom:15px;}
}

/*-------------------------
__#box01_style
-------------------------*/
#recruit #box01{margin:20px 0;display:flex;text-align:left;}
#recruit #box01 .main_box_left{margin-left:calc((100% - 1040px)/2);width:488px;box-sizing:border-box;padding:50px 20px 0 0;}
#recruit #box01 .main_box_left .main_copy{font-size:4.2em;font-weight:700;line-height:1.5;color:var(--secondary-color);}
.color_o{color:var(--primary-color);}
#recruit #box01 .main_box_left .main_lead{margin:20px 0 40px;}
#recruit #box01 .main_box_right{width:calc(((100% - 1040px)/2) + 552px);position:relative;}
#recruit #box01 .main_box_right::after{content:"";display:block;width:428px;height:233px;background:url(images/main_eng.svg)no-repeat;background-size:contain;position:absolute;left:-334px;bottom:18px;}
#recruit #box01 .main_box_right .main_box_right_img{background:url(images/rec_img1@2x.jpg)no-repeat center;background-size:cover;height:572px;border-radius:20px 0 0 20px;}
#recruit #box01 .main_box_right a{display:block;text-decoration:none;width:158px;height:63px;position:fixed;right:0;bottom:20px;text-align:center;background:var(--primary-color);border-radius:31.5px 0 0 31.5px;z-index:1;transition:all 0.3s;}
#recruit #box01 .main_box_right a span{font-size:18px;font-weight:600;color:#FFF;line-height:60px;position:relative;padding-left:20px;}
#recruit #box01 .main_box_right a span::before{content:"";display:inline-block;width:7px;height:7px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-50%) rotate(45deg);position:absolute;left:0;top:50%;}
#recruit #box01 .main_box_right a.off{opacity:0;transform:translateX(100%);}

@media screen and (min-width:981px) {
  #recruit #box01 .main_box_right a:hover{background:#faa84b;}
}
@media screen and (max-width:1150px) {
  #recruit #box01 .main_box_left{margin-left:40px;}
  #recruit #box01 .main_box_left .main_copy{font-size:3.8em;}
  #recruit #box01 .main_box_right::after{width:320px;height:175px;left:-280px;}
}
@media screen and (max-width:980px) {
  #recruit #box01 .main_box_left .main_copy{font-size:3em;}
  #recruit #box01 .main_box_left .main_lead br{display:none;}
  #recruit #box01 .main_box_right .main_box_right_img{height:502px;}
}
@media screen and (max-width:767px) {
  #recruit #box01{display:block;margin:20px 0;}
  #recruit #box01 .main_box_left{margin:0 auto;width:100%;padding:0 20px 20px;}
  #recruit #box01 .main_box_left .main_copy{font-size:2.5em;}
  #recruit #box01 .main_box_left .main_lead{margin:20px 0;}
  #recruit #box01 .main_box_right{width:100%;margin:0 auto;}
  #recruit #box01 .main_box_right .main_box_right_img{width:80%;height:250px;margin:0 0 0 auto;}
  #recruit #box01 .main_box_right::after{width:220px;height:120px;left:20px;}
  #recruit #box01 .main_box_right a{width:150px;height:49px;background:var(--primary-color);border-radius:0 24.5px 24.5px 0;bottom:88px;right:auto;left:0;}
  #recruit #box01 .main_box_right a span{font-size:15px;line-height:49px;}
  #recruit #box01 .main_box_right a.off{opacity:0;transform:translateX(-100%);}
}
@media screen and (max-width:374px) {
  #recruit #box01 .main_box_left .main_copy{font-size:2.2em;}
}

/*-------------------------
__#box02_style
-------------------------*/
#recruit .sec_t_bott_txt_box{position:relative;}
#recruit .sec_t_bott_txt_box .sec_t_bott_txt{width:calc(100% - 340px);}
#recruit #box02 .sec_t_bott_txt_box .features_list{width:340px;box-sizing:border-box;padding-left:16px;position:absolute;right:0;bottom:0;}
#recruit #box02 .sec_t_bott_txt_box .features_list ul{display:flex;flex-wrap:wrap;}
#recruit #box02 .sec_t_bott_txt_box .features_list ul li{width:48%;height:36px;border-radius:18px;background-color:#FFF;box-sizing:border-box;border:1px solid var(--secondary-color);position:relative;margin-top:12px;}
#recruit #box02 .sec_t_bott_txt_box .features_list ul li:nth-of-type(2n){margin-left:4%;}
#recruit #box02 .sec_t_bott_txt_box .features_list ul li::before{content:"";display:block;width:18px;height:18px;background:url(images/check.svg)no-repeat;background-size:contain;position:absolute;top:50%;left:9px;transform:translateY(-50%);}
#recruit #box02 .sec_t_bott_txt_box .features_list .features{font-size:1.2em;font-weight:700;color:var(--secondary-color);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;text-align:center;padding-left:12px;}
/*ここから仕事内容詳細*/
#recruit .job_list{margin:40px 0 0;display:flex;flex-wrap:wrap;}
#recruit .job_list .job_box{width:48%;background:#FFF;border-radius:20px;box-shadow:0 0 15px rgba(0,0,0,0.15);position:relative;padding-bottom:90px;}
#recruit #box02 .job_list .job_box .img_box{width:100%;height:350px;border-radius:20px 20px 0 0;overflow:hidden;}
#recruit #box02 .job_list .job_box .img_box img{object-fit:cover;width:100%;height:100%;}
#recruit .job_list .job_box .job_title{display:block;box-sizing:border-box;border-bottom:2px dashed var(--primary-color);padding:15px 30px;}
#recruit .job_list .job_box .job_title span{font-size:1.8em;font-weight:700;color:var(--primary-color);}
#recruit .job_list .job_box .job_title span::before{content:"";display:inline-block;width:54px;height:54px;background:url(images/rec_ico1@2x.png)no-repeat;background-size:cover;vertical-align:middle;margin-right:18px;}
#recruit #box02 .job_list .job_box .job_detail_box{box-sizing:border-box;padding:20px 30px;}
#recruit #box02 .job_list .job_box .job_detail_box .job_detail_title{font-size:1.4em;font-weight:700;line-height:1.5;padding-bottom:12px;}
#recruit #box02 .job_list .job_box .job_box_list_wrap{display:flex;margin:20px 0;}
#recruit #box02 .job_list .job_box .job_box_list_wrap .job_box_list_box{width:46.6%;}
#recruit #box02 .job_list .job_box .job_box_list_wrap .job_box_list_box:last-child{margin-left:6.8%;}
#recruit #box02 .job_list .job_box .job_box_list_wrap .job_box_list_box .job_box_list_box_title{font-size:1.4em;font-weight:700;line-height:1.5;color:var(--primary-color);margin-bottom:10px;}
#recruit #box02 .job_list .job_box .job_box_list_wrap .job_box_list_box ul li{font-size:1.2em;font-weight:600;line-height:1.5;margin-top:5px;text-indent:-1em;padding-left:1em;}
#recruit #box02 .job_list .job_box .job_box_list_wrap .job_box_list_box ul li::before{content:"";width:0;display:inline-block;height:0;border-style:solid;border-top:3px solid transparent;border-bottom:3px solid transparent;border-left:6px solid var(--primary-color);border-right:0;margin-right:7px;}
#recruit #box02 .job_list .job_box .comm_btn{text-align:center;position:absolute;left:50%;bottom:40px;transform:translateX(-50%);}
/*ここから建築アシスタント用*/
#recruit #box02 .job_list .job_box:nth-of-type(2){margin-left:4%;}
#recruit .job_list .job_box:nth-of-type(2) .job_title{border-bottom:2px dashed var(--secondary-color2);}
#recruit .job_list .job_box:nth-of-type(2) .job_title span{color:var(--secondary-color2);}
#recruit .job_list .job_box:nth-of-type(2) .job_title span::before{background:url(images/rec_ico2@2x.png)no-repeat;background-size:cover;}
#recruit #box02 .job_list .job_box:nth-of-type(2) .job_box_list_wrap .job_box_list_box .job_box_list_box_title{color:var(--secondary-color2);}
#recruit #box02 .job_list .job_box:nth-of-type(2) .job_box_list_wrap .job_box_list_box ul li::before{border-left:6px solid var(--secondary-color2);}

@media screen and (max-width:980px) {
  #recruit .sec_t_bott_txt_box .sec_t_bott_txt br{display:none;}
  #recruit #box02 .job_list .job_box .img_box{height:250px;}
  #recruit .job_list .job_box .job_title{padding:15px 20px;}
  #recruit #box02 .job_list .job_box .job_detail_box{padding:20px;}
}
@media screen and (max-width:767px) {
  #recruit .sec_t_bott_txt_box .sec_t_bott_txt{width:100%;}
  #recruit #box02 .sec_t_bott_txt_box .features_list{width:100%;padding:12px 0 0;position:static;}
  /*ここから仕事内容詳細*/
  #recruit .job_list{margin:30px 0 0;display:block;}
  #recruit .job_list .job_box{width:100%;padding-bottom:20px;}
  #recruit #box02 .job_list .job_box .img_box{height:230px;}
  #recruit .job_list .job_box .job_title span{font-size:1.5em;}
  #recruit .job_list .job_box .job_title span::before{width:40px;height:40px;margin-right:10px;}
  #recruit #box02 .job_list .job_box .job_box_list_wrap{margin:20px 0 0;}
  #recruit #box02 .job_list .job_box .comm_btn{position:static;transform:translateX(0);}
  /*ここから建築アシスタント用*/
  #recruit #box02 .job_list .job_box:nth-of-type(2){margin-left:0;margin-top:20px;}
}
@media screen and (max-width:374px) {
  #recruit #box02 .sec_t_bott_txt_box .features_list ul li{width:49%;}
  #recruit #box02 .sec_t_bott_txt_box .features_list ul li:nth-of-type(2n){margin-left:2%;}
  #recruit #box02 .sec_t_bott_txt_box .features_list .features{font-size:1.1em;padding-left:18px;}
  #recruit #box02 .job_list .job_box .img_box{height:180px;}
}

/*-------------------------
__#box03_style
-------------------------*/
#recruit #box03 .sec_t_bott_txt_box .character_ill{position:absolute;right:0;bottom:0;}
#recruit #box03 .job_list .job_box{width:100%;padding-bottom:30px;}
/* カード全体のスタイル */
#recruit #box03 .job_list .job_box .job_card {box-sizing:border-box;padding:0 30px;}
#recruit #box03 .job_list .job_box .job_card .job_details {display:grid;grid-template-columns:1fr 1fr;gap:0 30px;}
#recruit #box03 .job_list .job_box .job_card .job_details .job_item{display:flex;align-items:baseline;padding:29px 0;border-bottom:1px solid #ddd;}
/*#recruit #box03 .job_list .job_box .job_card .job_details .job_item:last-child{border-bottom:0;}*/
#recruit #box03 .job_list .job_box .job_card .job_details .job_item.full_width{grid-column: 1 / -1;}
#recruit #box03 .job_list .job_box .job_card .job_details .job_item .job_label{width:63px;flex-shrink:0;font-weight:700;color:var(--primary-color);font-size:1.4em;}
#recruit #box03 .job_list .job_box .job_card .job_details .job_item .job_value{font-size:1.4em;line-height:1.6;font-weight:500;display:flex;align-items: center;word-break:break-all;}
#recruit #box03 .job_list .job_box .job_card .job_details .job_item .job_value::before {content:"▶";color:var(--primary-color);font-size:10px;margin-right:8px;display:inline-block;transform:scaleY(0.9);}
/*ここから建築アシスタント用*/
#recruit #box03 .job_list .job_box:nth-of-type(2){margin-top:30px;}
#recruit #box03 .job_list .job_box:nth-of-type(2) .job_card .job_details .job_item .job_label{color:var(--secondary-color2);}
#recruit #box03 .job_list .job_box:nth-of-type(2) .job_card .job_details .job_item .job_value::before{color:var(--secondary-color2);}

@media screen and (max-width:980px) {
  #recruit #box03 .job_list .job_box .job_card {padding:0 20px;}
}
@media (max-width: 767px) {
  #recruit #box03 .sec_t_bott_txt_box .character_ill{width:150px;top:-110px;bottom:auto;}
  #recruit #box03 .sec_t_bott_txt_box .character_ill img{width:100%;height:auto;}
  #recruit #box03 .job_list .job_box{padding-bottom:2px;}
  /* カード全体のスタイル */
  #recruit #box03 .job_list .job_box .job_card {padding:0 20px;}
  #recruit #box03 .job_list .job_box .job_card .job_details{grid-template-columns:1fr;gap:0;}
  #recruit #box03 .job_list .job_box .job_card .job_details .job_item{padding:18px 0;}
  #recruit #box03 .job_list .job_box .job_card .job_details .job_item:last-child{border-bottom:0;}
  #recruit #box03 .job_list .job_box .job_card .job_details .job_item .job_label {width:70px;}
}

/*-------------------------
__#box04_style
-------------------------*/
#recruit #box04{background:url(images/pattern2@2x.jpg)repeat;background-size:100px;}
#recruit #box04 .inner{padding:80px 40px 120px;}
#recruit #box04 .base_txt{padding-bottom:20px;}
.form_base {line-height:1.6;}
.form_base .form_meta{position:absolute!important;left:-9999px!important;top:-9999px!important;}
.form_base .err{color:#F23E16;display:block;width:100%;font-size:1.4em;padding-bottom:10px;}
/* --- テーブルレイアウト --- */
.custom_form_table{width:100%;border-collapse:collapse;margin-bottom:40px;}
.custom_form_table th{width:192px;padding:30px 0 20px;text-align:left;vertical-align:top;font-weight:700;font-size:1.4em;position:relative;}
.custom_form_table td{padding:20px 0 20px 20px;box-sizing:border-box;vertical-align:middle;width:calc(100% - 192px);}
/* --- 必須バッジ --- */
.badge_required{position:absolute;display:inline-block;background-color:var(--primary-color);color:#fff;font-size:12px;font-weight:700;padding:3px 15px;border-radius:12px;vertical-align:middle;right:0;top:32px;}
/* --- テキスト入力欄 --- */
.input_text {width:100%;max-width:500px;padding:16px 14px;border:1px solid transparent;border-radius:7px;font-size:16px;box-sizing:border-box;background-color:#fff;outline:none;transition:border-color 0.2s;}
.input_text.width100{max-width:100%;}
.input_text:focus,
.input_textarea:focus{border-color:#4caf50;outline:none;}
.input_text::placeholder,
.input_textarea::placeholder {color:#bbbbbb;}
.sub_input {margin-top:20px;}
/* 注記テキスト */
.form_note {font-size:12px;margin:12px 0 0 0;font-weight:500;}
/* --- テキストエリア --- */
.input_textarea {width:100%;max-width:100%;height:133px;padding:16px 14px;border:1px solid transparent;border-radius:7px;font-size:16px;box-sizing:border-box;resize:vertical;}
/* --- ラジオボタン & チェックボックス (カード型デザイン) --- */
.option_group {display:flex;flex-wrap:wrap;gap:20px;align-items:center;}
.choice_card {display:inline-flex;align-items:center;cursor:pointer;position:relative;}
.choice_card.simple_check{display:block;}
/* ネイティブ入力を非表示にしてカスタム生成 */
.choice_card input[type="radio"],
.choice_card input[type="checkbox"] {appearance:none;-webkit-appearance:none;margin:0;position:absolute;opacity:0;}
.choice_card .card_label {display:inline-flex;align-items:center;padding:13px 20px 13px 48px;border:none;border-radius:8px;background-color:#fff;font-size:14px;font-weight:500;position:relative;transition:all 0.2s;}
/* ラジオ/チェックボックスのカスタムアイコン（未選択時） */
.choice_card .card_label::before {content:"";position:absolute;left:12px;width:21px;height:21px;border:none;background-color: #ddd;}
/* ラジオボタンは丸 */
.choice_card input[type="radio"] + .card_label::before {border-radius:50%;}
/* チェックボックスは角丸 */
.choice_card input[type="checkbox"] + .card_label::before {border-radius:3.5px;}
/* --- 選択済み状態（画像通りの緑枠スタイル） --- */
.choice_card input:checked + .card_label {border-color:#4caf50;background-color:#ffffff;box-shadow:0 0 0 1px #4caf50;}
/* ラジオ選択時（緑の丸） */
.choice_card input[type="radio"]:checked + .card_label::before {border-color:#4caf50;background-color:#4caf50;box-shadow:inset 0 0 0 2px #dddddd;}
/* チェックボックス選択時（緑背景＋白チェックマーク） */
.choice_card input[type="checkbox"]:checked + .card_label::before {background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%23289300' stroke-width='4' fill='none'%3E%3Cpath d='M3 11l6 6L21 5'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;}
/* --- プライバシーポリシーエリア --- */
.privacy_container {margin-top:40px;text-align:center;}
.privacy_title {color:var(--primary-color);font-size:1.4em;font-weight:700;margin-bottom:20px;}
.privacy_box {background-color:#f0f0df;padding:18px 24px;border-radius:7px;border:1px solid #FFF;font-size:14px;font-weight:500;text-align:left;line-height:1.7;margin:0 auto 40px;}
.privacy_box a{color:var(--secondary-color);transition:color 0.3s;}
.privacy_agree {display:flex;justify-content:center;margin-top:15px;}
.fw_bold {font-weight:700;}
/* --- 送信ボタン --- */
.submit_wrap {text-align:center;margin-top:40px;}
.btn_submit {background-color:var(--primary-color);color:#ffffff;border:none;border-radius:30px;padding:16px 70px;font-size:1.8em;font-weight:700;cursor:pointer;transition:background 0.3s;}

@media screen and (min-width:981px) {
  .privacy_box a:hover{color:#70ce4d;text-decoration:none;}
  .btn_submit:hover{background:#faa84b;}
}
@media screen and (max-width:980px) {
  #recruit #box04 .inner{padding:80px 20px 80px 40px;}
}
@media screen and (max-width:767px) {
  #recruit #box04 .inner{padding:40px 20px;}
  .custom_form_table tr{display:block;border-top:1px solid #b3b3b3;}
  .custom_form_table th{width:100%;padding:20px 0;display:block;}
  .custom_form_table th br{display:none;}
  .custom_form_table td{padding:0 0 20px;width:100%;display:block;}
  /* --- 必須バッジ --- */
  .badge_required{top:20px;}
}
@media screen and (max-width:374px) {
  .btn_submit {padding:16px 40px;font-size:1.7em;}
}

/*-------------------------
__確認画面
-------------------------*/
#recruit_conf,
#recruit_rgst{background:url(images/pattern2@2x.jpg)repeat;background-size:100px;box-sizing:border-box;}
#recruit_conf .form_base{max-width:1120px;padding:40px 40px 120px;box-sizing:border-box;margin:0 auto;text-align:left;}
#recruit_conf #confirm table{padding-bottom:20px;}
#recruit_conf #confirm table,
#recruit_conf #confirm table tbody{width:100%;}
#recruit_conf #confirm table tr{width:100%;display:flex;}
#recruit_conf #confirm table tr th{width:192px;font-size:1.4em;font-weight:700;border-bottom:1px solid #b3b3b3;padding:20px 0;}
#recruit_conf #confirm table tr td{width:calc(100% - 192px);font-size:1.4em;font-weight:500;border-bottom:1px solid #b3b3b3;padding:20px 0 20px 20px;}

#recruit_conf .transmit{text-align:center;display:block;font-size:1.5em;}
#submit_btn{background-color:var(--primary-color);color:#ffffff;border:none;border-radius:30px;padding:16px 70px;font-size:1.8em;font-weight:700;cursor:pointer;transition:background 0.3s, opacity 0.2s;display:block;margin:30px auto;}
#return_btn{background-color:#333;color:#ffffff;border:none;border-radius:30px;padding:16px 40px;font-size:1.5em;font-weight:500;cursor:pointer;transition:background 0.3s, opacity 0.2s;display:block;margin:0 auto;}

@media screen and (min-width:981px) {
  #submit_btn:hover{background:#faa84b;}
  #return_btn:hover{background-color:#707070;}
}
@media screen and (max-width:980px) {
  #recruit_conf .form_base{padding:40px 20px 80px 40px;}
}
@media screen and (max-width:767px) {
  #recruit_conf .form_base{padding:40px 20px;}
  #recruit_conf #confirm table tr{display:block;border-top:1px solid #b3b3b3;}
  #recruit_conf #confirm table tr th{width:100%;border-bottom:none;padding:20px 0 10px;display:block;}
  #recruit_conf #confirm table tr td{width:100%;border-bottom:none;padding:0 0 20px;}
}
@media screen and (max-width:374px) {
  #submit_btn{padding:16px 40px;font-size:1.7em;}
  #return_btn{padding:16px 30px;font-size:1.4em;}
}

/*-------------------------
__完了画面
-------------------------*/
#recruit_rgst{box-sizing:border-box;padding:80px 40px;}
#recruit_rgst .form_base dl dt{font-size:1.8em;line-height:1.5;font-weight:600;}
#recruit_rgst .form_base dl dd{font-size:1.4em;line-height:1.5;font-weight:500;padding:20px 0 40px;}
#recruit_rgst .comm_btn a span{padding-left:0;}
#recruit_rgst .comm_btn a span::before{display:none;}

@media screen and (max-width:767px) {
  #recruit_rgst{padding:40px 20px;}
}