@media screen and (max-width: 1500px) {
    .pages #p_mainvisual {
        padding-left: 3%;
    }

    .pages #p_mainvisual .p_mv_cover {
        padding-left: calc(100px + 3%);
    }
}

@media screen and (max-width: 1150px) {}

@media screen and (min-width: 1025px) {

    .pages .wp-pagenavi a:hover {
        color: var(--white-color);
        background: var(--blue-color);
        border-color: var(--blue-color);
    }

    .pages .wp-pagenavi a.previouspostslink:hover,
    .pages .wp-pagenavi a.nextpostslink:hover {
        color: transparent;
    }

    .pages .wp-pagenavi a.nextpostslink:hover::before,
    .pages .wp-pagenavi a.nextpostslink:hover::after,
    .pages .wp-pagenavi a.previouspostslink:hover::before,
    .pages .wp-pagenavi a.previouspostslink:hover::after {
        background-image: url(../images/common/icon_arrow.png);
    }

    .pages .wp-pagenavi a.nextpostslink:hover::before,
    .pages .p_staff .media_back li a:hover .icon::before,
    .pages .p_case .media_back li a:hover .icon::before {
        animation: arrow_animation1 .3s ease forwards;
    }

    .pages .wp-pagenavi a.nextpostslink:hover::after,
    .pages .p_staff .media_back li a:hover .icon::after,
    .pages .p_case .media_back li a:hover .icon::after {
        animation: arrow_animation2 .3s ease forwards .2s;
    }

    .pages .wp-pagenavi a.previouspostslink:hover::before {
        animation: arrow_animation3 .3s ease forwards;
    }

    .pages .wp-pagenavi a.previouspostslink:hover::after {
        animation: arrow_animation4 .3s ease forwards .2s;
    }

    .pages .btn_back li:not(.special-btn) a:hover {
        opacity: .7;
    }

    .pages #blog_info .blog_cate_list li a:hover {
        color: var(--white-color);
        background: #fbb03b;
    }

    .pages .blog_wrap .blog_list .blog_card a:hover figure img,
    .pages .related_blog .blog_list .blog_card a:hover figure img,
    .pages .p_staff .staff_wrap .staff_card a:hover figure img {
        transform: scale(1.1);
        opacity: .7;
    }

    .pages .media_wrap .side_navi dl dd .list_taxo li a:hover {
        color: var(--white-color);
        background: var(--blue-color);
    }

    .pages #contact_box .smf-action .smf-button-control__control:hover {
        color: var(--blue-color);
        background: var(--white-color);
    }

    .pages #gallery_info .gallery_item .gallery_image a:hover::before {
        opacity: 1;
    }

    .pages #gallery_info .gallery_item .gallery_image a:hover .gallery_title {
        opacity: 1;
    }

    .pages #gallery_info .gallery_item .gallery_image a:hover figure img,
    .pages .gallery_contents .gallery_thumbnail li a:hover img,
    .pages #recruit_interview .interview_list .interview_card a:hover figure img {
        transform: scale(1.06, 1.06) translateZ(0);
    }

    .pages .p_staff .media_back li a:hover .icon,
    .pages .p_case .media_back li a:hover .icon {
        background: var(--white-color);
    }

    .pages .p_staff .media_back li a:hover .icon::before,
    .pages .p_staff .media_back li a:hover .icon::after,
    .pages .p_case .media_back li a:hover .icon::before,
    .pages .p_case .media_back li a:hover .icon::after {
        background-image: url(../images/common/icon_arrow02.png);
    }

    .pages #case_info .case_item .case_image a:hover::before,
    .pages #case_info .case_item .case_image a:hover .case_link_txt {
        opacity: 1;
    }
}

@media screen and (max-width: 1024px) {
    .pages h3.under_title {
        font-size: 24px;
    }

    .pages h3.under_title span {
        margin-bottom: 8px;
    }

    .pages #p_mainvisual {
        height: 320px;
    }

    .pages #p_mainvisual .p_mv_component {
        justify-content: flex-end;
        padding-top: 0;
    }

    .pages #p_mainvisual h2 {
        max-width: 280px;
        height: 90px;
        display: flex;
        flex-direction: column;
        justify-content: flex-end;
        font-size: 26px;
        padding-top: 0;
    }

    .pages #p_mainvisual h2::before {
        top: -40px;
        left: 50px;
    }

    .pages #p_mainvisual h2 span {
        font-size: 16px;
    }

    .pages #p_mainvisual .p_mv_txt {
        margin-bottom: 25px;
    }

    .pages #p_mainvisual .p_mv_cover {
        padding-left: calc(50px + 3%);
    }

    .pages .wp-pagenavi {
        gap: 8px;
    }

    .pages .wp-pagenavi span,
    .pages .wp-pagenavi a {
        font-size: 16px;
        margin: 0 0 5px;
    }

    .pages .contents_detail p:not(:last-child) {
        margin-bottom: 25px;
    }

}

