@charset "utf-8";


@media screen and (max-width: 1366px) {
    
    .d-block_1366 {
        display: block;
    }

    .d-none_1366 {
        display: none;
    }



    /*** トップページ：幸和技研社とは ***/

    .top_about_img {
        width: 50%;
    }

    .top_about-wrapper {
        width: 50%;
    }

}





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

    .d-block_1160 {
        display: block;
    }

    .d-none_1160 {
        display: none;
    }



    /********** ヘッダー **********/

    .header-inner {
        padding-left: 15px;
    }
    
    .header-nav_item {
        padding: 0 15px;
    }

    .header-nav_item:nth-of-type(5) {
        margin-right: 0;
    }
    
    .header-nav_item-recruit {
        width: 148px;
    }
    
    .header-nav_item-contact {
        width: 148px;
    }
    
}




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

    /********** ヘッダー **********/

    .header-inner {
        padding-left: 2.54%;
    }

    .header-logo {
        width: 180px;
    }
    
    .header-nav {
        display: none;
        position: fixed;
        top: 0;
        right: 100%;
        width: 100%;
        height: 100vh;
        background-color: #FFF;
        transition: all 1s;
    }

    .is-active .header-nav {
        display: block;
        right: 0;
    }

    .header-nav-list {
        flex-direction: column;
        padding-top: 124px;
    }

    .header-nav_item {
        padding: 0;
        line-height: 2.3rem;
        border-bottom: 1.5px solid #171717;
    }

    .header-nav_item:first-of-type, .header-nav_item:nth-of-type(2), .header-nav_item:nth-of-type(3), .header-nav_item:nth-of-type(4) {
        margin-bottom: 25px;
    }

    .header-nav_item_number {
        display: block;
        border: none;
        padding-top: 82px;
        margin-bottom: 12px;
    }

    .header-nav_item_number_large {
        font-size: 2.4rem;
    }

    .header-nav_item-recruit {
        width: min(100%, 308px);
        height: 64px;
        order: 7;
        border: none;
    }

    .header-nav_item-contact {
        width: min(100%, 308px);
        height: 64px;
        border: none;
        margin-bottom: 15px;
    }

    .header-nav_item > a {
        width: 100%;
        height: 100%;
        font-size: 1.6rem;
        font-weight: bold;
    }

    .hamburger-menu {
        width: 64px;
        height: 64px;
        background-color: #050046;
    }

    .hamburger-menu::before, .hamburger-menu::after, .hamburger-menu span {
        width: 28px;
        height: 3px;
        background-color: #FFF;
        left: 50%;
        border-radius: 0;
        transform: translateX(-50%);
    }

    .hamburger-menu::before {
        top: 21px;
        left: 50%;
    }

    .hamburger-menu::after {
        top: auto;
        bottom: 18px;
    }

    .is-active .hamburger-menu::before {
        width: 34px;
        transform: translate(-50%,-50%) rotate(40deg);
        transition: .1s ease .2s;
    }

    .is-active .hamburger-menu span {
        width: 34px;
        top: 50%;
        transform: translate(-50%,-50%) rotate(-40deg);
        opacity: 1;
        transition: .1s ease .2s;
    }

    .is-active .hamburger-menu:after {
        opacity: 0;
    }



    /********** HOME **********/


    /*** トップページ：メインビジュアル ***/
    .mv {
        margin-top: 64px;
    }

    .mv-heading_main_top-wrapper {
        margin-bottom: 0.35em;
    }

    .mv-heading_main_large {
        font-size: 12vw;
        border: 2px solid #171717;
    }

    .mv-heading_main_middle {
        font-size: 6.7vw;
        border: 2px solid #171717;
    }

    .mv-heading_main_small {
        font-size: 4.2vw;
    }

    .mv-heading_lead br {
        display: block;
    }

    /*** トップページ：採用情報CTA ***/

    .section_heading_top_recruit {
        top: 9%;
    }

    .top_recruit_lead a {
        flex-direction: column;
        align-items: flex-start;
        bottom: 9%;
    }

    .top_recruit_button {
        bottom: 9%;
    }


    /**********　下層ページ共通：メインビジュアル　**********/

    .mv-childlayer {
        margin-top: 64px;
    }



    /**********　会社概要　**********/


    /*****　会社概要：社長挨拶　*****/
    .company_representative {
        flex-direction: column;
        padding: 0 24px;
    }


    /*****　会社概要：概要　*****/

    .company_overview_list {
        padding-right: 5%;
        padding-left: 5%;
    }



    /********** 実績 **********/


    /*** 実績：タブ ***/

    .tab_content-others_list-container {
        flex-direction: column;
        gap: 10px;
    }

    .tab_content-others {
        padding: 8vw 5vw;
    }

}





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

    .fs-24_820 {
        font-size: 2.4rem;
    }

    .pc_820 {
        display: none;
    }

    .sp_820 {
        display: block;
    }



    /********** ページトップボタン **********/

    .page-top_btn {
        right: 0;
        bottom: 30px;
    }



    /********** お問い合わせリンク ********/
    
    .top_link {
        flex-direction: column;
        height: auto;
    }

    .top_link_mail {
        width: 100%;
        height: 200px;
        padding-top: 27px;
    }

    .top_link_mail_label, .top_link_tel_label {
        font-size: 2.0rem;
        padding: 11px 0;
        margin-bottom: 19px;
    }

    .top_link_mail_button {
        width: min(86.5%, 345px);
        font-size: 1.6rem;
        gap: 11px;
        padding: 16px 0;
    }

    .top_link_mail_button::before {
        width: 37px;
        height: 28px;
    }

    .top_link_tel {
        width: 100%;
        height: 200px;
        padding-top: 27px;
    }
    
    .top_link_tel_label {
        margin-bottom: 14px;
    }

    .top_link_tel_button {
        font-size: 3.6rem;
        line-height: 4.4rem;
        gap: 7px;
    }

    .top_link_tel_button::before {
        width: 33px;
        height: 33px;
    }

    .top_link_tel_time {
        font-size: 1.4rem;
        line-height: 2.0rem;
    }



    /********** フッター ********/
    
    .footer {
        padding: 60px 24px 77px;
    }

    .footer-wrapper {
        width: fit-content;
        flex-direction: column;
        align-items: flex-start;
        gap: 50px;
    }

    .footer-left {
        align-items: flex-start;
    }

    .footer_address {
        margin-left: 0;
    }



    /********** HOME **********/


    /*** トップページ：h2見出し ***/

    .section_heading-wrapper {
        padding: 0;
    }

    .section_heading {
        font-size: 1.3rem;
        line-height: 1.9rem;
        margin: 0 auto
    }

    .section_heading_large {
        font-size: 6.4rem;
        line-height: 7.5rem;
    }

    .section_heading_large::before {
        width: 72px;
    }



    /*** トップページ：メインビジュアル ***/

    .mv {
        margin-bottom: 60px;
    }

    .mv-img {
        height: 544px;
    }

    .mv-heading_main {
        width: min(87vw, 410px);
    }

    .mv-heading_lead {
        font-size: 1.6rem;
        line-height: 2.8rem;
    }


    /*** トップページ：お知らせ ***/

    .news-center {
        width: min(100%, 625px);
        flex-direction: column;
        gap: 0;
        margin-bottom: 60px;
    }

    .news-center h2 {
        font-size: 1.3rem;
        line-height: 1.9rem;
    }

    .news-center .box {
        width: 100%;
    }

    .news-center .box dl {
        flex-direction: column;
    }

    .news-center .box dt {
        width: 100%;
        border: none;
        padding: 10px 0 0 20px;
    }

    .news-center .box dd {
        width: 100%;
        font-size: 1.4rem;
        padding: 0 0 10px 20px;
    }


    /*** トップページ：幸和技研社とは ***/

    .top_about {
        flex-direction: column;
        padding: 0 24px;
        margin-bottom: 60px;
    }

    .top_about_img {
        width: 100%;
    }

    .top_about-wrapper {
        width: 100%;
        padding: 20px 0 0;
    }

    .top_about_heading {
        font-size: 2.4rem;
        line-height: 3.5rem;
        margin-bottom: 57px;
    }

    .top_about_text {
        max-width: initial;
        font-size: 1.6rem;
        line-height: 3.4rem;
        gap: 30px;
    }

    .top_about_button a {
        width: min(100%, 208px);
        height: 64px;
        margin: 10px auto 0;
    }

    .top_about_bg-img {
        width: min(100%, 355px);
        top: 81px;
        left: 50%;
        transform: translateX(-50%);
    }


    /*** トップページ：事業内容 ***/

    .top_service {
        margin-bottom: 50px;
    }

    .section_heading_top_service {
        margin-bottom: 28px;
    }
    
    .top_service_list {
        flex-direction: column;
        align-items: center;
        gap: 1px;
    }

    .top_service_title {
        font-size: 3.3rem;
        white-space: nowrap;
        top: 23%;
        transform: translate(-50%, 0);
    }

    .top_service_list {
        padding: 0 24px;
    }

    .top_service_item {
        width: min(100%, 343px);
    }

    .top_service_button {
        font-size: 2.2rem;
        width: min(49%, 168px);
        height: min(19%, 48px);
        gap: 14.8%;
        bottom: 23%;
        left: 50%;
        transform: translate(-50%, 0);
    }


    /*** トップページ：実績 ***/

    .top_works {
        margin-bottom: 50px;
    }

    .top_works-wrapper {
        width: 100%;
        padding: 35px 0 60px;
    }

    .section_heading_top_works {
        margin: 0 0 50px 6%;
    }

    .top_works_button {
        width: min(100%, 208px);
        height: 64px;
        gap: 25px;
        margin: 0 auto;
    }


    /*** トップページ：採用情報CTA ***/

    .top_recruit {
        margin-bottom: 50px;
    }

    .top_recruit_img a img {
        object-position: 48% bottom;
        min-height: 430px;
    }

    .top_recruit-wrapper {
        position: absolute;
        top: 8.1%;
        left: 10%;
    }

    .section_heading_top_recruit {
        position: static;
        margin-bottom: 25px;
    }

    .top_recruit_lead a {
        font-size: 2.0rem;
        line-height: 3.4rem;
        gap: 6px;
        position: static;
        margin-bottom: 58px;
    }

    .top_recruit_button {
        width: min(100%, 168px);
        height: 48px;
        gap: 25px;
        position: static;
    }



    /**********　下層ページ共通：メインビジュアル　**********/

    .mv-childlayer {
        margin: 64px 0 50px;
    }

    .mv-childlayer-wrapper {
        width: 85%;
    }

    .mv-childlayer_img_right {
        min-height: 160px;
    }

    .mv-childlayer_heading {
        top: 25%;
        left: -6vw;
    }

    .mv-childlayer_heading_main_top-wrapper {
        font-size: 3.6rem;
        padding: 10px;
    }

    .mv-childlayer-heading_lead {
        line-height: 1.7rem;
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        margin-top: 10px;
    }



    /**********　会社概要　**********/


    /*****　会社概要：社長挨拶　*****/

    .company_representative {
        margin-bottom: 50px;
    }

    .company_representative_words_heading {
        font-size: 2.0rem;
        margin-bottom: 30px;
    }

    .company_representative_words_txt {
        gap: 20px;
    }


    /*****　会社概要：3つのモットー　*****/

    .company_philosophy {
        margin-bottom: 60px;
    }

    .company_philosophy_lead {
        padding: 24px 24px 0;
    }

    .lowerlayer_heading {
        height: 50px;
    }

    .lowerlayer_heading_ja {
        font-size: 2.4rem;
    }

    .lowerlayer_heading_en {
        font-size: 4.8rem;
        bottom: 6px;
    }

    .company_philosophy_lead_sentence-top {
        font-size: 1.8rem;
    }

    .company_philosophy_circle_item {
        width: 264px;
        height: 264px;
    }

    .company_philosophy_circle_item_title {
        top: 12%;
    }

    .company_philosophy_circle_item_txt {
        font-size: (3.8vw, 1.5rem);
        line-height: 2.9rem;
        padding-top: 15%;
    }


    /*****　会社概要：概要　*****/

    .company_overview {
        margin-bottom: 60px;
    }

    .lowerlayer_heading-overview {
        margin-bottom: 24px;
    }

    .lowerlayer_heading_en-overview {
        font-size: min(9.7vw, 3.8rem);
    }

    .company_overview_list_item {
        flex-direction: column;
        align-items: flex-start;
    }

    .company_overview_list_item_heading {
        width: 100%;
    }

    .company_overview_list_item_detail {
        width: 100%;
    }


    /*****　会社概要：沿革　*****/

    .company_history {
        margin-bottom: 60px;
    }

    .lowerlayer_heading-history {
        margin-bottom: 24px;
    }

    .company_history_chart {
        gap: 18px;
    }

    .company_history_chart_line_txt_container {
        gap: 10px;
    }

    .company_history_chart_line_txt_container::before {
        top: 7px
    }

    .company_history_chart_line_txt_container::after {
        top: 7px;
        height: calc(100% + 24px);
    }

    .company_history_chart_line_txt {
        font-size: 1.5rem;
        line-height: 2.5rem;
        flex-direction: column;
    }

    .company_history_chart_line_year {
        font-size: 1.8rem;
        line-height: 2.5rem;
    }

    .company_history_chart_line_txt_detail {
        width: 100%;
    }


    /*****　会社概要：アクセス　*****/

    .company_access {
        margin-bottom: 50px;
    }

    .company_access_content {
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 24px;
    }

    .company_access_content_map {
        width: 100%;
        height: 300px;
    }



    /********** 事業紹介 **********/


    /*** 事業紹介：メインビジュアル ***/

    .services_lead {
        margin-bottom: 50px;
    }

    .services_lead_txt_heading {
        font-size: 2.0rem;
        margin-bottom: 20px;
    }

    .services_lead_txt_sentence {
        text-align: left;
    }


    /*** 事業紹介：ボタン ***/

    .services_button-wrapper {
        flex-direction: column;
        margin-bottom: 50px;
    }


    /*** 事業紹介：事業内容 ***/

    .services_list {
        gap: 50px;
        padding: 0 24px;
    }

    .services_list_item {
        flex-direction: column-reverse;
        gap: 24px;
    }

    .services_list_item:nth-child(2) {
        flex-direction: column;
    }

    .services_list_item_txt {
        width: 100%;
        padding: 0;
    }

    .services_list_item:nth-child(2) .services_list_item_txt {
        padding: 0;
    }

    .services_list_item_txt_heading {
        font-size: 2.4rem;
        line-height: 3.4rem;
    }

    .services_list_item_image {
        width: 100%;
    }


    /*** 事業紹介：許認可 ***/

    .services_kinds-container {
        font-size: 2.0rem;
        padding: 20px;
        margin: 50px 0 50px;
    }



    /********** 実績 **********/

    
    /*** 実績：タブ ***/

    .tabs {
        margin-bottom: 50px;
    }

    .tab_content {
        padding-top: 40px;
    }

    .tab_item {
        font-size: 1.8rem;
    }


    .tab_content-container {
        flex-direction: column;
        gap: 24px;
    }

    .tab_content-container_img {
        width: min(100%, 400px);
    }

    .tab_content-container_txt {
        width: 100%;
    }

    .tab_content-container_txt_place {
        font-size: 2.0rem;
        margin-bottom: 10px;
    }



    /**********　よくあるご質問　**********/


    /*****　よくあるご質問：コンテンツ　*****/

    .question_container {
        margin-bottom: 80px;
    }

    .questions_line_Q, .questions_line_A {
        gap: 10px;
    }

    .questions_lene_Q_logo, .questions_lene_A_logo {
        width: 35px;
        height: 35px;
        font-size: 1.8rem;
    }

    .questions_lene_Q_txt {
        width: calc(100% - 45px);
        font-size: 1.8rem;
        padding-top: 4px;
    }

    .questions_lene_A_txt {
        width: calc(100% - 45px);
        font-size: 1.5rem;
        padding-top: 4px;
    }



    /**********　採用情報　**********/


    /*****　採用情報：トップコンテンツ　*****/

    .recruit_lead {
        flex-direction: column;
        gap: 24px;
        margin-bottom: 50px;
    }

    .recruit_lead_image {
        width: 100%;
    }

    .recruit_lead_txt {
        width: fit-content;
        text-align: center;
    }

    .recruit_lead_txt_heading {
        font-size: 2.6rem;
        justify-content: center;
    }

    .recruit_lead_sentence {
        align-items: center;
        font-size: 1.6rem;
        font-weight: 400;
    }


    /*****　採用情報：職場環境　*****/

    .recruit_environment {
        margin-bottom: 60px;
    }

    .lowerlayer_heading-environment {
        margin-bottom: 24px;
    }

    .recruit_environment_item {
        flex-direction: column-reverse;
        gap: 10px;
        margin-bottom: 24px;
    }

    .recruit_environment_item:last-of-type {
        flex-direction: column;
        margin-bottom: 0;
    }

    .recruit_environment_item_img {
        width: 100%;
    }

    .recruit_environment_item_txt {
        width: 100%;
        text-align: center;
    }

    .recruit_environment_item_txt_detail {
        font-size: 2.0rem;
    }


    /*****　採用情報：教育システム　*****/

    .recruit_organization {
        margin-bottom: 60px;
    }

    .lowerlayer_heading-organization {
        margin-bottom: 24px;
    }

    .recruit_organization_content_txt {
        font-size: 1.5rem;
    }


    /*****　採用情報：募集要項　*****/

    .lowerlayer_heading-Jobdescription {
        margin-bottom: 34px;
    }

    .recruit_Jobdescription_container {
        margin-bottom: 60px;
    }

    .recruit_Jobdescription_list {
        margin-bottom: 50px;
    }

    .recruit_Jobdescription_list_item {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 15px;
        padding: 20px 0;
    }

    .recruit_Jobdescription_list_item_heading {
        width: 100%;
        font-size: 1.8rem;
    }

    .recruit_Jobdescription_list_item_txt {
        width: 100%;
        font-size: 1.6rem;
    }

    .recruit_Jobdescription_bottom {
        font-size: 2.0rem;
    }



    /**********　お問い合わせ　**********/

    .contact-center .box table th, .contact-center .box table td {
        display: block;
    }

    .contact-center .box {
        max-width: 540px;
    }

    .contact-center .box form {
        margin-top: 15px;
    }

    .contact-center .box table {
        border-spacing: 0;
    }

    .submit-button {
        margin-top: 40px;
    }

    .contact-center .box .submit-button input {
        height: 50px;
    }

    .contact_small {
        margin-bottom: 60px;
    }

}





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

    .d-block_500 {
        display: block;
    }

    .d-none_500 {
        display: none;
    }

}





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

    .d-block_374 {
        display: block;
    }



    /********** HOME **********/

    /*** トップページ：h2見出し ***/

    .section_heading_large {
        font-size: 17vw;
    }


    /*** トップページ：事業内容 ***/
    .top_service_title {
        font-size: 8.6vw;
    }

    .top_service_button {
        font-size: 5.8vw;
    }

    /*****　採用情報：募集要項　*****/

    .lowerlayer_heading_en-Jobdescription {
        font-size: min(9.7vw, 3.8rem);
    }

}