@media (max-width: 1400px) {
  .bl_gnav_sub {
    gap: 10px;
  }
  .bl_gnav_sub .el_iconLink_txt {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
  }
}
@media (max-width: 1280px) {
  .bl_logo_mark {
    width: min(70px, 5.2vw);
  }
  .bl_logo_main {
    font-size: min(20px, 1.7vw);
  }
  .bl_gnav {
    gap: 12px;
  }
  .bl_gnav_list {
    gap: min(18px, 1.2vw);
  }
  .bl_gnav_link {
    font-size: min(14px, 1.3vw);
  }
}
@media (max-width: 992px) {
  .ly_header_inner {
    height: 56px;
    padding: 0 0 0 14px;
  }
  .ly_header__lower {
    background-color: #fff;
  }
  .ly_header.is_open {
    position: fixed;
    background: #fff;
    color: #1e1f3b;
    border-bottom: 1px solid #e9e9eb;
  }
  .bl_logo {
    gap: 6px;
  }
  .bl_logo_mark {
    width: 46px;
  }
  .bl_logo_txt {
    gap: 5px;
  }
  .bl_logo_sub {
    font-size: 9px;
  }
  .bl_logo_main {
    font-size: 18px;
  }
  .bl_gnav {
    display: none;
  }
  .bl_menuBtn {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: 56px;
    height: 56px;
    background-color: #fff;
    color: #1e1f3b;
    cursor: pointer;
  }
  .bl_menuBtn_lines {
    position: relative;
    display: block;
    width: 18px;
    height: 12px;
  }
  .bl_menuBtn_lines span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    transition: transform 0.3s, opacity 0.3s, top 0.3s;
  }
  .bl_menuBtn_lines span:nth-child(1) {
    top: 0;
  }
  .bl_menuBtn_lines span:nth-child(2) {
    top: 50%;
  }
  .bl_menuBtn_lines span:nth-child(3) {
    top: 100%;
  }
  .bl_menuBtn_txt {
    font-family: "EB Garamond", "Times New Roman", serif;
    font-size: 10px;
    line-height: 1;
    letter-spacing: 0.02em;
  }
  .ly_header.is_open .bl_menuBtn {
    background-color: #1e1f3b;
    color: #fff;
  }
  .ly_header.is_open .bl_menuBtn .bl_menuBtn_lines span:nth-child(1) {
    top: 50%;
    transform: rotate(45deg);
  }
  .ly_header.is_open .bl_menuBtn .bl_menuBtn_lines span:nth-child(2) {
    opacity: 0;
  }
  .ly_header.is_open .bl_menuBtn .bl_menuBtn_lines span:nth-child(3) {
    top: 50%;
    transform: rotate(-45deg);
  }
  .bl_drawer {
    position: fixed;
    top: 56px;
    left: 0;
    display: block;
    width: 100%;
    height: calc(100dvh - 56px);
    overflow-y: auto;
    overscroll-behavior: contain;
    background-color: #fff;
    color: #1e1f3b;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s, visibility 0.3s;
  }
  .bl_drawer_inner {
    padding: 30px 20px 50px;
  }
  .bl_drawer_item {
    border-bottom: 1px solid #dcdce1;
  }
  .bl_drawer_link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 72px;
    padding: 10px 10px;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.05em;
  }
  .bl_drawer_child {
    padding: 14px 10px 24px;
    border-top: 1px solid #dcdce1;
  }
  .bl_drawer_child li {
    position: relative;
    padding-left: 20px;
    font-size: 14px;
    line-height: 2.57;
    letter-spacing: 0.05em;
  }
  .bl_drawer_child li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 8px;
    height: 1px;
    background-color: currentColor;
  }
  .bl_drawer_child a {
    display: block;
  }
  .bl_drawer_sub {
    display: flex;
    justify-content: center;
    margin-top: 30px;
  }
  .bl_drawer_sub li {
    flex: 1;
    display: flex;
    justify-content: center;
  }
  .bl_drawer_sub li + li {
    border-left: 1px dashed #dcdce1;
  }
  .ly_header.is_open .bl_drawer {
    opacity: 1;
    visibility: visible;
  }
  .el_iconLink__lg {
    gap: 10px;
    font-size: 16px;
    font-weight: 500;
  }
}
@media (max-width: 1280px) {
  .bl_instaBand_inner {
    flex-direction: column;
    align-items: flex-start;
    padding-block: 30px;
  }
  .bl_instaBand_ttl {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    font-size: 20px;
    line-height: 1.6;
  }
  .bl_instaBand_list {
    gap: 14px;
    width: 100%;
  }
  .bl_instaBand_btn {
    font-size: 14px;
  }
}
@media (max-width: 992px) {
  .bl_instaBand_inner {
    flex-direction: column;
    padding-block: 30px;
  }
  .bl_instaBand_ttl {
    margin: 0 0 12px;
    padding: 0;
    border: 0;
    font-size: 18px;
    line-height: 1.6;
    gap: 8px;
  }
  .bl_instaBand_icon {
    width: 20px;
    height: 20px;
  }
  .bl_instaBand_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
    width: 100%;
    max-width: 560px;
  }
  .bl_instaBand_btn {
    justify-content: flex-start;
    min-height: 40px;
    font-size: 14px;
    font-weight: 400;
  }
}
@media (max-width: 1280px) {
  .ly_footer_inner {
    flex-direction: column;
  }
  .bl_fnav {
    gap: 32px;
  }
}
@media (max-width: 992px) {
  .ly_footer::before {
    top: auto;
    bottom: 0;
    left: 30%;
    width: 470px;
    height: 498px;
  }
  .ly_footer_inner {
    padding-top: 60px;
  }
  .ly_footer_address {
    margin-top: 24px;
    line-height: 1.75;
  }
  .ly_footer_sub {
    margin-top: 24px;
  }
  .ly_footer_bottom {
    padding: 40px 20px 30px;
  }
  .ly_footer_copy {
    margin-top: 24px;
    font-size: 10px;
  }
  .bl_fnav {
    flex-direction: column;
    gap: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.25);
  }
  .bl_fnav_col {
    min-width: 0;
    padding: 24px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }
  .bl_fnav_parent {
    font-size: 16px;
  }
  .bl_fnav_child {
    margin-top: 10px;
  }
  .bl_fnav_child li {
    padding-left: 20px;
    font-size: 14px;
    line-height: 3;
  }
  .bl_fnav_child li::before {
    width: 8px;
  }
  .bl_fnav_singles {
    padding: 0;
    border-bottom: 0;
  }
  .bl_fnav_singles li {
    padding: 24px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
  }
  .bl_fnav_singles li + li {
    margin-top: 0;
  }
}
@media (max-width: 768px) {
  .ly_footer_inner {
    padding-inline: 20px;
  }
  .ly_footer_address {
    font-size: 16px;
  }
  .ly_cont_inner__narrow {
    padding-inline: 20px;
  }
}
@media (max-width: 768px) {
  .bl_instaBand_list {
    max-width: none;
  }
  .bl_instaBand_btn {
    gap: 6px;
    padding: 8px min(10px, 2vw);
    font-size: min(13px, 3.4vw);
    letter-spacing: 0;
    white-space: nowrap;
  }
  .bl_fnav_parent, .bl_fnav_child li {
    letter-spacing: 0.02em;
  }
  .bl_fnav_singles {
    display: flex;
    flex-direction: column;
  }
  .bl_fnav_singles li:nth-child(3) {
    order: 4;
  }
}
@media (max-width: 992px) {
  .el_secTtl_en {
    font-size: 16px;
  }
  .el_secTtl_ja {
    margin-top: 4px;
    font-size: 32px;
    letter-spacing: 0.02em;
  }
  .el_barTtl {
    font-size: 24px;
  }
  .el_barTtl::before {
    height: 24px;
    margin-top: -12px;
  }
}
@media (max-width: 768px) {
  .el_btn {
    width: 100%;
    min-height: 64px;
    font-size: 16px;
  }
  .el_btnS {
    flex: 1;
    width: auto;
  }
  .el_textLink {
    gap: 10px;
    font-size: 12px;
    letter-spacing: 0;
  }
  .el_label {
    min-width: 100px;
    font-size: 12px;
    padding: 1px 12px;
  }
  .el_tagLine {
    min-width: 0;
    padding: 0 8px;
    font-size: 12px;
    line-height: 20px;
  }
}
@media (max-width: 992px) {
  .el_lineTtl_ja {
    font-size: 40px;
  }
  .el_lineTtl_ja::after {
    width: 72px;
  }
}
@media (max-width: 768px) {
  .el_lineTtl_ja {
    gap: 12px;
    font-size: 26px;
    letter-spacing: 0.02em;
  }
  .el_lineTtl_ja::after {
    width: 50px;
  }
  .el_lineTtl_en {
    margin-top: 8px;
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .el_lineTtl__long .el_lineTtl_ja {
    font-size: min(22px, 4.5vw);
  }
  .el_lineTtl__long .el_lineTtl_ja::after {
    width: 32px;
  }
}
@media (max-width: 1400px) {
  .bl_topAbout {
    padding-top: 60px;
    padding-bottom: 100px;
  }
  .bl_topAbout_inner {
    width: 100%;
    max-width: calc(1080px + 80px);
    margin-inline: auto;
    padding-inline: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "main body" "main sub";
    column-gap: 60px;
    row-gap: 40px;
    aspect-ratio: auto;
  }
  .bl_topAbout_main, .bl_topAbout_sub, .bl_topAbout_body {
    position: relative;
    inset: auto;
    width: auto;
    height: auto;
  }
  .bl_topAbout_main {
    grid-area: main;
    align-self: start;
    aspect-ratio: 640/900;
    margin-top: 80px;
  }
  .bl_topAbout_body {
    grid-area: body;
    padding-top: 120px;
  }
  .bl_topAbout_sub__01 {
    display: none;
  }
  .bl_topAbout_sub__02 {
    grid-area: sub;
    aspect-ratio: 400/540;
    width: 60%;
    justify-self: end;
  }
  .bl_topAbout_ttl {
    font-size: 44px;
  }
  .bl_topAbout_txt {
    font-size: 18px;
    line-height: 2.2;
  }
  .bl_marquee_group span {
    font-size: 160px;
  }
}
@media (max-width: 1280px) {
  .bl_purposeCard_img {
    width: 120px;
    height: 120px;
  }
  .bl_purposeCard_ttl {
    font-size: min(17px, 1.45vw);
    letter-spacing: 0;
  }
  .bl_topFac_inner {
    flex-direction: column;
    gap: 0;
  }
  .bl_topFac_head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    column-gap: 40px;
    align-items: start;
    width: auto;
    flex: none;
  }
  .bl_topFac_head > * {
    grid-column: 1;
  }
  .bl_topFac_map {
    position: relative;
    top: auto;
    left: auto;
    grid-column: 2;
    grid-row: 1/span 3;
    width: 100%;
    max-width: 520px;
    margin-top: -40px;
    z-index: 0;
  }
  .bl_topFac_list {
    width: 100%;
    margin-top: 20px;
  }
  .bl_topFac_lead {
    font-size: 18px;
  }
  .bl_mapBalloon {
    gap: 10px;
    padding: 10px 14px;
    border-radius: 4px;
  }
  .bl_mapBalloon_pref {
    font-size: 15px;
  }
  .bl_mapBalloon_tags {
    gap: 4px;
  }
  .bl_mapBalloon .el_tagLine {
    min-width: 0;
    padding: 0 10px;
    font-size: 13px;
    line-height: 22px;
  }
  .bl_mapBalloon__aichi {
    top: 52%;
    left: 8%;
  }
  .bl_mapBalloon__aichi::after {
    width: 22px;
    height: 24px;
  }
  .bl_mapBalloon__tokyo {
    top: 44%;
    left: 58%;
    padding-block: 8px;
  }
  .bl_mapBalloon__tokyo::after {
    left: 50px;
    width: 18px;
    height: 26px;
  }
  .bl_facItem {
    gap: 24px;
  }
  .bl_facItem_img {
    width: 220px;
  }
  .bl_facItem_name {
    font-size: 20px;
  }
  .bl_facItem .el_btnS {
    width: 220px;
  }
  .bl_newsCards {
    gap: 24px;
  }
  .bl_newsCard_noimg .bl_logo_mark {
    width: 50px;
  }
  .bl_newsCard_noimg .bl_logo_sub {
    font-size: 8px;
  }
  .bl_newsCard_noimg .bl_logo_main {
    font-size: 15px;
  }
}
@media (max-width: 992px) {
  .bl_mv {
    height: 560px;
  }
  .bl_mv_copy {
    top: 110px;
    left: 40px;
  }
  .bl_mv_catchLine .el_lg {
    font-size: 36px;
  }
  .bl_mv_catchLine__xl {
    font-size: 30px;
  }
  .bl_mv_catchLine__xl .el_lg {
    font-size: 50px;
  }
  .bl_mv_shape {
    width: 800px;
    left: -86px;
  }
  .bl_mv_pager.swiper-pagination {
    right: 20px !important;
  }
  .bl_purpose {
    margin-top: -143px;
  }
  .bl_purpose::before {
    top: 143px;
    height: calc(100% - 143px);
  }
  .bl_purpose_list {
    grid-template-columns: repeat(3, 1fr);
  }
  .bl_purposeCard {
    min-height: 0;
    padding: 24px 12px;
  }
  .bl_purposeCard_ttl {
    font-size: 16px;
  }
  .bl_topAbout_inner {
    grid-template-columns: 1fr;
    grid-template-areas: "main" "body";
    max-width: 720px;
  }
  .bl_topAbout_main {
    aspect-ratio: 16/10;
    margin-top: 60px;
  }
  .bl_topAbout_body {
    padding-top: 0;
  }
  .bl_topAbout_sub__02 {
    display: none;
  }
  .bl_topFac_inner {
    flex-direction: column;
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .bl_topFac_head {
    display: block;
    flex: none;
  }
  .bl_topFac_map {
    position: relative;
    top: auto;
    left: -40px;
    width: calc(100% + 80px);
    max-width: 640px;
    margin-top: 30px;
    z-index: 0;
  }
  .bl_topFac_list {
    width: 100%;
  }
  .bl_topNews_inner {
    padding-top: 80px;
    padding-bottom: 80px;
  }
  .bl_newsCards {
    grid-template-columns: repeat(2, 1fr);
  }
  .bl_topRecruit {
    display: flex;
    flex-direction: column;
  }
  .bl_topRecruit_img {
    position: relative;
    top: auto;
    width: 100%;
    height: auto;
    aspect-ratio: 421/202;
  }
  .bl_topRecruit_inner {
    min-height: 0;
    padding-top: 40px;
    padding-bottom: 80px;
  }
  .bl_topRecruit_body {
    width: 100%;
    padding-top: 0;
  }
}
@media (max-width: 768px) {
  .bl_mv {
    height: 262px;
  }
  .bl_mv_img {
    height: 100%;
  }
  .bl_mv_slide {
    background: none;
  }
  .bl_mv_shape {
    left: -40px;
    width: 360px;
    height: 270px;
  }
  .bl_mv_copy {
    top: 72px;
    left: 20px;
    text-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
  }
  .bl_mv_catch {
    font-size: 16px;
    letter-spacing: 0.04em;
  }
  .bl_mv_catchLine .el_lg {
    font-size: 24px;
  }
  .bl_mv_catchLine__xl {
    margin-top: 4px;
    font-size: 24px;
  }
  .bl_mv_catchLine__xl .el_lg {
    font-size: 36px;
  }
  .bl_mv_en {
    margin-top: 10px;
    font-size: 10px;
  }
  .bl_mv_pager.swiper-pagination {
    right: 14px !important;
    gap: 10px;
  }
  .bl_mv_bullet {
    width: 5px;
    height: 5px;
  }
  .bl_purpose {
    margin-top: 0;
    padding-bottom: 10px;
  }
  .bl_purpose::before {
    top: 0;
    height: 100%;
  }
  .bl_purpose_list {
    grid-template-columns: 1fr;
    padding-inline: 20px;
  }
  .bl_purpose_more {
    padding-inline: 20px;
    margin-top: 16px;
  }
  .bl_purposeCard {
    flex-direction: row;
    align-items: center;
    gap: 22px;
    min-height: 100px;
    padding: 20px;
    background-color: #fff;
    text-align: left;
  }
  .bl_purposeCard::after {
    border-width: 0 0 8px 8px;
  }
  .bl_purposeCard_img {
    width: 60px;
    height: 60px;
    flex-shrink: 0;
  }
  .bl_purposeCard_body {
    align-items: flex-start;
    gap: 4px;
    margin-top: 0;
  }
  .bl_purposeCard_ttl {
    font-size: 18px;
    letter-spacing: 0;
  }
  .bl_topAbout {
    padding-top: 36px;
    padding-bottom: 60px;
  }
  .bl_topAbout_inner {
    display: block;
    padding-inline: 20px;
    padding-top: calc((100vw - 40px) * 0.834);
  }
  .bl_topAbout_main, .bl_topAbout_sub {
    position: absolute;
    height: auto;
    margin-top: 0;
  }
  .bl_topAbout_main {
    top: 0;
    left: 0;
    width: 40%;
    aspect-ratio: 160/225;
  }
  .bl_topAbout_sub__01 {
    display: block;
    top: calc((100vw - 40px) * 0.0833);
    left: 55.75%;
    width: 26.25%;
    aspect-ratio: 105/117;
  }
  .bl_topAbout_sub__02 {
    display: block;
    top: calc((100vw - 40px) * 0.5417);
    left: 63.5%;
    width: 30%;
    aspect-ratio: 120/161;
  }
  .bl_topAbout_body {
    padding-top: 0;
  }
  .bl_topAbout_ttl {
    font-size: 32px;
    line-height: 1.5;
    letter-spacing: 0;
  }
  .bl_topAbout_txt {
    margin-top: 24px;
    font-size: 16px;
    line-height: 2.33;
    letter-spacing: 0;
  }
  .bl_topAbout .el_btn {
    margin-top: 30px;
  }
  .bl_marquee {
    top: calc((100vw - 40px) * 0.834);
  }
  .bl_marquee_group {
    gap: 30px;
    padding-right: 30px;
  }
  .bl_marquee_group span {
    font-size: 90px;
  }
  .bl_topFac_inner {
    padding: 60px 20px 60px;
  }
  .bl_topFac_lead {
    margin-top: 20px;
    font-size: 16px;
    line-height: 1.88;
    letter-spacing: 0;
  }
  .bl_topFac .el_btn {
    margin-top: 24px;
  }
  .bl_topFac_head {
    padding-bottom: 190px;
  }
  .bl_topFac_map {
    position: absolute;
    top: 70px;
    left: -60px;
    width: 470px;
    max-width: none;
    margin-top: 0;
    z-index: -1;
  }
  .bl_mapBalloon {
    gap: 8px;
    padding: 8px 10px;
    border-radius: 4px;
  }
  .bl_mapBalloon_pref {
    font-size: 13px;
  }
  .bl_mapBalloon_tags {
    gap: 4px;
  }
  .bl_mapBalloon__aichi {
    top: 50%;
    left: 46px;
  }
  .bl_mapBalloon__aichi::after {
    width: 18px;
    height: 20px;
  }
  .bl_mapBalloon__tokyo {
    top: 45%;
    left: 49%;
    padding-block: 8px;
  }
  .bl_mapBalloon__tokyo::after {
    left: 40px;
    width: 16px;
    height: 22px;
  }
  .bl_facGroup + .bl_facGroup {
    margin-top: 40px;
  }
  .bl_facGroup_list {
    margin-top: 16px;
  }
  .bl_facItem {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
    padding: 0 0 24px;
  }
  .bl_facItem + .bl_facItem {
    padding-top: 24px;
  }
  .bl_facItem_img {
    width: 100%;
    aspect-ratio: 360/245;
  }
  .bl_facItem_area {
    font-size: 12px;
  }
  .bl_facItem_name {
    font-size: 20px;
  }
  .bl_facItem .el_btnS {
    width: auto;
  }
  .bl_topNews_inner {
    padding: 60px 20px 60px;
  }
  .bl_topNews_head {
    margin-bottom: 30px;
  }
  .bl_topNews_head .el_textLink {
    margin-bottom: 8px;
  }
  .bl_newsCards {
    grid-template-columns: 1fr;
    gap: 30px;
  }
  .bl_newsCard_body {
    padding: 16px 20px 24px;
  }
  .bl_newsCard_date {
    flex-basis: auto;
    margin-right: 4px;
  }
  .bl_newsCard_ttl {
    margin-top: 8px;
  }
  .bl_newsCard_noimg .bl_logo_mark {
    width: 83px;
  }
  .bl_newsCard_noimg .bl_logo_sub {
    font-size: 11.8px;
  }
  .bl_newsCard_noimg .bl_logo_main {
    font-size: 23.7px;
  }
  .bl_topRecruit_inner {
    padding: 40px 20px 60px;
  }
  .bl_topRecruit_txt {
    margin-top: 20px;
    font-size: 18px;
    line-height: 1.78;
    letter-spacing: 0;
  }
  .bl_topRecruit .el_btn {
    margin-top: 30px;
  }
}
@media (max-width: 768px) {
  .bl_topRecruit {
    background: url("../img/common/bg_noise.png") repeat, #f6f1e9;
    background-size: 100px auto, auto;
  }
  .bl_newsCard_ttl,
  .bl_facItem_name,
  .bl_purposeCard_ttl {
    letter-spacing: 0;
  }
}
@media (max-width: 1280px) {
  .bl_pageHead {
    padding-top: 140px;
  }
  .bl_pageHead_en {
    top: -30px;
    font-size: 180px;
  }
  .bl_pageHead_ttl {
    font-size: 60px;
  }
}
@media (max-width: 992px) {
  .bl_pageHead {
    padding-top: 110px;
  }
  .bl_pageHead_box {
    padding-bottom: 40px;
  }
  .bl_pageHead_en {
    top: -16px;
    font-size: 120px;
  }
  .bl_pageHead_ttl {
    font-size: 44px;
  }
}
@media (max-width: 768px) {
  .bl_pageHead {
    padding-top: 106px;
  }
  .bl_pageHead_inner {
    padding-inline: 20px;
  }
  .bl_pageHead_box {
    padding-bottom: 18px;
  }
  .bl_pageHead_en {
    top: auto;
    bottom: 34px;
    font-size: 64px;
  }
  .bl_pageHead_ttl {
    font-size: 32px;
    line-height: 1.4;
    letter-spacing: 0.02em;
  }
  .bl_pageHead .bl_breadcrumb {
    margin-top: 62px;
  }
}
@media (max-width: 1280px) {
  .bl_sideLayout {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 40px;
  }
}
@media (max-width: 992px) {
  .bl_sideLayout {
    display: block;
  }
  .bl_sideLayout_main {
    margin-top: 56px;
  }
  .bl_sideNav {
    position: static;
    padding: 0;
  }
  .bl_sideNav_list {
    display: grid;
    grid-auto-columns: minmax(0, 1fr);
    grid-auto-flow: column;
  }
  .bl_sideNav_item + .bl_sideNav_item {
    border-left: 1px solid rgba(255, 255, 255, 0.3);
  }
  .bl_sideNav_link, .bl_sideNav_item:first-child .bl_sideNav_link {
    height: 100%;
    min-height: 64px;
    padding: 8px 14px;
    color: #fff;
    font-weight: 500;
  }
  .bl_sideNav_link::before, .bl_sideNav_item:first-child .bl_sideNav_link::before {
    display: none;
  }
  .bl_sideNav_txt br {
    display: none;
  }
}
@media (max-width: 768px) {
  .bl_sideNav_list {
    grid-auto-flow: row;
  }
  .bl_sideNav_item + .bl_sideNav_item {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.3);
  }
  .bl_sideNav_link, .bl_sideNav_item:first-child .bl_sideNav_link {
    min-height: 52px;
    padding: 8px 18px;
  }
}
@media (max-width: 1280px) {
  .bl_aboutCard_body {
    width: 62%;
    padding: 56px 40px 52px 48px;
  }
}
@media (max-width: 992px) {
  .bl_aboutPage {
    padding-bottom: 100px;
  }
  .bl_aboutPage_lead {
    font-size: 18px;
    line-height: 2.2;
  }
  .bl_aboutCards {
    gap: 64px;
    margin-top: 56px;
  }
  .bl_aboutCard_body {
    width: 68%;
    padding: 40px 32px 40px 36px;
  }
  .bl_aboutCard_txt {
    margin-top: 28px;
    font-size: 18px;
  }
  .bl_aboutCard_btn {
    margin-top: 32px;
  }
}
@media (max-width: 768px) {
  .bl_aboutPage {
    padding-top: 40px;
    padding-inline: 20px;
    padding-bottom: 80px;
  }
  .bl_aboutPage_lead {
    font-size: 16px;
    line-height: 2;
  }
  .bl_aboutCards {
    gap: 48px;
    margin-top: 40px;
  }
  .bl_aboutCard {
    flex-direction: column;
    padding: 0;
  }
  .bl_aboutCard_img, .bl_aboutCard__rev .bl_aboutCard_img {
    position: static;
    width: 100%;
    aspect-ratio: 760/536;
  }
  .bl_aboutCard_body {
    width: calc(100% - 24px);
    margin: -32px auto 0;
    padding: 28px 20px 32px;
  }
  .bl_aboutCard_txt {
    margin-top: 20px;
    font-size: 16px;
    line-height: 2;
  }
  .bl_aboutCard_btn {
    margin-top: 24px;
  }
}
@media (max-width: 1280px) {
  .bl_newsRow_link {
    grid-template-columns: 220px minmax(0, 1fr) 32px;
    gap: 24px;
    padding: 24px;
  }
  .bl_newsRow_ttl {
    font-size: 20px;
  }
}
@media (max-width: 992px) {
  .bl_newsArchive,
  .bl_newsSingle {
    padding-bottom: 100px;
  }
  .bl_post {
    padding: 44px 40px 60px;
  }
  .bl_post_ttl {
    font-size: 26px;
  }
}
@media (max-width: 768px) {
  .bl_newsArchive {
    padding: 32px 20px 80px;
  }
  .bl_newsFilter_row + .bl_newsFilter_row {
    margin-top: 24px;
  }
  .bl_newsFilter_label {
    font-size: 17px;
  }
  .bl_newsFilter_icon {
    height: 18px;
  }
  .bl_newsFilter_list {
    gap: 8px;
    margin-top: 10px;
  }
  .bl_newsFilter_btn {
    min-height: 36px;
    padding: 4px 10px;
    font-size: 14px;
  }
  .bl_newsList {
    gap: 16px;
    margin-top: 40px;
  }
  .bl_newsRow_link {
    grid-template-columns: 110px minmax(0, 1fr);
    align-items: start;
    gap: 14px;
    padding: 16px;
  }
  .bl_newsRow_arrow {
    display: none;
  }
  .bl_newsRow_body {
    padding-right: 0;
  }
  .bl_newsRow_ttl {
    margin-top: 6px;
    padding-bottom: 8px;
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0;
  }
  .bl_newsRow_txt {
    display: none;
  }
  .bl_newsRow .bl_newsCard_noimg .bl_logo {
    gap: 3px;
  }
  .bl_newsRow .bl_newsCard_noimg .bl_logo_mark {
    width: 34px;
  }
  .bl_newsRow .bl_newsCard_noimg .bl_logo_sub {
    display: none;
  }
  .bl_newsRow .bl_newsCard_noimg .bl_logo_main {
    font-size: 11px;
  }
  .bl_newsSingle {
    padding: 32px 20px 80px;
  }
  .bl_post {
    padding: 28px 20px 40px;
  }
  .bl_post_head {
    padding-bottom: 20px;
  }
  .bl_post_date {
    font-size: 14px;
  }
  .bl_post_ttl {
    font-size: 22px;
    letter-spacing: 0;
  }
  .bl_post_body {
    margin-top: 24px;
  }
  .el_tag__lg {
    padding: 2px 8px;
    font-size: 13px;
  }
  .bl_share {
    flex-direction: column;
    gap: 14px;
    margin-top: 40px;
    padding: 28px 0;
  }
  .bl_related {
    margin-top: 60px;
  }
  .bl_related_list {
    margin-top: 24px;
  }
  .hp_editor > * + * {
    margin-top: 24px;
  }
  .hp_editor h2 {
    font-size: 20px;
  }
  .hp_editor h3 {
    font-size: 18px;
  }
  .hp_editor .gallery,
  .hp_editor .wp-block-gallery {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .hp_editor .alignleft,
  .hp_editor .alignright {
    float: none;
    margin: 0 auto 16px;
  }
}
@media (max-width: 992px) {
  .bl_faqPage {
    padding-bottom: 100px;
  }
  .bl_faq_mark, .bl_faq_qTxt {
    font-size: 20px;
  }
}
@media (max-width: 768px) {
  .bl_faqPage {
    padding: 40px 20px 80px;
  }
  .bl_faqGroup + .bl_faqGroup {
    margin-top: 56px;
  }
  .bl_faqList {
    gap: 12px;
  }
  .el_barTtl + .bl_faqList {
    margin-top: 24px;
  }
  .bl_faq_btn {
    grid-template-columns: 26px minmax(0, 1fr) 28px;
    padding: 16px 16px 16px 16px;
  }
  .bl_faq_mark, .bl_faq_qTxt {
    font-size: 17px;
    line-height: 1.65;
  }
  .bl_faq_qTxt {
    letter-spacing: 0;
  }
  .bl_faq_icon {
    width: 16px;
    height: 16px;
  }
  .bl_faq_icon::before, .bl_faq_icon::after {
    width: 16px;
  }
  .bl_faq_aInner {
    grid-template-columns: 26px minmax(0, 1fr);
    padding: 14px 16px 18px;
  }
  .bl_faq_aInner::before {
    left: 16px;
    right: 16px;
  }
  .bl_faq_aTxt {
    padding-top: 1px;
    font-size: 15px;
  }
}
@media (max-width: 1400px) {
  .bl_facGroup_list__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 1280px) {
  .bl_serviceBox {
    padding: 48px;
  }
  .bl_serviceItem {
    gap: 32px;
  }
  .bl_serviceItem_ttl {
    font-size: 28px;
  }
}
@media (max-width: 992px) {
  .bl_servicePage {
    padding-bottom: 100px;
  }
  .bl_serviceBox {
    padding: 40px;
  }
  .bl_serviceItem,
  .bl_serviceItem__rev {
    grid-template-columns: 1fr;
    grid-template-areas: "img" "body";
    gap: 28px;
  }
  .bl_serviceItem + .bl_serviceItem {
    margin-top: 40px;
  }
  .bl_serviceFac_inner {
    padding-top: 90px;
    padding-bottom: 100px;
  }
  .bl_serviceBnr {
    padding: 100px 40px;
  }
  .bl_bnr {
    grid-template-columns: 40% minmax(0, 1fr);
  }
  .bl_bnr_body {
    padding: 32px;
  }
}
@media (max-width: 768px) {
  .bl_servicePage {
    padding: 40px 20px 80px;
  }
  .bl_serviceSec + .bl_serviceSec {
    margin-top: 48px;
  }
  .bl_serviceBox {
    margin-top: 28px;
    padding: 20px 20px 28px;
  }
  .bl_serviceItem {
    gap: 20px;
  }
  .bl_serviceItem + .bl_serviceItem {
    margin-top: 28px;
    padding-top: 28px;
  }
  .bl_serviceItem_head {
    padding-left: 14px;
  }
  .bl_serviceItem_ttl {
    margin-top: 4px;
    font-size: 22px;
    letter-spacing: 0;
  }
  .bl_serviceItem_txt {
    margin-top: 14px;
    line-height: 1.8;
  }
  .bl_serviceItem_places {
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px 16px;
  }
  .bl_serviceItem_places dt {
    padding: 0 0 6px;
    border-right: 0;
    border-bottom: 1px dashed #d2d2d8;
    align-self: stretch;
  }
  .bl_serviceItem_places dd {
    padding-left: 0;
  }
  .bl_serviceItem_places ul {
    gap: 2px 20px;
  }
  .bl_serviceItem_btn {
    margin-top: 24px;
  }
  .bl_serviceFac_inner {
    padding: 60px 20px 70px;
  }
  .bl_serviceFac_lead {
    margin-top: 24px;
    font-size: 16px;
  }
  .bl_serviceFac .bl_facGroup {
    margin-top: 36px;
  }
  .bl_serviceFac .bl_facGroup + .bl_facGroup {
    margin-top: 40px;
  }
  .bl_facGroup_list__grid .bl_facItem {
    gap: 12px;
    padding: 20px 0 24px;
  }
  .bl_facGroup_list__grid .bl_facItem_img {
    width: 100%;
    aspect-ratio: 360/245;
  }
  .bl_serviceBnr {
    padding: 60px 20px;
  }
  .bl_bnr {
    grid-template-columns: 1fr;
  }
  .bl_bnr_img {
    aspect-ratio: 16/10;
  }
  .bl_bnr_body {
    padding: 24px 20px 28px;
  }
}
@media (max-width: 1280px) {
  .bl_formRow {
    grid-template-columns: 200px minmax(0, 1fr);
  }
  .bl_formRow::after {
    width: 200px;
  }
  .bl_telCards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
  }
}
@media (max-width: 992px) {
  .bl_contact {
    padding-bottom: 100px;
  }
  .bl_contact_lead {
    font-size: 18px;
    line-height: 2.2;
  }
  .bl_contactBox {
    padding: 56px 40px 48px;
  }
  .bl_contactBox_intro {
    font-size: 18px;
  }
  .bl_steps_item + .bl_steps_item {
    margin-left: 120px;
  }
  .bl_steps_item + .bl_steps_item::before {
    width: 120px;
  }
  .bl_telCards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 768px) {
  .bl_contact {
    padding: 40px 20px 80px;
  }
  .bl_contact_lead {
    font-size: 16px;
    line-height: 2;
    text-align: left;
  }
  .bl_contact_lead br {
    display: none;
  }
  .bl_contactBox {
    margin-top: 32px;
    padding: 36px 20px 40px;
  }
  .bl_contactBox_intro {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.75;
  }
  .bl_contact[data-step=confirm] .bl_contactBox, .bl_contact[data-step=complete] .bl_contactBox {
    padding-bottom: 48px;
  }
  .bl_steps {
    margin-top: 32px;
  }
  .bl_steps_item {
    width: 56px;
  }
  .bl_steps_item + .bl_steps_item {
    margin-left: 48px;
  }
  .bl_steps_item + .bl_steps_item::before {
    top: 28px;
    width: 48px;
  }
  .bl_steps_num {
    width: 56px;
    height: 56px;
    font-size: 18px;
  }
  .bl_steps_label {
    font-size: 14px;
  }
  .bl_form {
    margin-top: 16px;
  }
  .bl_contact[data-step=confirm] .bl_form {
    margin-top: 28px;
  }
  .bl_formRow {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 20px 0 24px;
  }
  .bl_formRow::after {
    display: none;
  }
  .bl_formRow_head {
    justify-content: flex-start;
    padding-top: 0;
  }
  .bl_formRow_body__half {
    max-width: none;
  }
  .bl_formRow_body input[type=text],
  .bl_formRow_body input[type=email],
  .bl_formRow_body input[type=tel],
  .bl_formRow_body select,
  .bl_formRow_body textarea {
    min-height: 52px;
    padding: 12px 14px;
    font-size: 16px;
  }
  .bl_formRow_body select {
    padding-right: 40px;
    background-position: right 14px center, 0 0;
  }
  .bl_contact[data-step=confirm] .bl_formRow {
    padding: 16px 0;
  }
  .bl_contact[data-step=confirm] .bl_formRow .bl_formRow_body {
    padding-left: 0;
  }
  .bl_formAgree {
    margin-top: 28px;
    font-size: 15px;
  }
  .bl_formBtns {
    gap: 20px;
    margin-top: 28px;
  }
  .bl_formComplete_ttl {
    font-size: 22px;
  }
  .bl_formComplete_txt {
    font-size: 15px;
    text-align: left;
  }
  .bl_formComplete_txt br {
    display: none;
  }
  .bl_formComplete_btn {
    margin-top: 32px;
  }
  .bl_contactTel {
    margin-top: 48px;
    padding-top: 44px;
  }
  .bl_contactTel_group {
    margin-top: 36px;
  }
  .bl_contactTel_group + .bl_contactTel_group {
    margin-top: 36px;
  }
  .bl_telCards {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 20px;
  }
  .bl_telCard_name {
    font-size: 17px;
  }
  .bl_telCard_body {
    padding: 12px 10px 14px;
  }
}
@media (max-width: 768px) {
  .bl_contactBox .el_lineTtl_ja {
    font-size: min(22px, 5.6vw);
  }
  .bl_contactBox .el_lineTtl_ja::after {
    width: 32px;
  }
}
@media (max-width: 1280px) {
  .bl_docList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px 20px;
  }
  .bl_matCard {
    grid-template-columns: 40% minmax(0, 1fr);
  }
}
@media (max-width: 992px) {
  .bl_materials {
    padding-top: 48px;
    padding-bottom: 100px;
  }
  .bl_materialsSec {
    scroll-margin-top: calc(56px + 20px);
  }
  .bl_materialsSec + .bl_materialsSec {
    margin-top: 64px;
    padding-top: 64px;
  }
  .bl_docGroup,
  .bl_docGroup + .bl_docGroup {
    margin-top: 56px;
  }
  .bl_docGroup .el_barTtl {
    font-size: 26px;
  }
  .bl_docList {
    margin-top: 28px;
  }
  .bl_matCard {
    margin-top: 48px;
  }
  .bl_materialsSec_txt {
    margin-top: 40px;
    font-size: 16px;
  }
  .bl_materialsSec_btn {
    margin-top: 40px;
  }
}
@media (max-width: 768px) {
  .bl_docGroup .el_barTtl {
    font-size: 22px;
  }
  .bl_docList {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 20px;
  }
  .bl_docLink {
    min-height: 68px;
    font-size: 15px;
  }
  .bl_matCard {
    display: block;
  }
  .bl_matCard_body {
    padding: 32px 20px 36px;
  }
  .bl_matCard_txt {
    margin-top: 20px;
    font-size: 15px;
  }
  .bl_matCard_txt br {
    display: none;
  }
  .bl_matCard_btn {
    width: 100%;
    margin-top: 28px;
  }
  .bl_materialsSec_btn {
    width: 100%;
  }
  .bl_matCard .el_barTtl {
    font-size: 22px;
  }
}
@media (max-width: 1280px) {
  .bl_jobList {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .bl_flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px 56px;
    max-width: 560px;
    margin-inline: auto;
  }
  .bl_flow_item + .bl_flow_item::before {
    left: -37px;
  }
  .bl_flow_item:nth-child(2n+1)::before {
    display: none;
  }
  .bl_voice {
    grid-template-columns: 150px minmax(0, 1fr);
  }
  .bl_expTable th {
    width: 200px;
  }
  .bl_expBnr {
    grid-template-columns: 40% minmax(0, 1fr);
  }
  .bl_expBnr .bl_bnr_body {
    padding: 32px;
  }
}
@media (max-width: 992px) {
  .bl_expIntro {
    padding-top: 56px;
    background: linear-gradient(#fff calc(100% - 100px), transparent calc(100% - 100px));
  }
  .bl_expIntro_catch {
    font-size: 26px;
  }
  .bl_expIntro_txt {
    font-size: 16px;
    line-height: 2.2;
  }
  .bl_exp {
    padding-top: 64px;
    padding-bottom: 100px;
  }
  .bl_expSec {
    scroll-margin-top: calc(56px + 20px);
  }
  .bl_expSec + .bl_expSec {
    margin-top: 64px;
    padding-top: 64px;
  }
  .bl_expSec_lead {
    margin-top: 36px;
    font-size: 16px;
  }
  .bl_expSec_img {
    margin-top: 40px;
  }
  .bl_expSub {
    margin-top: 64px;
  }
  .bl_expSub .el_barTtl {
    font-size: 24px;
  }
  .bl_expBnr {
    margin-top: 64px;
  }
  .bl_expBnr .el_barTtl {
    font-size: 24px;
  }
  .bl_timeline_time {
    font-size: 26px;
  }
}
@media (max-width: 768px) {
  .bl_expIntro {
    padding-top: 40px;
    background: linear-gradient(#fff calc(100% - 60px), transparent calc(100% - 60px));
  }
  .bl_expIntro_catch {
    font-size: min(18px, 3.9vw);
    letter-spacing: 0;
  }
  .bl_expIntro_txt {
    margin-top: 16px;
    font-size: 14px;
    line-height: 2;
  }
  .bl_expIntro_txt br {
    display: none;
  }
  .bl_expIntro_img {
    margin-top: 24px;
  }
  .bl_expSec_lead,
  .bl_expSub_txt {
    font-size: 15px;
  }
  .bl_expSec_lead br,
  .bl_expSub_txt br {
    display: none;
  }
  .bl_expSec_lead {
    margin-top: 28px;
  }
  .bl_expSec_img {
    margin-top: 28px;
  }
  .bl_expSub {
    margin-top: 48px;
  }
  .bl_expSub .el_barTtl {
    font-size: 20px;
  }
  .bl_expBnr {
    grid-template-columns: minmax(0, 1fr);
  }
  .bl_expBnr .bl_bnr_body {
    padding: 24px 20px 28px;
  }
  .bl_expBnr .el_barTtl {
    font-size: 20px;
  }
  .bl_jobList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 16px;
    margin-top: 12px;
  }
  .bl_jobList_item {
    padding: 14px 0 14px 16px;
    font-size: 15px;
  }
  .bl_jobList_item::before {
    top: calc(14px + 0.8em - 3px);
    width: 6px;
    height: 6px;
  }
  .bl_expTable {
    margin-top: 24px;
    font-size: 14px;
  }
  .el_barTtl + .bl_expTable {
    margin-top: 24px;
  }
  .bl_expTable tr,
  .bl_expTable th,
  .bl_expTable td {
    display: block;
  }
  .bl_expTable th {
    width: auto;
    padding: 12px 16px;
    border-right: 0;
  }
  .bl_expTable td {
    padding: 14px 16px 18px;
  }
  .bl_expTable tr + tr th {
    border-top: 1px solid #d2d2d8;
  }
  .bl_expTable tr + tr td {
    border-top: 0;
  }
  .bl_timeline {
    margin-top: 24px;
    padding-left: 32px;
  }
  .bl_timeline::before {
    left: 6px;
  }
  .bl_timeline_item {
    grid-template-columns: minmax(0, 1fr);
    padding: 16px 18px;
  }
  .bl_timeline_item + .bl_timeline_item {
    margin-top: 12px;
  }
  .bl_timeline_item::before {
    left: -32px;
    width: 13px;
    height: 13px;
    margin-top: -6.5px;
  }
  .bl_timeline_item::after {
    left: -10px;
    margin-top: -9px;
    border-width: 9px 10px 9px 0;
  }
  .bl_timeline_time {
    font-size: 22px;
    text-align: left;
  }
  .bl_timeline_body {
    margin-top: 8px;
    padding: 10px 0 0;
    border-top: 1px dashed #d2d2d8;
    border-left: 0;
  }
  .bl_timeline_ttl {
    font-size: 16px;
  }
  .bl_timeline_txt {
    font-size: 14px;
  }
  .bl_flow {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
    max-width: 260px;
    margin-top: 32px;
  }
  .bl_flow_item + .bl_flow_item::before, .bl_flow_item:nth-child(2n+1)::before {
    display: block;
    top: -30px;
    left: 50%;
    margin-left: -9px;
    transform: scaleY(0.5) rotate(135deg);
  }
  .bl_flow_item:first-child::before {
    display: none;
  }
  .bl_flow_circle {
    width: 200px;
    margin-inline: auto;
  }
  .bl_flow_ttl {
    font-size: 20px;
  }
  .bl_flow_icon {
    margin-top: 12px;
  }
  .bl_flow_txt {
    font-size: 14px;
  }
  .bl_voiceList {
    gap: 20px;
    margin-top: 32px;
  }
  .bl_voice {
    grid-template-columns: minmax(0, 1fr);
    padding: 44px 18px 24px;
  }
  .bl_voice_person {
    padding: 0 0 14px;
    border-right: 0;
    border-bottom: 1px dashed #d2d2d8;
  }
  .bl_voice_attr {
    display: inline;
    margin: 0 0 0 4px;
  }
  .bl_voice_body {
    padding: 16px 0 0;
  }
  .bl_voice_q {
    padding-left: 28px;
    font-size: 16px;
  }
  .bl_voice_q::before {
    width: 20px;
  }
  .bl_voice_a {
    margin-top: 10px;
    font-size: 14px;
  }
  .bl_faqList__sm {
    gap: 12px;
  }
  .bl_faqList__sm .bl_faq_mark,
  .bl_faqList__sm .bl_faq_qTxt {
    font-size: 16px;
  }
  .bl_faqList__sm .bl_faq_aInner .bl_faq_mark {
    font-size: 17px;
  }
  .bl_faqList__sm .bl_faq_aTxt {
    font-size: 14px;
  }
}
@media (max-width: 1400px) {
  .bl_recIntro_body {
    width: 52%;
  }
  .bl_recIntro_txt {
    font-size: 16px;
  }
  .bl_recIntro_txt br {
    display: none;
  }
}
@media (max-width: 1280px) {
  .bl_staffList {
    gap: 16px;
  }
  .bl_staffCard_catch {
    font-size: 15px;
  }
  .bl_staffCard_body {
    padding: 18px 52px 22px 16px;
  }
  .bl_staffCard_name {
    font-size: 20px;
  }
  .bl_staffCard_arrow {
    right: 14px;
  }
  .bl_careerBox {
    padding: 10px 30px 40px;
  }
  .bl_career_steps {
    gap: 14px;
  }
  .bl_careerStep {
    padding: 24px 14px 26px;
  }
  .bl_careerStep_num {
    font-size: 34px;
  }
  .bl_careerStep_list {
    font-size: 14px;
  }
  .bl_training {
    grid-template-columns: 240px minmax(0, 1fr);
    gap: 28px;
    padding: 24px;
  }
  .bl_training__rev {
    grid-template-columns: minmax(0, 1fr) 240px;
  }
  .bl_benefitList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  .bl_recJobs {
    grid-template-columns: 34% minmax(0, 1fr);
  }
  .bl_recJobs .bl_bnr_body {
    padding: 40px 32px;
  }
}
@media (max-width: 992px) {
  .bl_recIntro {
    background: radial-gradient(ellipse 70% 40% at 50% 30%, rgba(255, 255, 255, 0.85), rgba(255, 255, 255, 0)), url("../img/recruit/intro-bg.jpg") center/cover no-repeat, #cfe6f4;
  }
  .bl_recIntro_inner {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    min-height: 0;
    padding-bottom: 56px;
  }
  .bl_recIntro_body {
    grid-column: 1/-1;
    width: auto;
    max-width: 640px;
    padding: 56px 0 24px;
  }
  .bl_recIntro_catch {
    font-size: 30px;
  }
  .bl_recIntro_txt {
    margin-top: 28px;
  }
  .bl_recIntro_photos {
    position: static;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    align-items: start;
  }
  .bl_recIntro_photos .bl_recIntro_photo {
    position: static;
    width: auto;
  }
  .bl_recIntro_photo img {
    aspect-ratio: 1;
    object-fit: cover;
  }
  .bl_rec {
    padding-top: 64px;
    padding-bottom: 100px;
  }
  .bl_staffList,
  .bl_careerBox,
  .bl_trainingList,
  .bl_benefitList,
  .bl_recJobs,
  .bl_recFaq {
    margin-top: 40px;
  }
  .bl_career_steps {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    margin-top: 24px;
  }
  .bl_careerStep:nth-child(n) {
    margin-top: 0;
  }
  .bl_careerStep_head {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-bottom: 14px;
  }
  .bl_careerStep_role {
    margin-top: 0;
  }
  .bl_careerStep_list {
    margin-top: 16px;
  }
}
@media (max-width: 768px) {
  .bl_recIntro_inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    padding-bottom: 40px;
  }
  .bl_recIntro_body {
    padding: 40px 0 20px;
  }
  .bl_recIntro_catch {
    font-size: min(24px, 6vw);
  }
  .bl_recIntro_txt {
    margin-top: 20px;
    font-size: 14px;
    line-height: 2.1;
    text-align: left;
  }
  .bl_recIntro_txt > p + p {
    margin-top: 12px;
  }
  .bl_staffList {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    max-width: 320px;
    margin-inline: auto;
  }
  .bl_careerBox {
    padding: 0 16px 28px;
  }
  .bl_career {
    padding-top: 28px;
  }
  .bl_career + .bl_career {
    margin-top: 28px;
  }
  .bl_career_head {
    padding-left: 14px;
  }
  .bl_career_ttl {
    font-size: 22px;
  }
  .bl_career_sub {
    font-size: 13px;
  }
  .bl_careerStep {
    padding: 18px 16px 20px;
  }
  .bl_careerStep_head {
    flex-wrap: wrap;
    gap: 4px 12px;
  }
  .bl_careerStep_num {
    font-size: 30px;
  }
  .bl_training,
  .bl_training__rev {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0;
  }
  .bl_training__rev .bl_training_img {
    order: 0;
  }
  .bl_training_body,
  .bl_training__rev .bl_training_body {
    padding: 20px 18px 24px;
  }
  .bl_training_body .el_barTtl,
  .bl_training__rev .bl_training_body .el_barTtl {
    font-size: 20px;
  }
  .bl_training_txt {
    margin-top: 14px;
  }
  .bl_training_txt br {
    display: none;
  }
  .bl_benefitList {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
  .bl_benefit {
    padding: 18px 20px 22px;
  }
  .bl_benefit_icon {
    width: 96px;
  }
  .bl_benefit_ttl {
    margin-top: 8px;
    font-size: 19px;
  }
  .bl_benefit_txt {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.9;
  }
  .bl_recJobs {
    grid-template-columns: minmax(0, 1fr);
  }
  .bl_recJobs .bl_bnr_img {
    aspect-ratio: 16/10;
  }
  .bl_recJobs .bl_bnr_body {
    padding: 24px 20px 28px;
  }
  .bl_recJobs .el_barTtl {
    font-size: 20px;
  }
  .bl_recJobs .bl_bnr_txt {
    margin-top: 16px;
    font-size: 14px;
  }
  .bl_recJobs .bl_bnr_txt br {
    display: none;
  }
  .bl_recJobs .bl_bnr_btn {
    width: 100%;
    margin-top: 28px;
  }
  .bl_jobList__col2 {
    gap: 0 16px;
  }
  .bl_jobList__col2 .bl_jobList_item {
    padding-top: 12px;
    padding-bottom: 12px;
    font-size: 15px;
  }
  .bl_jobList__col2 .bl_jobList_item::before {
    top: calc(12px + 0.8em - 3px);
  }
}
@media (max-width: 768px) {
  .hp_pcOnly {
    display: none;
  }
  .hp_spOnly {
    display: inline;
  }
}