@media screen and (max-width: 992px) {}

@media screen and (max-width: 768px) {

    .pages .image_r,
    .pages .image_l {
        float: none;
        text-align: center;
        margin: 0 0 20px;
    }

    /*topic path*/
    .pages #topic_path {
        margin: 0 0 35px;
    }

    .pages #topic_path ul {
        padding: 25px 0 0;
    }

    /*-----table-----*/
    .pages table th,
    .pages table td {
        font-size: 14px;
        padding: 10px 10px;
    }

    /*-----table scroll------*/
    .pages .tb_scroll {
        overflow: scroll;
        margin-bottom: 10px
    }

    .pages .tb_scroll > table {
        width: 800px;
    }

    .pages #content .txt_note {
        display: block;
        font-size: 12px;
        color: #AFAFAF;
        margin-bottom: 8px;
    }

    /*-----table block-----*/
    .pages #content table.tb_block tr th,
    .pages #content table.tb_block tr td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .pages table.tb_block tr th,
    .pages table.tb_block tr td {
        border: none !important;
    }

    .pages table.tb_block tr td {
        padding-left: 10px;
    }

    /*tb_cal*/
    .pages .tb_cal th {
        line-height: 1.3;
    }

    .pages .tb_cal td {
        font-size: 15px;
    }

}

@media screen and (max-width: 576px) {}

@media screen and (max-width: 490px) {}

@media screen and (max-width: 390px) {}

@media screen and (max-width: 320px) {}

