/* ASTER Recruit custom CSS: add overrides here. */
#header_slider_wrap #header_slider_content{top:auto!important;bottom:100px!important;transform:translateX(-50%)!important}
@media(min-width:1201px){
#main_content,.sp_content_inner,.cb_case_study_slider_wrap,.cb_news_list .news_list,.cb_free_space:not(.wide_content) .post_content,#page_contents,#archive_case_study,#service_icon_list_type1,#service_icon_list_type2,#service_list_type1 .content,#service_list_type2,#archive_faq,#archive_news,.category_sort_button_wrap,.blog_list,body.home .blog_list,#bread_crumb ul,#footer_button_area,#footer_catch p,#footer_inner{width:1150px;max-width:1150px}
#service_category_list .desc,#archive_desc,#page_header .desc,#case_study_category_list_slider_wrap{max-width:1150px}
}

/* コンテンツ見出し ------------------------------------------------ */
#content_builder .design_header{width:100%;max-width:1150px;margin:0 auto 55px;text-align:center}
#content_builder .design_header .catch{font-size:52px!important;line-height:1.3;letter-spacing:.08em;color:#3b54a7;font-weight:600}
#content_builder .design_header .desc{margin:15px auto 0}
#content_builder .design_header .desc p{font-size:18px;line-height:2.4}
#content_builder .design_header .desc:after{content:"";display:block;width:50px;height:2px;background:#3b54a7;margin:30px auto 0}
@media(max-width:767px){
#content_builder .design_header{width:auto;margin:0 20px 35px;padding:0}
#content_builder .design_header .catch{font-size:36px!important}
#content_builder .design_header .desc{margin-top:12px}
#content_builder .design_header .desc p{font-size:16px;line-height:2}
#content_builder .design_header .desc:after{width:40px;margin-top:22px}
}

/* MESSAGE ------------------------------------------------ */
.recruit-message{text-align:center;max-width:780px;margin:0 auto}
.recruit-message p{margin:0 0 24px!important;font-size:17px;line-height:2.2;letter-spacing:.06em}
.recruit-message p:last-child{margin-bottom:0!important}
@media(max-width:767px){
.recruit-message{padding:0 10px}
.recruit-message p{font-size:14px;line-height:2;letter-spacing:.03em;margin-bottom:20px!important}
.recruit-message .pc-only{display:none}
}

