@charset "UTF-8";

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

    .footer_left {
        width: 100%;
    }

    p {
        font-size: 3.721vw!important;
        line-height: 2!important;
    }

    section {
        padding: 65px 0;
        margin-left: 0;
    }

    .footer_wrapper {
        margin-left: 0;
    }

    .contact .wrapper {
        left: 0;
    }

    .pc_br {
        display: none;
    }

    .sp_br {
        display: block;
    }

    header {
        width: 100%;
        height: 65px;
        display: flex;
        align-items: center;
    }

    .header_nav,
    .header_copyright {
        display: none;
    }

    .logo {
        width: 55px;
        margin: 0 0 0 5%;
    }

    .logo a {
        width: 100%;
    }

    .header_nav {
        display: none;
    }

    .hamburger_menu {
        display: block;
        width: 80px;
        height: 65px;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10001;
    }

    .menu_btn {
        display: block;
        width: 40px;
        height: 25px;
        z-index: 10001;
        top: 18px;
        left: 0;
        right: 0;
        margin: auto;
        position: relative;
    }
    .menu_btn span,
    .menu_btn span:before,
    .menu_btn span:after {
        content: '';
        display: block;
        height: 2px;
        width: 40px;
        background-color: #FFF;
        position: absolute;
        margin: auto;
        z-index: 81;
        top: 3px;
        /* box-shadow: 0px 4px 10px 0px rgba(0, 0, 0, 0.5); */
    }

    .menu_btn span:before {
        top: 10px;
    }
    .menu_btn span::after {
        top: 20px;
    }
    #menu_btn_check:checked ~ .menu_btn span::after {
        background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
    }
    #menu_btn_check:checked ~ .menu_btn span {
        bottom: 1vw;
        transform: rotate(45deg);
    }

    #menu_btn_check:checked ~ .menu_btn span::before {
        top: 0;
        transform: rotate(-90deg);
    }

    #menu_btn_check {
        display: none;
    }

    .menu_content {
        width: 100%;
        height: 100vh;
        position: fixed;
        top: 0;
        left: 100%;
        z-index: 10000;
        background-color: #FFF;
        transition: all 0.5s;
    }

    .menu_content > ul {
        margin-top: 15%;
    }

    .menu_content ul li {
        list-style: none;
        width: 80%;
        margin: auto;
        margin-bottom: 30px;
    }

    .menu_content ul li > a {
        display: inline-block;
        font-size: 1.6rem;
        box-sizing: border-box;
        color:#000;
        text-decoration: none;
        font-weight: 600;
        line-height: 16px;
        padding: 0;
    }

    #menu_btn_check:checked ~ .menu_content {
        left: 0;
    }

    .top_page .fv {
        height: 130vw;
        max-height: 700px;
    }

    .top_page .fv_title {
        left: 5%;
        top: 100px;
        bottom: initial;
    }

    .fv_subtitle {
        font-size: 3.721vw;
        text-shadow:0 0 10px #000;
    }

    .fv_maintitle {
        font-size: 6vw;
    }

    /* .fv_slide01 {
        background-position: center;
    }
    
    .fv_slide02 {
        background-position: center;
    }
    
    .fv_slide03 {
        background-position: right;
    } */

    .recruit_first {
        border-radius: 50px 50px 0 0;
    }

    .top_page .heading_subtitle {
        font-size: 10vw;
    }

    .fb_box {
        flex-direction: column;
        flex-wrap: wrap;
        gap: 50px;
    }

    .heading_title {
        font-size: 5vw;
    }

    .fb_box > div {
        width: 100%;
    }

    .top_craftsmanship_box {
        flex-direction: column-reverse;
    }

    .top_craftsmanship_txt {
        font-size: 4.5vw!important;
    }

    .top_made_to_order .heading_subtitle {
        font-size: 9vw;
    }

    .top_made_to_order_box {
        justify-content: center;
        flex-direction: initial;
        gap: 20px;
    }

    .top_made_to_order_box img {
        width: calc(50% - 20px);
    }

    .top_made_to_order .btn {
        margin-top: 30px;
    }

    .top_technology_development_link {
        padding: 5%;
    }

    .top_technology_development_link h3 {
        font-size: 5vw;
    }

    .top_technology_development_link span {
        font-size: 9vw;
    }

    .top_technology_development_link .btn_small {
        margin-top: 50px;
        margin-left: auto;
        margin-right: 0;
    }

    .top_technology_development_box {
        margin-top: 40px;
        gap: 40px;
    }

    .top_technology_development_box a {
        height: 40vw;
    }

    .top_technology_development_box a div {
        margin-left: 5%;
    }

    .top_technology_development_box a div span {
        font-size: 9vw;
    }

    .recruit_title .fv_maintitle {
        font-size: 6vw;
    }

    .recruit_vision_txt {
        margin-bottom: 0;
    }

    .recruit_slide_box {
        position: initial;
        margin-top: 30px;
    }

    .recruit_slider_container {
        flex-direction: column;
    }

    .recruit_slider_down {
        display: none;
    }

    .recruit_slider_up, .recruit_slider_down {
        width: 100%;
        height: initial;
    }

    .recruit_slider_up > div {
        height: initial!important;
    }

    .recruit_slider_up_slide {
        margin: 0 10px;
    }

    .recruit {
        overflow: hidden;
    }

    .recruit_btn {
        margin:  30px auto 0 auto;
    }

    .recruit_bg01 {
        top: 25px;
        left: 2%;
        width: 20vw;
    }

    .recruit_bg02 {
        left: initial;
        right: -5%;
        top: -5%;
        bottom: initial;
        width: 30vw;
    }

    .recruit_bg04 {
        bottom: 0;
        left: -5%;
        width: 45vw;
    }

    .recruit_bg05 {
        top: initial;
        bottom: 50vw;
        right: 0;
        width: 35vw;
    }

    .top_about_btn {
        margin: 50px 0;
        align-items: center;
    }

    .top_about_btn a {
        width: 75vw;
        height: 18vw;
    }

    .top_about {
        padding-top: 80px;
    }

    .top_about_img {
        display: flex;
        justify-content: space-between;
    }

    .top_about_img01, .top_about_img02, .top_about_img03 {
        position: initial
    }

    .top_about_img img {
        width: 25vw;
    }

    .top_job {
        padding-bottom: 1px;
    }

    .top_job .top_about_btn {
        position: initial;
    }

    .top_job_lists {
        gap: 5vw;
        flex-direction: initial;
    }

    .top_job_lists_item {
        width: calc((100% - 5vw) / 2);
    }

    .top_job_lists_item a {
        padding: 30px 0;
    }

    .top_job_lists_icon {
        width: 40%;
    }

    .member_slider_btn {
        position: initial;
        justify-content: center;
        margin-top: 50px;
    }

    .member_slider .slick-slide:nth-child(odd) {
        margin-top: 0;
    }

    .athena_industry_title_loop img {
        margin-right: 10px;
    }

    .top_environment_txt {
        padding-top: 0;
    }

    .top_borderline {
        height: 100px;
    }

    .top_environment_img {
        display: none;
    }

    .top_environment_img img {
        height: 25vw;
        object-fit: cover;
    }

    .top_inside_athena_box {
        margin-top: 50px;
        gap: 50px;
    }

    .top_inside_athena_box ul {
        gap: 30px;
    }

    .top_inside_athena_lists {
        font-size: 3.721vw ;
    }

    .top_inside_athena_img_circle {
        width: 40vw;
        bottom: -50px;
    }

    .top_entry .top_about_btn,
    .top_blog .top_about_btn {
        position: initial;
    }

    .members_archive {
        gap: 50px;
    }

    .members_archive_list {
        width: 100%;
    }

    .members_article_tag {
        flex-direction: initial;
    }

    .top_blog {
        padding-bottom: 50px;
    }

    .environment_ojt_slide {
        height: initial;
    }

    .top_blog .environment_ojt_slide {
        margin-top: 50px;
    }

    .environment_ojt02 {
        margin-top: 0;
    }

    .environment_ojt_slide_item {
        margin: 10px;
    }

    .environment_ojt02,
    .environment_ojt04 {
        margin-top: 10vw;
    }

    .recruit {
        height: initial;
    }

    .recruit > div {
        margin-left: 0;
    }

    .top_technology_development_box a {
        width: 100%;
    }

    .footer_wrapper {
        width: 90%;
        margin: auto;
    }

    .contact {
        margin-top: 50px;
    }

    .top_page .contact {
        margin-top: 0;
    }

    .contact .wrapper {
        width: 100%;
    }

    .btn_box {
        padding-left: 0!important;
    }

    .contact .wrapper .btn_box {
        width: 100%;
    }

    .contact .wrapper .btn_box .btn {
        margin-top: 0;
    }

    .btn_contact {
        width: 90%;
    }

    footer {
        padding: 50px 0;
    }

    .footer_top {
        flex-direction: column;
    }

    .footer_top .logo {
        width: 120px;
    }

    .footer_name {
        width: initial;
    }

    .footer_right {
        width: 100%;
    }

    .footer_left {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 5vw;
    }

    .footer_bottom ul {
        flex-direction: column;
        gap: 20px;
    }


    /**********************************************************
        
        下層ページ

    **********************************************************/

    .kasou_page .fv {
        padding: 100px 0 0 0;
    }

    .kasou_page .h1_sub {
        font-size: 9vw;
        margin-bottom: 20px;
    }

    .kasou_page h1 {
        font-size: 4vw;
        padding-left: 15px;
    }

    .contents {
        padding-left: 0;
    }

    .btn {
        margin: 30px auto 0 auto;
    }

    .btn_middle {
        width: 100%;
    }

    .kasou_page .heading_title {
        font-size: 6vw;
    }

    .feature_lists li, .product_flow_lists li {
        margin-top: 50px;
    }

    .feature_list_num, .product_flow_list_num {
        font-size: 10vw;
    }

    .feature_list_num, .product_flow_list_num {
        font-size: 5vw;
    }

    .feature_list_title, .product_flow_list_title {
        font-size: 5vw;
        display: inline-block;
        margin-bottom: 20px;
        margin-left: 10px;
    }

    .product_flow_list_title {
        margin: 0;
    }

    .product_flow_list_img img {
        height: 45vw;
    }

    .product_flow_list_note ul li {
        margin-top: 0;
    }

    .product_flow_list_note ul li {
        width: 100%;
    }

    .product_flow_lists > li::before {
        bottom: -45px;
    }

    .product_flow_list_note span {
        font-size: 3.721vw;
    }

    .product_flow_list_note ul li {
        font-size: 3.721vw;
    }

    .product_flow_list_box {
        gap: 30px;
    }

    .history .contents {
        margin-top: 0;
    }

    .history h3 {
        font-size: 10vw;
    }

    .history_lists_txt h4 {
        font-size: 5vw;
    }

    .made_to_order_lists li {
        text-align: center;
    }

    .made_to_order_lists li img {
        width: 50%;
    }

    .product_flow_lists > li {
        padding: 5%;
    }

    .reverse .product_flow_list_num, .reverse .product_flow_list_title {
        display: inline-block;
        width: initial;
        margin-left: 10px;
    }

    .patent_title {
        margin-bottom: 0;
        gap: 30px;
    }

    .patent_title span {
        font-size: 4vw;
        padding: 10px;
    }

    .patent_title .heading_title {
        font-size: 4vw;
    }

    .patent_lists li {
        margin-top: 50px;
        padding: 5%;
    }

    .patent_list_title {
        margin-bottom: 5%;
    }

    .patent_list_title h3 {
        font-size: 5vw;
    }

    .patent_list_title span {
        font-size: 3.5vw;
        padding: 10px;
    }

    .patent_list_box {
        padding: 5%;
    }

    .project_story_lists li {
        margin-top: 50px;
        height: 70vw;
    }

    .project_story_list_title {
        top: 5%;
        left: 5%;
    }

    .project_story_lists .btn_box {
        bottom: 5%;
        right: 5%;
    }

    .project_story_list_title h3 {
        font-size: 5vw;
    }

    .btn_big {
        width: 100%;
    }

    .article_head {
        padding-bottom: 30px;
        margin-bottom: 30px;
    }

    .post_contents img,
    .post_contents .wp-block-image {
        margin: 30px 0;
    }

    .post_contents h2 {
        font-size: 6vw;
        margin: 40px 0 30px 0;
    }

    .post_contents h3,
    .post_contents h4,
    .post_contents h5,
    .post_contents h6 {
        margin: 30px 0 20px 0;
    }

    .post_contents h3 {
        font-size: 5vw;
    }

    .post_contents h4 {
        font-size: 4.5vw;
    }
    
    .post_contents h5 {
        font-size: 4vw;
    }
    
    .post_contents h6 {
        font-size: 3.721vw;
    }

    .post_contents p a {
        display: inline;
    }

    .wp-block-list li {
        font-size: 3.721vw;
    }

    .btn_big {
        font-size: 3.721vw;
    }


    .project_story_archive li {
        width: 100%;
    }

    .greeting_txt {
        margin-top: 0;
    }

    .greeting_txt span {
        font-size: 6vw;
        margin-bottom: 30px;
    }

    .philosophy_lists_title,
    .philosophy_lists_contents p {
        width: 100%;
    }

    .philosophy_lists_title {
        font-size: 6vw;
    }

    ul.philosophy_lists_contents li {
        width: 100%;
        text-align: center;
    }

    ul.philosophy_lists_contents li img {
        width: 50%;
    }

    table th, table td {
        display: block;
        width: 100%;
        border: 0.5px solid rgba(60, 72, 86, 0.5)!important;
        padding: 20px;
    }

    .news_lists {
        padding-left: 0;
    }

    .news_lists li a {
        padding: 30px 0;
    }

    .news_date {
        font-size: 4vw;
    }

    .news_category {
        font-size: 3vw;
    }

    .news_single h1 {
        padding-left: 0;
        font-size: 5vw;
    }

    .contact_tel span {
        font-size: 8vw;
    }

    .contact_tel a {
        padding: 30px 0;
    }

    .entry_form th,
    .entry_form td {
        width: 100%;
        border: none!important;
        padding: 15px 0;
    }

    .file {
        padding: 15px;
    }

    .form_complete span {
        font-size: 7vw;
    }


    .note {
        font-size: 3vw!important;
    }

    .form_complete a {
        font-size: 3.721vw;
    }

    input[type="submit"] {
        width: 100%;
    }

    .sdgs_link {
        border-radius: 30px;
        padding: 5%;
        gap: 0;
    }

    .sdgs_link a {
        border-right: 0;
        border-bottom: 1px solid #FFF;
        padding-bottom: 10px;
        margin-bottom: 10px;
    }

    .sdgs_link a:last-child {
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 0;
    }

    .sdgs_box_txt {
        width: 100%;
    }

    .sdgs_lists {
        margin: 30px 0;
    }

    .sdgs_lists > li {
        margin: 30px 0!important;
    }

    .sdgs_lists ul li {
        width: 100%;
    }

    .sdgs_h3 {
        margin-bottom: 30px;
    }

    .sdgs_lists li {
        margin: 0;
    }
    
    .sdgs .sdgs_bg_gray,
    .sdgs_bg_gray > div {
        padding: 5%;
    }

    .sdgs_lists li .fb_box {
        flex-direction: initial;
        gap: 30px;
    }

    .sdgs_title,
    .sdgs_h3_box {
        margin: 30px 0;
    }

    .sdgs_title::before {
        top: 2vw;
    }

    .sdgs_h3_box .sdgs_h3 {
        margin-bottom: 0;
        font-size: 4.5vw;
    }

    .sdgs_h3_box span {
        font-size: 4.5vw;
    }

    .sdgs_h4 {
        font-size: 4vw;
        margin-top: 30px;
    }

    .sdgs_bg_gray {
        padding: 5%;
    }

    .sdgs_h5_box {
        margin-top: 0;
    }

    .sdgs_h3_box span {
        width: 25vw;
    }

    .sdgs_h3_box .renewable {
        width: 35vw;
    }

    .sdgs_h3_box .initiatives {
        width: 45vw;
    }

    .delay-time06 {
        animation-delay: 0.6s;
    }
    .delay-time08 {
        animation-delay: 0.6s;
    }
    .delay-time10 {
        animation-delay: 0.6s;
    }

    .footer_nav ul {
        flex-wrap: wrap;
    }

    .footer_nav > ul > li a {
        font-size: 3.589vw;
    }

    .footer_bottom div {
        flex-direction: column-reverse;
        gap: 10px;
        padding: 15px 0;
    }

    .footer_bottom div a {
        font-size: 3.589vw;
    }

    /* ニュース一覧 */

    .pagination {
        margin-top: 50px;
        gap: 10px;
    }



















































    
}