/* ------------------------------------------------------
p_blog
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages .p_blog #p_mainvisual h2 i {
        width: 100px;
        height: 153px;
        top: 45px;
        right: -15px;
    }

    .pages #blog_info {
        padding: 55px 0 15px;
    }

    .pages #blog_info .blog_info_txt {
        margin-bottom: 35px;
    }

    .pages #blog_info .blog_cate_list li {
        height: 50px;
    }

    .pages .blog_wrap {
        padding: 50px 0 110px;
    }

    .pages .blog_wrap .blog_list {
        gap: 20px;
        margin-bottom: 20px;
    }

    .pages .blog_wrap .blog_list .blog_card {
        width: calc((100% - 40px) / 3);
        margin-bottom: 15px;
    }

    .pages .blog_wrap .blog_list .blog_card figure {
        height: 20.02vw;
        margin-bottom: 20px;
    }

    .pages .blog_wrap .blog_list .blog_card .card_title {
        font-size: 18px;
    }

    .pages .media_wrap {
        gap: 30px;
        padding: 65px 0 50px;
    }

    .pages .media_wrap .side_navi {
        max-width: 220px;
    }

    .pages .media_wrap .side_navi dl {
        margin-bottom: 35px;
    }

    .pages .media_wrap .side_navi dl dt {
        font-size: 22px;
    }

    .pages .media_wrap .side_navi dl dd .list_taxo {
        border-width: 1px;
        border-radius: 8px;
    }

    .pages .media_wrap .side_navi dl dd .list_taxo li {
        height: 50px;
    }

    .pages .media_wrap .side_navi dl dd .list_taxo li a {
        font-size: 16px;
        border-bottom-width: 1px;
        padding: 0 10px 0 15px;
    }

    .pages .details_wrap .media_headline {
        margin-bottom: 25px;
    }

    .pages .details_wrap .media_meta {
        margin-bottom: 10px;
    }

    .pages .details_wrap .media_title {
        font-size: 24px;
    }

    .pages .details_wrap .contents_detail {
        margin-bottom: 35px;
    }

    .pages .related_blog {
        padding-bottom: 110px;
    }

    .pages .related_blog .related_blog_title {
        font-size: 24px;
        margin-bottom: 35px;
    }

    .pages .related_blog .blog_list {
        gap: 20px;
    }

    .pages .related_blog .blog_list .blog_card {
        width: calc((100% - 40px) / 3);
    }

    .pages .related_blog .blog_list .blog_card figure {
        margin-bottom: 15px;
    }

    .pages .related_blog .blog_list .blog_card .card_meta {
        margin-bottom: 5px;
    }

    .pages .related_blog .blog_list .blog_card .card_title {
        font-size: 18px;
    }
}

@media screen and (max-width: 768px) {
    .pages #blog_info .blog_cate_list li {
        width: calc((100% - 10px) / 2);
    }

    .pages .blog_wrap .blog_list .blog_card {
        width: calc((100% - 20px) / 2);
    }

    .pages .blog_wrap .blog_list .blog_card figure {
        height: 30.47vw;
    }

    .pages .blog_wrap .blog_list .blog_card .card_meta {
        flex-direction: column-reverse;
    }

    .pages .blog_wrap .blog_list .blog_card .cate_group span {
        padding: 2px 15px;
    }

    .pages .media_wrap {
        flex-direction: column;
    }

    .pages .media_wrap .side_navi {
        max-width: 100%;
    }

    .pages .details_wrap .media_meta {
        flex-direction: column-reverse;
        align-items: flex-start;
    }

    .pages .details_wrap .media_meta .media_date {
        padding-bottom: 0;
        margin-bottom: 10px;
    }

    .pages .related_blog .blog_list {
        flex-direction: column;
        align-items: center;
    }

    .pages .related_blog .blog_list .blog_card {
        width: 84.44vw;
        max-width: 380px;
    }

    .pages .related_blog .blog_list .blog_card figure {
        height: 53.33vw;
    }

    .pages .related_blog .blog_list .blog_card .card_meta {
        flex-direction: column-reverse;
    }

    .pages .related_blog .blog_list .blog_card .cate_group span {
        padding: 2px 15px;
    }
}

@media screen and (max-width: 576px) {
    .pages #blog_info .blog_cate_list li {
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }

    .pages .blog_wrap .blog_list .blog_card {
        width: 84.44vw;
        max-width: 380px;
        margin: 0 auto 15px;
    }

    .pages .blog_wrap .blog_list .blog_card figure {
        height: 53.33vw;
    }
}

/* ------------------------------------------------------
p_contact
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages .p_contact #p_mainvisual h2 i {
        width: 98px;
        height: 99px;
        right: -50px;
    }

    .pages #contact_info {
        padding: 65px 0 0;
    }

    .pages #contact_info .contact_wrap {
        padding: 65px 3% 110px;
    }

    .pages #contact_info .catcher_layer {
        padding: 55px 0 0;
    }

    .pages #contact_box {
        padding: 45px 0 50px;
    }

    .pages #contact_box .smf-form--letter .smf-item {
        padding: 0 0 25px;
    }

    .pages #contact_box .smf-item__label {
        margin-right: 10px;
    }

    .pages #contact_box .smf-item__label__text {
        font-size: 16px;
    }

    .pages #contact_box .smf-form .smf-radio-button-control,
    .pages #contact_box .smf-form .field_privacy .smf-checkbox-control {
        gap: 8px;
    }

    .pages #contact_box .smf-radio-button-control__label,
    .pages #contact_box .smf-checkbox-control__label {
        font-size: 13px;
    }

    .pages #contact_box .smf-form .smf-radio-button-control__control {
        margin-top: 0;
    }

    .pages #contact_box .input_custom,
    .pages #contact_box .txt_custom {
        padding: 8px 10px 10px;
    }

    .pages #contact_box .input_custom {
        height: 50px;
    }

    .pages #contact_box input::placeholder,
    .pages #contact_box textarea::placeholder {
        font-size: 14px;
    }

    .pages #contact_box .field_privacy .privacy_txt {
        line-height: 2.5;
        margin-bottom: 25px;
    }

    .pages #contact_box .smf-form .field_privacy .smf-checkbox-control__control {
        margin-top: 0;
    }

    .pages #contact_box .smf-action {
        margin: 25px 0 0;
    }
}

@media screen and (max-width: 768px) {
    .pages #contact_info .box_contact_phone {
        text-align: center;
    }

    .pages #contact_info .box_contact_phone dt {
        display: none;
    }

    .pages #contact_info .box_contact_phone a {
        margin-right: 0;
    }

    .pages #contact_info .box_contact_phone .box_contact_notes {
        display: block;
        margin-top: 5px;
    }
}

/* ------------------------------------------------------
p_gallery
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages .p_gallery #p_mainvisual h2 i {
        width: 105px;
        height: 69px;
        right: -25px;
        top: 100px;
    }

    .pages #gallery_info {
        padding: 55px 0;
    }

    .pages #gallery_info .gallery_info_txt {
        margin-bottom: 45px;
    }

    .pages #gallery_info .tab_btns {
        margin-bottom: 55px;
    }

    .pages #gallery_info .tab_btns .tab-button {
        font-size: 16px;
    }

    .pages #gallery_info .gallery_list {
        gap: 15px;
    }

    .pages #gallery_info .gallery_list .gallery_item {
        width: calc((100% - 30px) / 3);
        margin-bottom: 20px;
    }

    .pages #gallery_info .gallery_item .gallery_image a {
        padding: 0 3%;
    }

    .pages #gallery_info .gallery_item .gallery_image a::before {
        opacity: 1;
    }

    .pages #gallery_info .gallery_item .gallery_image .gallery_title {
        opacity: 1;
    }

    .pages #gallery_info .gallery_item .author_name {
        font-size: 16px;
    }

    .pages .gallery_contents {
        padding: 70px 0 55px;
    }

    .pages .gallery_contents .author_name {
        margin-bottom: 45px;
    }

    .pages .gallery_contents .author_name span {
        min-width: inherit;
        font-size: 24px;
        padding: 15px 20px;
    }

    .pages .gallery_contents .main_image {
        margin-bottom: 55px;
    }

    .pages .gallery_contents .gallery_thumbnail {
        gap: 10px;
        margin-bottom: 55px;
    }

    .pages .gallery_contents .gallery_thumbnail li {
        width: calc((100% - 40px) / 5);
    }

    .pages#gallery .vbox-next {
        right: 2vw;
    }

    .pages#gallery .vbox-prev {
        left: 2vw;
    }
}

@media screen and (max-width: 768px) {
    .pages #gallery_info .gallery_info_txt {
        text-align: justify;
    }

    .pages #gallery_info .gallery_info_txt br {
        display: none;
    }

    .pages #gallery_info .gallery_list .gallery_item {
        width: calc((100% - 15px) / 2);
    }
}

@media screen and (max-width: 576px) {
    .pages #gallery_info .tab_btns .tab-button {
        font-size: 14px;
    }

    .pages #gallery_info .gallery_list .gallery_item {
        width: 100%;
    }

    .pages .gallery_contents .gallery_thumbnail li {
        width: calc((100% - 20px) / 3);
    }
}

/* ------------------------------------------------------
p_staff
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages .p_staff #p_mainvisual h2 i {
        width: 90px;
        height: 114px;
        bottom: -85px;
        right: -15px;
    }

    .pages .p_staff #content {
        padding-top: 65px;
    }

    .pages .p_staff .staff_wrap {
        padding: 50px 0 10px;
    }

    .pages .p_staff .staff_wrap .staff_info_txt {
        margin-bottom: 50px;
    }

    .pages .p_staff .staff_wrap .staff_list {
        gap: 20px;
        margin-bottom: 20px;
    }

    .pages .p_staff .staff_wrap .staff_list .staff_card {
        width: calc((100% - 40px) / 3);
        margin-bottom: 15px;
    }

    .pages .p_staff .staff_wrap .staff_list .staff_card figure {
        height: 20.02vw;
        margin-bottom: 10px;
    }

    .pages .p_staff .staff_wrap .staff_card .card_txt {
        font-size: 14px;
    }

    .pages .p_staff .staff_wrap .staff_card dl {
        flex-direction: column;
        align-items: flex-start;
    }

    .pages .p_staff .staff_wrap .staff_card dl dt {
        font-size: 20px;
    }

    .pages .p_staff .staff_wrap .staff_card dl dd {
        font-size: 14px;
        padding-bottom: 0;
    }

    .staff-details .p_staff #content {
        padding-top: 0;
    }

    .pages .p_staff .staff_section {
        padding: 65px 0 30px;
    }

    .pages .p_staff .details_wrap {
        padding: 60px 0 55px;
    }

    .pages .p_staff .media_headline {
        gap: 25px;
        margin-bottom: 45px;
    }

    .pages .p_staff .media_headline .media_meta {
        padding-top: 0;
    }

    .pages .p_staff .media_meta .media_title {
        font-size: 28px;
    }

    .pages .p_staff .media_meta .staff_exp,
    .pages .p_staff .media_meta .staff_des {
        font-size: 14px;
    }

    .pages .p_staff .details_wrap .contents_detail {
        margin-bottom: 55px;
    }

    .pages .p_staff .details_wrap .contents_detail dl:not(:last-child) {
        margin-bottom: 30px;
    }

    .pages .p_staff .details_wrap .contents_detail dl dt {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .pages .p_staff .details_wrap .btn_primary {
        margin-bottom: 50px;
    }

    .pages .p_staff .media_back li {
        height: 90px;
    }
}

@media screen and (max-width: 768px) {
    .pages .p_staff .staff_wrap .staff_list .staff_card {
        width: calc((100% - 20px) / 2);
    }

    .pages .p_staff .staff_wrap .staff_list .staff_card figure {
        height: 30.47vw;
    }

    .pages .p_staff .media_headline {
        flex-direction: column;
    }

    .pages .p_staff .media_headline figure {
        width: 75vw;
        height: 47.344vw;
        margin: 0 auto;
    }

    .pages .p_staff .media_back li a {
        padding: 0 15px;
    }

    .pages .p_staff .media_back li a .icon {
        margin-left: 15px;
    }

    .pages .p_staff .media_back li:first-child a .icon {
        margin-right: 15px;
    }
}

@media screen and (max-width: 576px) {
    .pages .p_staff .staff_wrap .staff_list .staff_card {
        width: 84.44vw;
        max-width: 380px;
        margin: 0 auto 15px;
    }

    .pages .p_staff .staff_wrap .staff_list .staff_card figure {
        height: 53.33vw;
    }

    .pages .p_staff .media_back {
        flex-direction: column;
        gap: 20px;
    }

    .pages .p_staff .media_back li {
        width: 100%;
    }

    .pages .p_staff .media_back li a {
        border-radius: 10px !important;
    }
}

/* ------------------------------------------------------
p_about
------------------------------------------------------ */
@media screen and (max-width: 1500px) {
    .pages #about_info .about_info_gallery .image01 figure {
        right: 6.667vw;
    }

    .pages #our_strength .strength_card:nth-child(odd)::before {
        left: 6.667vw;
    }

    .pages #our_strength .strength_card:nth-child(even)::before {
        right: 6.667vw;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_about #p_mainvisual {
        overflow: hidden;
    }

    .pages .p_about #p_mainvisual h2 i {
        width: 85px;
        height: 137px;
        top: 20px;
        right: -15px;
    }

    .pages #about_info .info_card .main_title {
        font-size: 26px;
    }

    .pages #about_info .info_card .info_card_txt {
        font-size: 18px;
    }

    .pages #about_info .info_card .info_card_txt p:not(:last-child) {
        margin-bottom: 45px;
    }

    .pages #about_info .info_card .sub_title {
        font-size: 26px;
    }

    .pages #about_info .info_card .info_card_frame {
        padding: 45px 20px;
    }

    .pages #about_info .info_card .info_card_frame ul li {
        font-size: 16px;
    }

    .pages #our_strength {
        padding: 50px 0 75px;
    }

    .pages #our_strength .under_title {
        margin-bottom: 45px;
    }

    .pages #our_strength .strength_card {
        padding: 50px 0;
    }

    .pages #our_strength .strength_card .inner {
        flex-direction: column-reverse;
    }

    .pages #our_strength .strength_card .strength_component {
        width: 100%;
        max-width: 100%;
    }

    .pages #our_strength .strength_card .strength_tag {
        margin-bottom: 15px;
    }

    .pages #our_strength .strength_card .strength_title {
        font-size: 28px;
        margin-bottom: 20px;
    }

    .pages #about_profile {
        padding: 50px 0 55px;
    }

    .pages #about_profile .under_title {
        margin-bottom: 45px;
    }

    .pages #about_greeting {
        padding: 50px 0 20px;
    }

    .pages #about_greeting .under_title {
        margin-bottom: 45px;
    }

    .pages #about_greeting .greeting_wrap {
        flex-direction: column;
    }

    .pages #about_greeting .greeting_profile,
    .pages #about_greeting .greeting_txt {
        max-width: 100%;
    }

    .pages #about_greeting .greeting_profile figure {
        max-width: 560px;
        height: 93.96vw;
        border-radius: 20px;
        margin: 0 auto 20px;
    }

    .pages #about_greeting .greeting_profile .greeting_title {
        font-size: 20px;
    }
}