/* OUR WORK ------------------------------------------------ */
.recruit-work{width:100%;margin:0 auto}
.recruit-work-lead{text-align:center;font-size:16px;line-height:2;margin:0 0 55px}
.recruit-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:50px 32px}
.recruit-work-card{min-width:0}
.recruit-work-image{width:100%;aspect-ratio:16/10;overflow:hidden;background:#e9edef}
.recruit-work-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.recruit-work-card:hover .recruit-work-image img{transform:scale(1.04)}
.recruit-work-body{padding:22px 0 0}
.recruit-work-num{display:block;margin-bottom:12px;font-size:11px;letter-spacing:.13em;color:#80919a}
.recruit-work-body h3{margin:0 0 12px!important;padding:0!important;font-size:22px!important;font-weight:600;line-height:1.5}
.recruit-work-body p{margin:0!important;font-size:14px;line-height:2;color:#555}
@media(max-width:767px){
.recruit-work-lead{font-size:14px;line-height:1.9;margin-bottom:35px}
.recruit-work-lead .pc-only{display:none}
.recruit-work-grid{grid-template-columns:1fr;gap:36px}
.recruit-work-body{padding-top:16px}
.recruit-work-body h3{font-size:19px!important;margin-bottom:8px!important}
.recruit-work-body p{font-size:13px;line-height:1.9}
}

/* FAQ ------------------------------------------------ */
.recruit-faq{width:100%;max-width:1150px;margin:0 auto}
.recruit-faq *{box-sizing:border-box}
.recruit-faq-chat{display:grid;grid-template-columns:40% minmax(0,1fr);gap:40px;align-items:start;width:100%}
.recruit-faq-intro{margin:0;padding:35px;background:#eef2fb;border-radius:16px}
.recruit-faq-label{display:block;margin-bottom:12px;font-size:12px;letter-spacing:.12em;color:#3b54a7}
.recruit-faq-intro h3{margin:0 0 12px!important;padding:0!important;font-size:26px!important;line-height:1.5!important}
.recruit-faq-intro p{margin:0!important;font-size:15px;line-height:1.9;color:#444}
.recruit-faq-main{width:100%;min-width:0}
.recruit-faq-bubble{position:relative;display:table;max-width:100%;padding:18px 24px;background:#eef2fb;border-radius:6px 18px 18px 18px;font-size:15px;line-height:1.9}
.recruit-faq-options{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;width:100%!important;max-width:none!important;margin:28px 0 0!important;padding:0!important;float:none!important}
.recruit-faq-option{display:block!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:0!important;float:none!important}
.recruit-faq-option button{display:flex!important;align-items:center;justify-content:center;width:100%!important;max-width:none!important;min-height:65px!important;margin:0!important;padding:12px 16px!important;background:#fff!important;border:1px solid #cdd9dd!important;border-radius:10px!important;color:#3b54a7!important;font-size:14px!important;line-height:1.6!important;text-align:center!important;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.recruit-faq-option button:hover,.recruit-faq-option button.is-active{background:#3b54a7!important;color:#fff!important;border-color:#3b54a7!important}
.recruit-faq-answer{position:relative;display:block;width:100%;max-width:100%;margin:24px 0 0!important;padding:18px 24px;background:#eef2fb;border-radius:6px 18px 18px 18px;font-size:14px;line-height:2;white-space:pre-line;animation:recruitFaqIn .3s ease}
.recruit-faq-answer[hidden]{display:none!important}
.recruit-faq-bubble{background:transparent;padding:0;border-radius:0;color:#3b54a7;font-weight:600}
.recruit-faq-answer{background:#fff;border-radius:12px;color:#ea64a0}
@keyframes recruitFaqIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:767px){
.recruit-faq-chat{grid-template-columns:1fr;gap:25px}
.recruit-faq-intro{padding:22px;border-radius:12px}
.recruit-faq-label{font-size:11px}
.recruit-faq-intro h3{font-size:21px!important}
.recruit-faq-intro p{font-size:13px}
.recruit-faq-bubble{padding:15px;font-size:13px}
.recruit-faq-options{grid-template-columns:1fr!important;gap:10px!important;margin-top:22px!important}
.recruit-faq-option button{min-height:55px!important;font-size:13px!important}
.recruit-faq-answer{padding:15px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){.recruit-faq-answer{animation:none}}
#faq .recruit-faq p:empty,#faq .recruit-faq-chat>p,#faq .recruit-faq-main>p,#faq .recruit-faq-options>p{display:none!important}

/* ENTRY ------------------------------------------------ */
.recruit-entry{width:100%;max-width:1150px;margin:0 auto}
.recruit-entry *{box-sizing:border-box}
.recruit-entry-lead{text-align:center;font-size:16px;line-height:2;margin:0 0 45px!important}
.recruit-entry-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.recruit-entry-card{overflow:hidden;border:1px solid #e0e4ed;border-radius:14px;background:#fff;transition:box-shadow .3s}
.recruit-entry-card:hover{box-shadow:0 10px 30px rgba(59,84,167,.08)}
.recruit-entry-logo{display:flex;align-items:center;justify-content:center;min-height:170px;padding:30px;background:#f5f7fc;color:#3b54a7;font-size:32px;font-weight:600;letter-spacing:.04em}
.recruit-entry-body{padding:32px;text-align:center}
.recruit-entry-body h3{margin:0 0 14px!important;padding:0!important;font-size:23px!important}
.recruit-entry-body p{margin:0 0 28px!important;font-size:14px;line-height:1.9;color:#555}
.recruit-entry-button{display:flex;align-items:center;justify-content:center;gap:20px;max-width:320px;min-height:58px;margin:0 auto;padding:12px 20px;border-radius:50px;background:#3b54a7;color:#fff!important;font-size:14px;text-decoration:none!important;transition:background .25s}
.recruit-entry-button:hover{background:#2e438b;color:#fff!important}
.recruit-entry-button span{font-size:20px;font-weight:400}
.recruit-entry-note{margin:25px 0 0!important;text-align:center;font-size:12px;color:#777;line-height:1.8}
@media(max-width:767px){
.recruit-entry-lead{font-size:14px;margin-bottom:30px!important}
.recruit-entry-grid{grid-template-columns:1fr;gap:20px}
.recruit-entry-logo{min-height:130px;font-size:28px}
.recruit-entry-body{padding:25px 20px}
.recruit-entry-body h3{font-size:20px!important}
.recruit-entry-body p{font-size:13px;margin-bottom:22px!important}
.recruit-entry-button{min-height:52px;font-size:13px}
}



