main { margin: 0 !important; }

footer { margin-top: 0; }

.breadcrumb { position: absolute; z-index: 99; top: 70px; left: 2.5%; display: flex; white-space: nowrap; font-size: 1.3rem; font-weight: 500; letter-spacing: -0.02em; }
@media screen and (min-width: 961px) { .breadcrumb { top: 90px; font-size: 1.8rem; letter-spacing: inherit; } }
@media screen and (min-width: 1501px) { .breadcrumb { font-size: 2rem; } }
.breadcrumb span { border: solid 1px #000; border-radius: 4px; font-size: 1.2rem; line-height: 1; padding: 1px 5px; margin-right: 5px; }
@media screen and (min-width: 961px) { .breadcrumb span { font-size: 1.4rem; padding: 2px 10px; margin-right: 10px; } }

h2 { display: block; text-align: center; font-size: 2.1rem !important; font-weight: 500; position: relative; margin-bottom: 30px !important; }
@media screen and (min-width: 961px) { h2 { font-size: 3rem !important; margin-bottom: 40px !important; } }
h2::after { content: ''; position: absolute; left: calc(50% - 100px); bottom: -12px; width: 200px; height: 4px; border: solid 1px #000; border-left: none; border-right: none; }
@media screen and (min-width: 961px) { h2::after { left: calc(50% - 150px); bottom: -15px; width: 300px; } }

.h2_txt { text-align: center; font-size: 1.2rem; line-height: 1.4; }
@media screen and (min-width: 961px) { .h2_txt { font-size: 1.4rem; } }

#Message { margin-top: 0 !important; padding: 50px 0; }
@media screen and (min-width: 961px) { #Message { padding: 100px 0; } }
#Message .wrap { width: 90%; max-width: 800px; margin: auto; }
#Message h3 { display: flex; align-items: center; width: 100%; height: 200px; background-color: #f7f7f7; background-image: url(../img/recruit/message_ayanofukumura.jpg); background-repeat: no-repeat; background-size: contain; background-position: top right -20px; }
@media screen and (min-width: 961px) { #Message h3 { height: 250px; background-position: top right; } }
#Message h3 p { display: inline-block; text-align: center; font-size: 1.4rem; line-height: 1.4; font-weight: 400; margin-left: 5%; }
@media screen and (min-width: 961px) { #Message h3 p { font-size: 1.6rem; margin-left: 20%; } }
#Message h3 strong { display: block; margin-top: 5px; font-size: 1.6rem; }
@media screen and (min-width: 961px) { #Message h3 strong { margin-top: 10px; font-size: 2.4rem; } }
#Message .txt p { font-size: 1.4rem; line-height: 1.6; margin-top: 10px; }
@media screen and (min-width: 961px) { #Message .txt p { font-size: 1.6rem; margin-top: 20px; } }

#Interview { background: #f4f2e8; padding: 50px 0; }
@media screen and (min-width: 961px) { #Interview { padding: 100px 0; } }
#Interview ul { width: 90%; max-width: 800px; margin: auto; display: flex; flex-wrap: wrap; justify-content: space-between; }
#Interview li { width: 48%; margin-top: 20px; }
@media screen and (min-width: 961px) { #Interview li { width: 31%; margin-top: 30px; } }
#Interview li h3 { font-size: 1.8rem; font-weight: 500; margin: 10px 0; }
@media screen and (min-width: 961px) { #Interview li h3 { font-size: 2rem; margin: 15px 0 10px 0; } }
#Interview li p { font-size: 1.3rem; line-height: 1.4; }
@media screen and (min-width: 961px) { #Interview li p { font-size: 1.5rem; } }
#Interview li p small { display: block; margin-top: 5px; font-size: 1.2rem; }
@media screen and (min-width: 961px) { #Interview li p small { font-size: 1.3rem; } }
#Interview li .catch { font-size: 1.4rem; line-height: 1.4; font-weight: 700; margin: 10px 0; }
@media screen and (min-width: 961px) { #Interview li .catch { font-size: 1.6rem; } }

#FAQ { padding: 50px 0 10px 0; }
@media screen and (min-width: 961px) { #FAQ { padding: 100px 0; } }
#FAQ dl { width: 90%; max-width: 800px; margin: auto; }
#FAQ dt { display: flex; align-items: center; background: #e5e4e9; margin-top: 15px; padding: 10px 0 10px 10px; font-size: 1.4rem; line-height: 1.4; font-weight: 500; cursor: pointer; }
@media screen and (min-width: 961px) { #FAQ dt { margin-top: 30px; padding: 15px 0 15px 20px; font-size: 1.6rem; } }
#FAQ dt p { width: calc(100% - 60px); text-indent: -20px; margin-left: 20px; }
@media screen and (min-width: 961px) { #FAQ dt p { width: calc(100% - 70px); text-indent: -25px; margin-left: 25px; } }
#FAQ dd { display: none; padding: 0 0 20px 0; font-size: 1.4rem; line-height: 1.5; }
@media screen and (min-width: 961px) { #FAQ dd { font-size: 1.5rem; } }
#FAQ dd p { margin-top: 10px; }
@media screen and (min-width: 961px) { #FAQ dd p { margin-top: 15px; } }
#FAQ icon { position: relative; width: 21px; height: 21px; margin-left: 10px; }
#FAQ icon::before { display: block; content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #999; width: 3px; height: 21px; transition: transform 0.5s ease; }
#FAQ icon::after { display: block; content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #999; width: 21px; height: 3px; }
#FAQ .active icon::before { transform: rotate(90deg); }
#FAQ .link { width: 90%; max-width: 800px; margin: 30px auto 0; font-size: 1.4rem; line-height: 1.4; color: #d00; text-decoration: underline; }
@media screen and (min-width: 961px) { #FAQ .link { margin: 40px auto 0; font-size: 1.6rem; } }

#recruit_index .breadcrumb { color: #fff !important; text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.6); }
#recruit_index .breadcrumb span { border-color: #fff !important; }
#recruit_index #MV { display: flex; align-items: center; width: 100%; height: 550px; background-color: #000; background-image: url(../img/recruit/index_mv_sp.jpg); background-repeat: no-repeat; background-size: cover; background-position: center center; }
@media screen and (min-width: 769px) { #recruit_index #MV { height: 700px; background-image: url(../img/recruit/index_mv_pc.jpg); } }
#recruit_index #MV figure { width: 100%; text-align: center; }
#recruit_index #MV img { width: 90%; max-width: 750px; margin: auto; }
#recruit_index #Catch { text-align: center; margin: 50px 0; }
@media screen and (min-width: 961px) { #recruit_index #Catch { margin: 80px 0; } }
#recruit_index #Catch strong { font-size: 2rem; }
@media screen and (min-width: 961px) { #recruit_index #Catch strong { font-size: 3rem; } }
#recruit_index #Catch p { font-size: 1.4rem; line-height: 1.7; margin-top: 20px; }
@media screen and (min-width: 961px) { #recruit_index #Catch p { font-size: 1.8rem; line-height: 2; margin-top: 40px; } }
#recruit_index #Recruiting { padding: 40px 0 10px 0; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting { padding: 80px 0 10px 0; } }
#recruit_index #Recruiting ul { width: 85%; max-width: 900px; margin: 30px auto; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting ul { margin: 70px auto; display: flex; flex-wrap: wrap; justify-content: space-between; } }
#recruit_index #Recruiting li { margin-bottom: 50px; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting li { width: 47%; max-width: 420px; } }
#recruit_index #Recruiting .img { position: relative; z-index: 10; }
#recruit_index #Recruiting figure { background: #000; }
#recruit_index #Recruiting .status_on { position: absolute; z-index: 20; top: -10px; left: -10px; background: #ff0000; padding: 5px 20px; font-size: 1.8rem; color: #fff; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting .status_on { padding: 7px 25px; font-size: 2.4rem; } }
#recruit_index #Recruiting .status_off { position: absolute; z-index: 20; top: 0; left: 0; background: #000; padding: 5px 20px; font-size: 1.8rem; color: #fff; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting .status_off { padding: 7px 25px; font-size: 2.4rem; } }
#recruit_index #Recruiting h3 { text-align: center; font-size: 1.8rem; margin: 15px 0; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting h3 { font-size: 2.2rem; margin: 20px 0; } }
#recruit_index #Recruiting .h3_txt { text-align: center; font-size: 1.3rem; line-height: 1.4; margin-bottom: 15px; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting .h3_txt { font-size: 1.4rem; margin-bottom: 20px; } }
#recruit_index #Recruiting .item { text-align: center; }
#recruit_index #Recruiting .item p { display: inline-block; font-size: 1.4rem; line-height: 28px; font-weight: 500; height: 32px; padding: 0 15px; border-radius: 16px; border: solid 1px #000; margin: 3px 0; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting .item p { font-size: 1.6rem; line-height: 36px; height: 40px; padding: 0 25px; border-radius: 20px; } }
#recruit_index #Recruiting .itemflex { display: flex; flex-wrap: wrap; text-align: center; margin: auto; width: 280px; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting .itemflex { width: 340px; } }
#recruit_index #Recruiting .itemflex p { display: inline-block; font-size: 1.4rem; line-height: 28px; font-weight: 500; height: 32px; padding: 0 15px; border-radius: 16px; border: solid 1px #000; margin: 3px 0; margin: 3px 5px; }
@media screen and (min-width: 961px) { #recruit_index #Recruiting .itemflex p { font-size: 1.6rem; line-height: 36px; height: 40px; padding: 0 25px; border-radius: 20px; } }
#recruit_index #Recruiting .fin_txt { text-align: center; font-size: 1.3rem; color: #f00; margin-top: 15px; }
#recruit_index .Bridge { background: #e5e4e9; padding: 25px 0; }
@media screen and (min-width: 961px) { #recruit_index .Bridge { padding: 40px 0; } }
#recruit_index .Bridge ul { width: 80%; max-width: 960px; margin: auto; }
@media screen and (min-width: 961px) { #recruit_index .Bridge ul { display: flex; justify-content: space-between; } }
#recruit_index .Bridge li { margin: 5px 0; height: 35px; background-color: #666; background-image: url(../img/recruit/icon_index_bridge.svg); background-repeat: no-repeat; background-size: 12px 10px; background-position: top 12px right 12px; border-radius: 8px; border: solid 1px #666; }
@media screen and (min-width: 961px) { #recruit_index .Bridge li { width: 19%; max-width: 180px; height: 180px; background-size: 15px 13px; background-position: bottom 7px left 50%; border-radius: 10px; border: solid 2px #666; } }
#recruit_index .Bridge a { display: block; width: 100%; height: 35px; }
@media screen and (min-width: 961px) { #recruit_index .Bridge a { height: 180px; text-align: center !important; } }
#recruit_index .Bridge p { width: calc(100% - 36px); height: 33px; background: #fff; border-radius: 8px 0 0 8px; font-size: 1.5rem; font-weight: 500; line-height: 33px; padding-left: 15px; }
@media screen and (min-width: 961px) { #recruit_index .Bridge p { text-align: center; vertical-align: middle; width: 100%; height: 145px; border-radius: 10px 10px 0 0; font-size: 1.8rem; line-height: 1.4; padding: 62px 0 0 0; } }
@media screen and (min-width: 961px) { #recruit_index .Bridge li:nth-child(2) p { padding: 48px 0 0 0; } }
#recruit_index .bottomarea li { background-image: url(../img/recruit/icon_index_bridge-bottom.svg); }
#recruit_index #EmployeeBenefits { background: #efeef2; padding: 50px 0; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits { padding: 100px 0; } }
#recruit_index #EmployeeBenefits dl { width: 90%; max-width: 800px; margin: 20px auto 0; }
#recruit_index #EmployeeBenefits dt { display: flex; align-items: center; background: #fff; border-radius: 8px; border: solid 1px #666; height: 45px; margin-top: 15px; cursor: pointer; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits dt { border-radius: 10px; height: 60px; margin-top: 30px; } }
#recruit_index #EmployeeBenefits dd { display: none; padding-bottom: 20px; }
#recruit_index #EmployeeBenefits dd p { font-size: 1.4rem; line-height: 1.5; margin-top: 10px; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits dd p { font-size: 1.6rem; margin-top: 15px; } }
#recruit_index #EmployeeBenefits h3 { width: calc(100% - 40px); padding-left: 15px; font-size: 1.5rem; font-weight: 500; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits h3 { width: calc(100% - 50px); padding-left: 30px; font-size: 2rem; } }
#recruit_index #EmployeeBenefits icon { position: relative; width: 21px; height: 21px; margin-left: 10px; }
#recruit_index #EmployeeBenefits icon::before { display: block; content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #999; width: 3px; height: 21px; transition: transform 0.5s ease; }
#recruit_index #EmployeeBenefits icon::after { display: block; content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; margin: auto; background-color: #999; width: 21px; height: 3px; }
#recruit_index #EmployeeBenefits .active icon::before { transform: rotate(90deg); }
#recruit_index #EmployeeBenefits .wrap { width: 90%; max-width: 800px; margin: 30px auto 0; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits .wrap { margin: 40px auto 0; } }
#recruit_index #EmployeeBenefits .wrap h4 { font-size: 1.5rem; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits .wrap h4 { font-size: 1.6rem; } }
#recruit_index #EmployeeBenefits .wrap p { font-size: 1.3rem; line-height: 1.4; margin: 10px 0; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits .wrap p { font-size: 1.5rem; margin: 15px 0; } }
#recruit_index #EmployeeBenefits .wrap li { font-size: 1.3rem; line-height: 1.4; text-indent: -12px; margin-left: 12px; }
@media screen and (min-width: 961px) { #recruit_index #EmployeeBenefits .wrap li { font-size: 1.5rem; } }
#recruit_index #Process { background: #dcede1; padding: 50px 0 10px 0; }
@media screen and (min-width: 961px) { #recruit_index #Process { padding: 100px 0; } }
#recruit_index #Process ol { width: 90%; max-width: 920px; margin: 30px auto 0; }
@media screen and (min-width: 961px) { #recruit_index #Process ol { display: flex; margin: 50px auto 0; } }
#recruit_index #Process li { position: relative; }
@media screen and (max-width: 960px) { #recruit_index #Process li { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; margin-bottom: 40px; } }
@media screen and (min-width: 961px) { #recruit_index #Process li { width: 200px; }
  #recruit_index #Process li:not(:last-child) { margin-right: 40px; } }
#recruit_index #Process li:not(:last-child)::after { display: block; content: url(../img/recruit/icon_triangle-g-vertical.svg); position: absolute; bottom: -25px; left: calc(50% - 9px); width: 18px; height: 15px; }
@media screen and (min-width: 961px) { #recruit_index #Process li:not(:last-child)::after { content: url(../img/recruit/icon_triangle-g.svg); top: 130px; left: 214px; bottom: 0; width: 15px; height: 18px; } }
#recruit_index #Process .order { width: 200px; text-align: center; font-size: 3rem; margin-bottom: 10px; }
@media screen and (max-width: 960px) { #recruit_index #Process .order { display: none; } }
#recruit_index #Process figure { width: 30%; }
@media screen and (min-width: 961px) { #recruit_index #Process figure { width: 200px; } }
#recruit_index #Process figure img { border-radius: 8px; }
#recruit_index #Process .wrap { width: 67%; }
@media screen and (min-width: 961px) { #recruit_index #Process .wrap { width: 200px; margin-top: 15px; } }
@media screen and (max-width: 960px) { #recruit_index #Process .ttl { display: flex; align-items: center; } }
#recruit_index #Process .ttl .spOnly { display: block; font-size: 2.4rem; margin-right: 5px; }
@media screen and (min-width: 961px) { #recruit_index #Process .ttl .spOnly { display: none; } }
#recruit_index #Process .ttl strong { font-size: 1.6rem; font-weight: 500; }
@media screen and (min-width: 961px) { #recruit_index #Process .ttl strong { font-size: 1.8rem; } }
#recruit_index #Process .txt { font-size: 1.3rem; line-height: 1.3; margin-top: 8px; }
@media screen and (min-width: 961px) { #recruit_index #Process .txt { font-size: 1.5rem; line-height: 1.4; margin-top: 12px; } }
#recruit_index #Work { padding: 50px 0; }
@media screen and (min-width: 961px) { #recruit_index #Work { padding: 100px 0; } }
#recruit_index #Work strong { display: block; text-align: center; font-size: 1.8rem; }
@media screen and (min-width: 961px) { #recruit_index #Work strong { font-size: 2.4rem; } }
#recruit_index #Work p { width: 90%; max-width: 800px; margin: 10px auto; font-size: 1.3rem; line-height: 1.4; }
@media screen and (min-width: 961px) { #recruit_index #Work p { margin: 15px auto; font-size: 1.5rem; } }
#recruit_index #Work .movie { width: 100%; max-width: 800px; aspect-ratio: 16 / 9; margin: 15px auto 0; }
#recruit_index #Work iframe { width: 100%; height: 100%; }

#recruit_category #hero { background: #fff; padding-bottom: 70px; }
#recruit_category #hero .head { position: relative; display: flex; align-items: center; width: 100%; height: 350px; background-color: #000; background-image: url(../img/recruit/hanbai_mv_sp.jpg); background-repeat: no-repeat; background-size: cover; background-position: center top; }
@media screen and (min-width: 961px) { #recruit_category #hero .head { height: 650px; background-image: url(../img/recruit/hanbai_mv_pc.jpg); background-size: auto 100%; } }
@media screen and (min-width: 1201px) { #recruit_category #hero .head { height: 700px; background-image: url(../img/recruit/hanbai_mv_pc.jpg); background-size: cover; background-position: center center; } }
#recruit_category #hero .wrap { position: absolute; left: 7.5%; bottom: -100px; width: 85%; height: 210px; background: rgba(255, 255, 255, 0.9); text-align: center; }
@media screen and (min-width: 961px) { #recruit_category #hero .wrap { left: 5%; bottom: 0; max-width: 400px; height: 450px; } }
@media screen and (min-width: 1501px) { #recruit_category #hero .wrap { left: 10%; } }
#recruit_category #hero figure { width: 70%; max-width: 300px; margin: 30px auto; }
@media screen and (min-width: 961px) { #recruit_category #hero figure { margin: 110px auto 60px; } }
#recruit_category #hero strong { font-weight: 500; font-size: 2.1rem; }
@media screen and (min-width: 961px) { #recruit_category #hero strong { font-size: 2.6rem; } }
#recruit_category #hero .jobtype p { display: inline-block; font-size: 1.4rem; line-height: 28px; font-weight: 500; height: 32px; padding: 0 15px; border-radius: 16px; border: solid 1px #000; margin: 3px 0; font-weight: 500; margin: 15px 3px; }
@media screen and (min-width: 961px) { #recruit_category #hero .jobtype p { font-size: 1.6rem; line-height: 36px; height: 40px; padding: 0 25px; border-radius: 20px; } }
@media screen and (min-width: 961px) { #recruit_category #hero .jobtype p { margin: 25px 5px; } }
#recruit_category #hero .copy { margin-top: 120px; text-align: center; }
@media screen and (min-width: 961px) { #recruit_category #hero .copy { margin-top: 70px; } }
#recruit_category #hero .copy p { font-size: 1.4rem; line-height: 1.7; margin-top: 20px; }
@media screen and (min-width: 961px) { #recruit_category #hero .copy p { font-size: 1.8rem; line-height: 2; margin-top: 40px; } }
#recruit_category #Wanted { background: #efeef2; padding: 50px 0 60px 0; }
@media screen and (min-width: 961px) { #recruit_category #Wanted { padding: 100px 0 120px 0; } }
#recruit_category #Wanted ul { width: 85%; max-width: 900px; margin: 40px auto 0; }
@media screen and (min-width: 961px) { #recruit_category #Wanted ul { margin: 50px auto 0; } }
#recruit_category #Wanted li { background: #fff; margin-top: 30px; }
@media screen and (min-width: 961px) { #recruit_category #Wanted li { display: flex; align-items: center; } }
@media screen and (min-width: 961px) { #recruit_category #Wanted figure { width: 45%; } }
@media screen and (max-width: 960px) { #recruit_category #Wanted img { height: 150px; width: 100%; object-fit: cover; } }
#recruit_category #Wanted .wrap { padding: 15px 5%; }
#recruit_category #Wanted h3 { font-size: 1.5rem; line-height: 1.3; }
@media screen and (min-width: 961px) { #recruit_category #Wanted h3 { font-size: 2rem; } }
#recruit_category #Wanted .h3_txt { font-size: 1.2rem; line-height: 1.2; margin: 5px 0 15px 0; }
@media screen and (min-width: 961px) { #recruit_category #Wanted .h3_txt { font-size: 1.3rem; margin: 10px 0 20px 0; } }
#recruit_category #Wanted a { display: block; border: solid 1px #000; margin: 10px 0 0 0; padding: 0 0 0 10px; background-image: url(../img/recruit/icon_triangle-b.svg); background-repeat: no-repeat; background-size: 11px 12px; background-position: right 5px center; font-size: 1.5rem; line-height: 40px; font-weight: 500; cursor: pointer; }
@media screen and (min-width: 961px) { #recruit_category #Wanted a { width: 300px; font-size: 1.6rem; } }
#recruit_category #Wanted a:hover { background: #3ba85b; color: #fff; background-image: url(../img/recruit/icon_triangle-b.svg); background-repeat: no-repeat; background-size: 11px 12px; background-position: right 5px center; }
#recruit_category #Wanted .fin_txt { font-size: 1.3rem; color: #f00; margin-top: 15px; }
#recruit_category #Wanted .closed { margin-top: 10px; }
#recruit_category #Wanted .closed figure { display: none; }
#recruit_category #Wanted .closed .h3_txt { display: none; }
#recruit_category #Wanted .closed .fin_txt { margin-top: 5px; }
#recruit_category #Bridge .back-attachment { width: 100%; height: 400px; }
#recruit_category #Bridge .back-attachment::before { content: ''; display: block; width: 100%; height: 100vh; position: fixed; top: 0; left: 0; z-index: -10; background-image: url(../img/recruit/hanbai_bridge_sp.jpg); background-repeat: no-repeat; background-size: cover; background-position: center top; }
@media screen and (min-width: 961px) { #recruit_category #Bridge .back-attachment::before { background-image: url(../img/recruit/hanbai_bridge_pc.jpg); background-position: center center; } }
#recruit_category #Bridge .wrap { background: #fff; padding: 50px 0 20px 0; }
@media screen and (min-width: 961px) { #recruit_category #Bridge .wrap { padding: 100px 0 40px 0; } }
#recruit_category #Bridge strong { display: block; font-weight: 500; font-size: 1.8rem; text-align: center; }
@media screen and (min-width: 961px) { #recruit_category #Bridge strong { font-size: 3rem; } }
#recruit_category #Bridge .txt { width: 90%; margin: 15px auto; font-size: 1.3rem; line-height: 1.6; }
@media screen and (min-width: 961px) { #recruit_category #Bridge .txt { font-size: 1.6rem; line-height: 2.1; margin-top: 30px; text-align: center; } }
#recruit_category #Bridge ul { width: 90%; max-width: 800px; margin: 30px auto; border: solid 1px #fabe09; border-bottom: none; }
@media screen and (min-width: 961px) { #recruit_category #Bridge ul { display: flex; flex-wrap: wrap; border-right: none; margin: 80px auto; } }
#recruit_category #Bridge li { height: 35px; }
@media screen and (min-width: 961px) { #recruit_category #Bridge li { height: 40px; } }
#recruit_category #Bridge li:first-child { background: #fabe09; font-size: 1.6rem; line-height: 35px; color: #fff; font-weight: 500; text-align: center; }
@media screen and (min-width: 961px) { #recruit_category #Bridge li:first-child { width: 100%; font-size: 1.8rem; line-height: 38px; } }
#recruit_category #Bridge li:not(:first-child) { background-image: url(../img/recruit/arrow_bottom.svg); background-repeat: no-repeat; background-size: 15px 11px; background-position: center right 12px; border-bottom: solid 1px #fabe09; font-size: 1.5rem; line-height: 35px; text-align: center; font-weight: 500; }
@media screen and (min-width: 961px) { #recruit_category #Bridge li:not(:first-child) { width: 50%; border-right: solid 1px #fabe09; font-size: 1.7rem; line-height: 40px; } }
#recruit_category #Bridge a { display: block; height: 100%; }
#recruit_category #Bridge a:hover { background: #fff660; }
#recruit_category #JobDescription { background: #fff; padding: 30px 0; }
@media screen and (min-width: 961px) { #recruit_category #JobDescription { padding: 60px 0; } }
#recruit_category #JobDescription .box { width: 90%; max-width: 1000px; margin: 30px auto; }
@media screen and (min-width: 961px) { #recruit_category #JobDescription .box { margin: 60px auto; display: flex; justify-content: space-between; align-items: center; } }
@media screen and (min-width: 961px) { #recruit_category #JobDescription figure { width: 47%; } }
@media screen and (max-width: 960px) { #recruit_category #JobDescription img { height: 200px; width: 100%; object-fit: cover; } }
#recruit_category #JobDescription .txt { margin-top: 15px; }
@media screen and (min-width: 961px) { #recruit_category #JobDescription .txt { margin-top: 0; width: 48%; } }
#recruit_category #JobDescription p { font-size: 1.4rem; line-height: 1.5; margin-top: 10px; }
@media screen and (min-width: 961px) { #recruit_category #JobDescription p { font-size: 1.6rem; margin-top: 20px; } }
#recruit_category #JobDescription p.type { margin-top: 0; }
#recruit_category #JobDescription strong { font-size: 1.6rem; line-height: 1.4; }
@media screen and (min-width: 961px) { #recruit_category #JobDescription strong { font-size: 2.1rem; } }
@media screen and (min-width: 961px) { #recruit_category #JobDescription .reverse { flex-wrap: wrap-reverse !important; order: 2; } }
#recruit_category #JobDescription .reverse figure { order: 1; }
#recruit_category #Schedule { background: #fff; padding: 30px 0; }
@media screen and (min-width: 961px) { #recruit_category #Schedule { padding: 60px 0; } }
#recruit_category #Schedule .ttl { width: 90%; max-width: 960px; margin: 30px auto 10px; display: flex; align-items: center; }
#recruit_category #Schedule .ttl img { display: inline-block; width: 60px; height: 60px; margin-right: 10px; }
#recruit_category #Schedule .ttl h3 { font-weight: 500; font-size: 1.6rem; line-height: 1.4; }
#recruit_category #Schedule ol { width: 90%; max-width: 500px; margin: auto; }
@media screen and (min-width: 961px) { #recruit_category #Schedule ol { max-width: 960px; display: flex; flex-wrap: wrap; } }
#recruit_category #Schedule li { position: relative; height: 150px; background: #fff2a7; border-radius: 10px; }
@media screen and (max-width: 960px) { #recruit_category #Schedule li { display: flex; justify-content: space-between; align-items: center; margin-bottom: 40px; } }
@media screen and (min-width: 961px) { #recruit_category #Schedule li { width: 240px; height: 320px; border-radius: 12px; }
  #recruit_category #Schedule li:not(:last-child) { margin-right: 40px; margin-bottom: 40px; } }
#recruit_category #Schedule li:nth-child(even) { background: #f2dada; }
#recruit_category #Schedule li:not(:last-child)::after { display: block; content: url(../img/recruit/icon_triangle-g-vertical.svg); position: absolute; bottom: -28px; left: calc(50% - 9px); width: 18px; height: 15px; }
@media screen and (min-width: 961px) { #recruit_category #Schedule li:not(:last-child)::after { content: url(../img/recruit/icon_triangle-g.svg); top: calc(50% - 9px); left: 253px; bottom: 0; width: 15px; height: 18px; } }
@media screen and (min-width: 961px) { #recruit_category #Schedule li:nth-child(3)::after { content: none; } }
@media screen and (min-width: 961px) { #recruit_category #Schedule li:nth-child(4) { margin-left: 50px; }
  #recruit_category #Schedule li:nth-child(4)::before { display: block; content: url(../img/recruit/icon_triangle-g.svg); position: absolute; top: calc(50% - 9px); left: -27px; bottom: 0; width: 15px; height: 18px; } }
@media screen and (min-width: 1101px) { #recruit_category #Schedule li:nth-child(4) { margin-left: 150px; } }
#recruit_category #Schedule .clock { position: absolute; top: -5px; right: 5px; width: 45px; }
@media screen and (min-width: 961px) { #recruit_category #Schedule .clock { top: 165px; right: 0; left: 15px; width: 50px; } }
#recruit_category #Schedule .img { width: 40%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: center center; border-radius: 8px 0 0 8px; }
@media screen and (min-width: 961px) { #recruit_category #Schedule .img { width: 100%; height: 180px; border-radius: 10px 10px 0 0; } }
#recruit_category #Schedule .wrap { width: 55%; }
@media screen and (min-width: 961px) { #recruit_category #Schedule .wrap { width: 90%; margin: 15px auto; } }
#recruit_category #Schedule .wrap time { display: block; font-size: 1.7rem; font-weight: 700; }
@media screen and (min-width: 961px) { #recruit_category #Schedule .wrap time { font-size: 2rem; text-align: center; } }
#recruit_category #Schedule .wrap p { font-size: 1.3rem; line-height: 1.4; margin-top: 10px; }
@media screen and (min-width: 961px) { #recruit_category #Schedule .wrap p { font-size: 1.4rem; } }
#recruit_category #Career { background: #fff; padding: 30px 0; }
@media screen and (min-width: 961px) { #recruit_category #Career { padding: 60px 0; } }
#recruit_category #Career .case_box { background: #caf2ff; margin: 10px 0; padding: 20px 0; }
@media screen and (min-width: 961px) { #recruit_category #Career .case_box { width: 90%; max-width: 1000px; margin: 30px auto; padding: 20px 30px 40px 30px; display: flex; align-items: flex-start; } }
#recruit_category #Career .ttl { width: 90%; margin: 0 auto; display: flex; align-items: center; }
@media screen and (min-width: 961px) { #recruit_category #Career .ttl { width: 320px; margin: 20px auto; } }
#recruit_category #Career .ttl img { display: inline-block; width: 70px; height: 70px; margin-right: 10px; }
@media screen and (min-width: 961px) { #recruit_category #Career .ttl img { width: 95px; height: 95px; margin-right: 15px; } }
#recruit_category #Career .ttl span { display: block; font-family: Futura, 'Century Gothic', "sans-serif"; font-weight: 700; font-size: 1.6rem; }
@media screen and (min-width: 961px) { #recruit_category #Career .ttl span { font-size: 2.4rem; } }
#recruit_category #Career .ttl h3 { font-weight: 500; font-size: 1.6rem; line-height: 1.4; }
@media screen and (min-width: 961px) { #recruit_category #Career .ttl h3 { font-size: 2rem; } }
#recruit_category #Career .inner { width: 90%; margin: auto; }
@media screen and (min-width: 961px) { #recruit_category #Career .inner { width: calc(100% - 320px); } }
#recruit_category #Career .box { background: #fff; padding: 5%; margin-top: 20px; }
@media screen and (min-width: 961px) { #recruit_category #Career .box { padding: 20px; } }
#recruit_category #Career dt { font-size: 1.6rem; line-height: 1.4; font-weight: 500; }
@media screen and (min-width: 961px) { #recruit_category #Career dt { font-size: 1.8rem; } }
#recruit_category #Career dd { font-size: 1.4rem; line-height: 1.5; margin-top: 10px; }
@media screen and (min-width: 961px) { #recruit_category #Career dd { font-size: 1.6rem; } }
#recruit_category #Interview { background: #fff; padding: 30px 0; }
@media screen and (min-width: 961px) { #recruit_category #Interview { padding: 60px 0; } }
#recruit_category #Interview ul { max-width: 700px; }
@media screen and (min-width: 961px) { #recruit_category #Interview li { width: 46%; margin-top: 30px; } }
#recruit_category #Interview .link { margin-top: 40px; text-align: center; font-size: 1.5rem; text-decoration: underline; }
@media screen and (min-width: 961px) { #recruit_category #Interview .link { margin-top: 60px; font-size: 1.8rem; } }
#recruit_category #Message { background: #fff; padding: 30px 0; }
@media screen and (min-width: 961px) { #recruit_category #Message { padding: 60px 0; } }
#recruit_category #Message.sogawa h3 { background-color: #edeceb; background-image: url(../img/recruit/message_maisogawa.jpg); background-size: cover; background-position: top left -50px; }
@media screen and (min-width: 961px) { #recruit_category #Message.sogawa h3 { background-size: contain; background-position: top left; } }
#recruit_category #Message.sogawa h3 p { margin-left: auto; margin-right: 5%; text-shadow: 0px 0px 10px #edeceb; }
@media screen and (min-width: 961px) { #recruit_category #Message.sogawa h3 p { margin-right: 15%; } }
#recruit_category #FAQ { background: #fff; padding: 30px 0 50px 0; }
@media screen and (min-width: 961px) { #recruit_category #FAQ { padding: 60px 0 100px 0; } }

a.click_apply { display: block; width: 200px; height: 50px; margin: 15px auto 0; border-radius: 6px; background: #0733d8; text-align: center; font-size: 1.8rem; font-weight: 500; line-height: 50px; color: #fff; }
@media screen and (min-width: 961px) { a.click_apply { margin: 0 0 0 30px; font-size: 2.1rem; height: 60px; line-height: 60px; } }
a.click_apply:hover { background: #3ba85b; }

#recruit_guideline { background: #efeef2; padding: 50px 0 30px; }
@media screen and (min-width: 961px) { #recruit_guideline { padding: 100px 0 60px 0; } }
#recruit_guideline .container { width: 95%; max-width: 1200px; margin: auto; background: #fff; }
#recruit_guideline #hero .shopstaff { height: 200px; background-image: url(../img/recruit/guideline_bg_hanbai.jpg); background-repeat: no-repeat; background-size: cover; background-position: center top; }
@media screen and (min-width: 961px) { #recruit_guideline #hero .shopstaff { height: 350px; } }
@media screen and (min-width: 1501px) { #recruit_guideline #hero .shopstaff { height: 400px; } }
#recruit_guideline #hero .newgraduates { height: 150px; background-color: #0a1013; background-image: url(../img/recruit/guideline_bg_newgraduates.jpg); background-repeat: no-repeat; background-size: cover; background-position: center top; }
@media screen and (min-width: 961px) { #recruit_guideline #hero .newgraduates { height: 300px; background-size: contain; background-position: left top; } }
#recruit_guideline #hero .wrap { background: #fff8aa; padding: 20px; }
@media screen and (min-width: 961px) { #recruit_guideline #hero .wrap { display: flex; align-items: center; width: 100%; padding: 30px; } }
#recruit_guideline #hero h2 { font-size: 1.6rem !important; line-height: 1.4; font-weight: 700; text-align: left !important; margin: 0 !important; padding: 0 !important; }
@media screen and (min-width: 961px) { #recruit_guideline #hero h2 { font-size: 2.1rem !important; width: calc(100% - 230px); } }
#recruit_guideline #hero h2::after { display: none; visibility: hidden; }
#recruit_guideline #Outline { width: 92%; margin: auto; }
#recruit_guideline #Outline h3 { border-left: solid 10px #fabe09; height: 40px; padding-left: 10px; font-size: 1.8rem; line-height: 38px; margin-top: 40px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline h3 { height: 45px; padding-left: 15px; font-size: 2.1rem; line-height: 43px; margin-top: 60px; } }
#recruit_guideline #Outline .firsthead { margin-top: 20px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .firsthead { margin-top: 40px; } }
#recruit_guideline #Outline p { font-size: 1.3rem; line-height: 1.4; margin: 5px 0; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline p { font-size: 1.5rem; line-height: 1.5; } }
#recruit_guideline #Outline p strong { display: inline; }
#recruit_guideline #Outline .txt { margin-top: 15px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .txt { margin-top: 20px; line-height: 1.6; } }
#recruit_guideline #Outline dt { margin-top: 20px; font-size: 1.5rem; line-height: 1.4; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline dt { margin-top: 30px; margin-bottom: 5px; font-size: 1.6rem; } }
#recruit_guideline #Outline .indent { text-indent: -15px; margin-left: 15px; margin-top: 3px; margin-bottom: 0; }
#recruit_guideline #Outline .step_image { display: flex; flex-wrap: wrap; }
#recruit_guideline #Outline .step_image li { position: relative; background: #3ba85b; width: 65px; height: 80px; margin-right: 15px; margin-top: 15px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image li { width: 120px; margin-right: 30px; margin-top: 30px; } }
#recruit_guideline #Outline .step_image li::after { position: absolute; top: 0; left: 65px; content: ''; display: block; width: 0; height: 0; border-top: 40px solid transparent; border-bottom: 40px solid transparent; border-left: 15px solid #3ba85b; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image li::after { left: 120px; border-left: 30px solid #3ba85b; } }
#recruit_guideline #Outline .step_image li:first-child { letter-spacing: -0.02em; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image li:first-child { width: 135px; }
  #recruit_guideline #Outline .step_image li:first-child::after { left: 135px; } }
#recruit_guideline #Outline .step_image li:nth-child(even) { background: #252a57; }
#recruit_guideline #Outline .step_image li:nth-child(even)::after { border-left: 15px solid #252a57; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image li:nth-child(even)::after { border-left: 30px solid #252a57; } }
#recruit_guideline #Outline .step_image .number { font-family: Arial, Helvetica, "sans-serif"; font-size: 1.2rem; line-height: 1; color: #c5ff69; font-weight: 500; margin: 5px 0 2px 8px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image .number { font-size: 1.5rem; margin: 7px 0 5px 12px; } }
#recruit_guideline #Outline .step_image .number span { font-size: 1.7rem; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image .number span { font-size: 2rem; } }
#recruit_guideline #Outline .step_image .txt { font-size: 1.4rem; line-height: 1.2; font-weight: 500; color: #fff; margin: 0 0 0 8px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .step_image .txt { font-size: 1.6rem; margin: 0 0 0 12px; } }
#recruit_guideline #Outline .step_txt { margin-top: 15px; }
#recruit_guideline #Outline table { width: 100%; border-left: solid 1px #999; border-top: solid 1px #999; font-size: 1.4rem; line-height: 1.5; margin-top: 15px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline table { font-size: 1.5rem; margin-top: 30px; } }
#recruit_guideline #Outline th { border-right: solid 1px #999; border-bottom: solid 1px #999; background: #eee; white-space: nowrap; padding: 10px 20px; }
@media screen and (max-width: 480px) { #recruit_guideline #Outline th { width: 100%; display: block; padding: 5px 10px; } }
#recruit_guideline #Outline td { border-right: solid 1px #999; border-bottom: solid 1px #999; padding: 10px 20px; }
@media screen and (max-width: 480px) { #recruit_guideline #Outline td { width: 100%; display: block; padding: 5px 10px; } }
#recruit_guideline #Outline .newgraduates_ttl { background: #fffedd; border: dashed 1px #666; border-left: none; border-right: none; padding: 10px !important; margin-top: 30px; font-size: 1.3rem; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .newgraduates_ttl { padding: 15px  20px !important; margin-top: 60px; } }
#recruit_guideline #Outline .newgraduates_ttl strong { font-size: 1.8rem; margin-bottom: 10px; }
@media screen and (min-width: 961px) { #recruit_guideline #Outline .newgraduates_ttl strong { font-size: 2.4rem; } }
#recruit_guideline .link { padding: 30px 0 50px 0; }
@media screen and (min-width: 961px) { #recruit_guideline .link { padding: 80px 0; }
  #recruit_guideline .link a.click_apply { width: 300px; margin: auto; } }

#recruit_form { max-width: 800px; padding: 20px 5%; }
@media screen and (min-width: 769px) { #recruit_form { padding: 60px; } }
#recruit_form h2 { font-size: 1.8rem !important; line-height: 1.4; font-weight: 700; text-align: left !important; margin: 0 !important; padding: 0 !important; }
@media screen and (min-width: 961px) { #recruit_form h2 { font-size: 2.4rem !important; } }
#recruit_form h2::after { display: none; visibility: hidden; }
#recruit_form .h2_txt { text-align: left; margin-top: 10px; }
#recruit_form table { width: 100%; margin-top: 30px; }
@media screen and (min-width: 769px) { #recruit_form table { margin-top: 50px; } }
#recruit_form table th { padding-right: 20px; white-space: nowrap; font-size: 1.8rem; font-weight: 700; padding: 20px 40px 0 0; }
@media screen and (max-width: 480px) { #recruit_form table th { display: flex; align-items: center; width: 100%; padding: 0; font-size: 1.6rem !important; } }
#recruit_form table th span { display: inline-block; margin-left: 10px; background: #f00; font-size: 1.2rem !important; line-height: 18px; color: #fff; font-weight: 400; padding: 0 5px; border-radius: 5px; }
#recruit_form table th .caution { font-size: 1.2rem; color: #f00; font-weight: 400; margin-top: 10px; }
@media screen and (max-width: 960px) { #recruit_form table th .caution { display: inline !important; margin: 0 0 0 10px; } }
#recruit_form table td { font-size: 1.7rem; line-height: 1.4; padding: 20px 0 30px 0; }
@media screen and (max-width: 480px) { #recruit_form table td { display: block; width: 100%; font-size: 1.5rem; padding: 10px 10px 30px 0; } }
#recruit_form .wpcf7-list-item { display: block; margin: 0 0 15px 0; line-height: 20px; }
#recruit_form input { width: 100%; max-width: 400px; min-height: 40px; border-radius: 5px; border: 2px solid #ccc; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
#recruit_form input[type='checkbox'] { width: 20px; height: 20px; min-height: 20px; border-radius: 2px; border: 2px solid #ccc; margin-right: 5px; appearance: auto; -webkit-appearance: auto; -moz-appearance: auto; }
#recruit_form textarea { width: 100%; max-width: 700px; height: 300px; border-radius: 5px; border: 2px solid #ccc; appearance: none; -webkit-appearance: none; -moz-appearance: none; }
#recruit_form input[type='submit'] { border: none; display: block; width: 100%; max-width: 200px; padding: 15px; border-radius: 5px; background-color: #3ba85b; font-size: 1.8rem; color: #fff; text-align: center; appearance: none; -webkit-appearance: none; -moz-appearance: none; cursor: pointer; }
#recruit_form .fileupload input { border: none; }

#page_interview { width: 90%; max-width: 1100px; margin: 60px auto !important; }
@media screen and (min-width: 769px) { #page_interview { margin: 120px auto !important; } }
#page_interview .interview_wrap { margin-bottom: 30px; }
@media screen and (min-width: 961px) { #page_interview .interview_wrap { display: flex; justify-content: space-between; margin-bottom: 100px; } }
@media screen and (min-width: 961px) { #page_interview .interview_wrap figure { width: 50%; } }
@media screen and (min-width: 961px) { #page_interview .interview_wrap .txt { width: 45%; } }
@media screen and (min-width: 961px) { #page_interview .reverse { flex-wrap: wrap-reverse; }
  #page_interview .reverse figure { order: 2; }
  #page_interview .reverse .txt { order: 1; } }
@media screen and (max-width: 960px) { #page_interview .sp_objectfit { aspect-ratio: 1 / 1; object-fit: cover; } }
#page_interview .catch { display: block; font-size: 1.8rem; line-height: 1.5; margin-top: 20px; }
@media screen and (min-width: 961px) { #page_interview .catch { font-size: 2.6rem; } }
#page_interview .status { font-size: 1.3rem; line-height: 1.3; padding: 10px 0 20px 0; border-bottom: solid 1px #ccc; }
@media screen and (min-width: 961px) { #page_interview .status { font-size: 1.5rem; padding: 20px 0 30px 0; } }
#page_interview .status span { display: block; font-size: 1.2rem; }
@media screen and (min-width: 961px) { #page_interview .status span { font-size: 1.4rem; } }
#page_interview .txt_q { margin-top: 30px; font-size: 1.5rem; line-height: 1.4; font-weight: 700; color: #003A88; }
@media screen and (min-width: 961px) { #page_interview .txt_q { font-size: 1.6rem; margin-top: 50px; } }
@media screen and (min-width: 961px) { #page_interview .marT0pc { margin-top: 0; } }
#page_interview .txt_a { margin-top: 15px; font-size: 1.4rem; line-height: 1.6; }
@media screen and (min-width: 961px) { #page_interview .txt_a { font-size: 1.6rem; line-height: 1.7; margin-top: 20px; } }
#page_interview .txt_a p { margin-top: 10px; }
@media screen and (min-width: 961px) { #page_interview .txt_a p { margin-top: 15px; } }
#page_interview .link { display: block; max-width: 500px; margin: 40px auto; border: solid 1px #000; text-align: center; padding: 15px 0; font-size: 1.5rem; }
@media screen and (min-width: 961px) { #page_interview .link { padding: 20px 0; font-size: 1.8rem; } }
#page_interview .works { margin-top: 40px; border: solid 1px #ccc; }
@media screen and (min-width: 769px) { #page_interview .works { margin: 100px 0; } }
#page_interview .works h3 { background: #eee; text-align: center; font-size: 1.7rem; line-height: 30px; }
@media screen and (min-width: 769px) { #page_interview .works h3 { font-size: 2.2rem; line-height: 40px; } }
#page_interview .works .woks_wrap { width: 95%; margin: 0 auto 10px; }
@media screen and (min-width: 769px) { #page_interview .works .woks_wrap { display: flex; justify-content: space-between; margin: 0 auto 30px; } }
#page_interview .works .cell1 { max-width: 600px !important; }
#page_interview .works figure { margin-top: 15px; }
@media screen and (min-width: 769px) { #page_interview .works figure { width: 49%; margin-top: 30px; } }
#page_interview .works figcaption { text-align: center; font-size: 1.3rem; line-height: 1.5; }