@media screen and (max-width: 768px) {
    .pages #about_info .about_info_gallery .image01 figure {
        width: 62.5vw;
        height: 62.5vw;
        border-radius: 20px;
    }

    .pages #about_info .info_card .info_card_frame ul {
        flex-direction: column;
    }

    .pages #about_info .info_card .info_card_frame ul li {
        width: 100%;
    }
}

@media screen and (max-width: 490px) {
    .pages #about_info .info_card .main_title {
        font-size: 24px;
    }

    .pages #about_info .info_card .sub_title {
        font-size: 24px;
    }

    .pages #our_strength .strength_card .strength_title {
        font-size: 26px;
    }
}

/* ------------------------------------------------------
p_recruit
------------------------------------------------------ */
@media screen and (max-width: 1250px) {
    .pages #recruit_info .info_headline .info_headline_txt {
        padding: 80px 4%;
    }

    .pages #recruit_info .info_headline .info_headline_txt::before {
        width: 115%;
        height: 125%;
    }

    .pages #recruit_info .recruit_info_item h4 {
        font-size: 3.04vw;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_recruit #p_mainvisual h2 i {
        width: 130px;
        height: 100px;
        top: 75px;
        right: 0;
    }

    .pages .p_recruit #content {
        padding-top: 60px;
    }

    .pages #recruit_info {
        padding: 55px 0 75px;
    }

    .pages #recruit_info::before {
        display: none;
    }

    .pages #recruit_info .recruit_info_title {
        font-size: 24px;
    }

    .pages #recruit_info .info_headline {
        padding-top: 50vw;
        margin-bottom: 115px;
    }

    .pages #recruit_info .info_headline .info_headline_txt {
        box-sizing: border-box;
        padding: 45px 0;
        margin: 0 auto;
    }

    .pages #recruit_info .info_headline .info_headline_txt::before {
        width: calc(30% + 480px);
        height: calc(20% + 480px);
        top: 42%;
    }

    .pages #recruit_info .info_headline .info_headline_image {
        width: 92.773vw;
        height: 78.809vw;
        left: 0;
    }

    .pages #recruit_info .recruit_info_item {
        flex-direction: column !important;
        gap: 25px;
        margin-bottom: 75px;
    }

    .pages #recruit_info .recruit_info_item:last-child {
        margin-bottom: 0;
    }

    .pages #recruit_info .recruit_info_item .item_component {
        max-width: 100%;
    }

    .pages #recruit_info .recruit_info_item h4 {
        font-size: 26px;
    }

    .pages #recruit_info .recruit_info_item .item_image {
        width: 78.125vw;
        height: 78.125vw;
    }

    .pages #recruit_numbers {
        padding: 50px 0 60px;
    }

    .pages #recruit_numbers .under_title {
        margin-bottom: 45px;
    }

    .pages #recruit_numbers .recruit_numbers_list li h4 {
        font-size: 20px;
    }

    .pages #recruit_numbers .recruit_numbers_list li .record_no {
        font-size: 22px;
    }

    .pages #recruit_numbers .about_decor03 {
        top: -2.93vw;
        right: 3%;
    }

    .pages #recruit_interview {
        padding: 50px 0 65px;
    }

    .pages #recruit_interview .under_title {
        margin-bottom: 35px;
    }

    .pages #recruit_interview .interview_list {
        gap: 20px;
    }

    .pages #recruit_interview .interview_list .interview_card {
        width: calc((100% - 40px) / 3);
    }

    .pages #recruit_interview .interview_card .interview_component {
        padding: 10px 15px 20px;
    }

    .pages #recruit_interview .interview_card .interview_component h4 {
        font-size: 16px;
    }

    .pages #recruit_interview .interview_card .interview_component .staff_info,
    .pages #recruit_interview .interview_card .interview_component .month_join {
        font-size: 14px;
    }

    .interview-details .p_staff #content {
        padding: 0 0 0;
    }

    .interview-details .main_copy {
        font-size: 22px;
        margin-bottom: 15px;
    }

    .pages #recruit_requirements {
        padding: 50px 0;
    }

    .pages #recruit_requirements .recruit_requirements_txt {
        margin-bottom: 45px;
    }

    .pages #recruit_requirements .recruit_requirements_list {
        margin-bottom: 45px;
    }

    .pages #recruit_requirements .not_hiring_title {
        font-size: 28px;
    }
}

@media screen and (max-width: 768px) {
    .pages #recruit_info .recruit_info_item .item_image::before {
        top: 3.906vw;
        left: 3.906vw;
    }

    .pages #recruit_numbers .recruit_numbers_list li {
        width: calc((100% - 20px) / 2);
    }

    .pages #recruit_interview .interview_list .interview_card {
        width: calc((100% - 20px) / 2);
    }

    .pages #recruit_interview .interview_list .interview_card figure {
        height: 29.427vw;
        max-height: 226px;
    }

    .pages #recruit_requirements .tb_requirements {
        border-top-width: 2px;
        border-bottom-width: 2px;
        padding: 10px 0;
    }

    .pages #recruit_requirements .tb_requirements th,
    .pages #recruit_requirements .tb_requirements td {
        padding: 10px 0;
    }

    .pages #recruit_requirements .tb_requirements th {
        padding-bottom: 5px;
    }

    .pages #recruit_requirements .tb_requirements td {
        padding-top: 0;
    }

    .pages #recruit_requirements .tb_requirements tr:first-child th {
        padding-top: 20px;
    }

    .pages #recruit_requirements .tb_requirements tr:last-child td {
        padding-bottom: 20px;
    }
}

@media screen and (max-width: 576px) {
    .pages #recruit_info .info_headline .info_headline_image {
        top: -30px;
    }

    .pages #recruit_numbers .recruit_numbers_list {
        flex-direction: column;
        align-items: center;
    }

    .pages #recruit_numbers .recruit_numbers_list li {
        width: 100%;
        max-width: 320px;
    }

    .pages #recruit_interview .interview_list {
        flex-direction: column;
        align-items: center;
        gap: 35px;
    }

    .pages #recruit_interview .interview_list .interview_card {
        width: 87.529vw;
        max-width: 372px;
    }

    .pages #recruit_interview .interview_list .interview_card figure {
        height: 56.471vw;
        max-height: 240px;
    }
}

@media screen and (max-width: 390px) {
    .pages #recruit_info .info_headline {
        margin-bottom: 16.667vmin;
    }

    .pages #recruit_info .info_headline .info_headline_txt::before {
        width: calc(50% + 480px);
    }
}

/* ------------------------------------------------------
p_case
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages .p_case #p_mainvisual h2 i {
        width: 130px;
        height: 113px;
        top: 65px;
        right: -25px;
    }

    .pages .p_case #content {
        padding-top: 65px;
    }

    .pages #case_info {
        padding: 55px 0;
    }

    .pages #case_info .case_info_txt {
        margin-bottom: 55px;
    }

    .pages #case_info .case_item .case_title {
        font-size: 18px;
    }

    .case-details .p_case #content {
        padding: 0 0 0;
    }

    .pages .p_case .media_wrap {
        padding: 65px 0;
    }

    .pages .p_case .contents_detail .wp-block-columns:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages .p_case .contents_detail h3,
    .pages .p_case .contents_detail h4,
    .pages .p_case .contents_detail h5,
    .pages .p_case .contents_detail h6 {
        margin-bottom: 10px;
    }

    .pages .p_case .contents_detail h4 {
        font-size: 18px;
    }

    .pages .p_case .details_wrap .btn_primary {
        margin-bottom: 55px;
    }

    .pages .p_case .media_back li {
        height: 90px;
    }
}

@media screen and (max-width: 768px) {
    .pages #case_info .case_list .case_item {
        width: 87.273vw;
        max-width: 480px;
        margin: 0 auto;
    }

    .pages #case_info .case_item .case_image {
        height: 59.273vw;
    }

    .pages #case_info .case_item .case_title {
        font-size: 20px;
        -webkit-line-clamp: 2;
    }

    .pages .p_case .media_back li a {
        padding: 0 10px;
    }

    .pages .p_case .media_back li a .icon {
        margin-left: 10px;
    }

    .pages .p_case .media_back li:first-child a .icon {
        margin-right: 10px;
    }
}

@media screen and (max-width: 576px) {
    .pages .p_case .media_back li {
        height: 70px;
    }

    .pages .p_case .media_back li a {
        font-size: 14px;
    }

    .pages .p_case .media_back li:first-child a {
        border-top-left-radius: 10px;
        border-bottom-left-radius: 10px;
    }

    .pages .p_case .media_back li:last-child a {
        border-top-right-radius: 10px;
        border-bottom-right-radius: 10px;
    }

    .pages .p_case .media_back li a .icon {
        width: 30px;
        height: 30px;
    }

    .pages .p_case .media_back li a .icon::before,
    .pages .p_case .media_back li a .icon::after {
        width: 12px;
        height: 8px;
    }

    .pages .p_case .media_back li a .nav_title {
        -webkit-line-clamp: 2;
    }
}

/* ------------------------------------------------------
p_service
------------------------------------------------------ */
@media screen and (max-width: 1500px) {
    .pages #service_intro .service_intro_component {
        padding: 41px 0 0 3%;
    }

    .pages #service_intro .service_intro_frame {
        padding: 5.8vw 5% 5.867vw 0;
    }

    .pages #service_intro .service_area {
        padding: 65px 6.667vw 75px;
    }

    .pages #service_flan .service_flan_cover {
        top: 100px;
    }
}

@media screen and (max-width: 1250px) {
    .pages #service_intro .service_intro_title {
        font-size: 3.84vw;
    }

    .pages #service_intro .service_info_item h4 {
        font-size: 3.04vw;
    }
}

@media screen and (max-width: 1200px) {
    .pages #service_flan .service_flan_cover {
        top: 60px;
    }
}

@media screen and (max-width: 1024px) {
    .pages .p_service #p_mainvisual {
        overflow: hidden;
    }

    .pages .p_service #p_mainvisual h2 i {
        width: 160px;
        height: 113px;
        top: 45px;
        right: -80px;
    }

    .pages .p_service #content {
        padding-top: 65px;
    }

    .pages #service_intro {
        padding: 65px 0;
    }

    .pages #service_intro .service_intro_wrap {
        flex-direction: column-reverse;
        margin-bottom: 75px;
    }

    .pages #service_intro .service_intro_title {
        font-size: 28px;
        padding: 0 8px;
    }

    .pages #service_intro .service_intro_component {
        width: 90vw;
        margin-top: -34.18vw;
    }

    .pages #service_intro .service_intro_frame {
        padding: 45px 3% 45px 0;
    }

    .pages #service_intro .service_intro_txt p:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages #service_intro .about_decor03 {
        width: 27.995vw;
        height: 25.391vw;
        bottom: -205px;
        right: -8%;
    }

    .pages #service_intro .service_intro_photo {
        width: 94vw;
        margin-left: auto;
    }

    .pages #service_intro .service_intro_photo img {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .pages #service_intro .service_intro_list {
        margin-bottom: 90px;
    }

    .pages #service_intro .service_info_item {
        flex-direction: column !important;
        gap: 25px;
        margin-bottom: 75px;
    }

    .pages #service_intro .service_info_item:last-child {
        margin-bottom: 0;
    }

    .pages #service_intro .service_info_item .item_component {
        max-width: 100%;
    }

    .pages #service_intro .service_info_item h4 {
        font-size: 26px;
    }

    .pages #service_intro .service_info_item .item_image {
        width: 78.125vw;
        height: 78.125vw;
    }

    .pages #service_intro .service_area {
        padding: 45px 20px;
    }

    .pages #service_intro .service_area .service_area_txt {
        width: 48.828vw;
        flex: none;
    }

    .pages #service_intro .service_area .service_area_txt p:not(:last-child) {
        margin-bottom: 25px;
    }

    .pages #service_flow {
        padding: 55px 0 65px;
    }

    .pages #service_flow h3.under_title {
        margin-bottom: 50px;
    }

    .pages #service_flow .service_flow_list dl {
        min-height: 150px;
        padding: 30px 20px;
    }

    .pages #service_flow .service_flow_list dl dt {
        max-width: 300px;
        font-size: 20px;
    }

    .pages #service_flow .service_flow_list dl dt span {
        width: 60px;
        height: 60px;
        margin-right: 10px;
        top: 0;
    }

    .pages #service_flow .service_flow_list dl dt span::before {
        font-size: 28px;
    }

    .pages #service_flan .service_flan_title {
        font-size: 26px;
        margin-bottom: 65px;
    }

    .pages #service_flan .service_flan_txt {
        font-size: 18px;
    }

    .pages #service_qa {
        padding-top: 55px;
    }

    .pages #service_qa .under_title {
        margin-bottom: 45px;
    }

    .pages #service_qa .service_qa_list .l-tab-btns li {
        font-size: 18px;
    }

    .pages #service_qa .service_qa_list dl dt {
        font-size: 16px;
    }

    #service #footer .box_contact {
        padding-top: 120px;
    }
}

@media screen and (max-width: 768px) {
    .pages #service_intro .service_info_item .item_image::before {
        top: 3.906vw;
        left: 3.906vw;
    }

    .pages #service_intro .service_area {
        flex-direction: column;
    }

    .pages #service_intro .service_area .service_area_headline {
        text-align: center;
    }

    .pages #service_intro .service_area .under_title {
        text-align: center;
        margin-bottom: 35px;
    }

    .pages #service_intro .service_area .service_area_txt {
        width: 100%;
        max-width: 100%;
        padding-top: 0;
    }

    .pages #service_intro .about_decor03 {
        bottom: -26.693vw;
        right: -8%;
    }

    .pages #service_flow .service_flow_list dl {
        flex-direction: column;
    }

    .pages #service_flow .service_flow_list dl dt,
    .pages #service_flow .service_flow_list dl dd {
        max-width: 100%;
    }
}

/* ------------------------------------------------------
p_notfound
------------------------------------------------------ */
@media screen and (max-width: 1024px) {
    .pages #notfound_info .notfound_info_title {
        font-size: 70px;
        margin-bottom: 8px;
    }

    .pages #notfound_info .notfound_info_subtitle {
        font-size: 22px;
        margin-bottom: 18px;
    }

    .pages #notfound_info .notfound_info_txt {
        margin-bottom: 28px;
    }
}

@media screen and (max-height: 580px) {
    .pages #notfound_info {
        height: auto;
        min-height: 100vh;
        padding: 60px 0;
    }

    .pages #notfound_info .notfound_info_txt {
        text-align: justify;
    }

    .pages #notfound_info .notfound_info_txt br {
        display: none;
    }
}
