@charset "utf-8";
@media screen and (max-width:1560px) {

    /* トップ-選ばれる3つの理由
    ======================================== */
    .list_strength .strength_item {
        max-width: 1200px;
        width: 92%;
        margin: 0 auto;
    }

}

@media screen and (max-width:1180px) {
    .nav_header-pc {
        font-size: 10px;
    }

    .nav-header-en {
        font-size: 16px;
    }

    .nav-header-contact {
        padding-left: 20px;
    }

    .nav-header-contact:before {
        width: 14px;
        height: 14px;
        top: 10px;
        left: 3px;
    }

    .header-logo a {
        flex-direction: column;
        font-size: 8px;
    }

    /* トップ-選ばれる3つの理由
    ======================================== */
    .pc-btn_none1180 {
        display: block;
        margin-top: 30px;
        display: grid;
        justify-content: center;
    }

    .sp-btn_none1180 {
        display: none;
    }
}

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

    /* ========================================
     * 共通
    ======================================== */
    html {
        scroll-padding-top: 60px;
        /*ヘッダーの高さ分設定*/
    }

    .area_header-menu-pc {
        display: none;
    }

    .area_header-menu-sp {
        display: block;
    }

    /* ========================================
     * ヘッダー
    ======================================== */
    .area_header-menu-sp {
        background: #fff;
        display: block;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 2;
        padding: 10px;
        height: 60px;
        display: grid;
        align-items: center;
        border-radius: 0 0 15px 0;
        box-shadow: 0px 3px 10px 0px rgba(0, 0, 0, 0.1);
    }

    .header-logo a {
        flex-direction: row;
    }


    .area_header-menu-sp .header-logo img {
        max-width: 120px;
    }

    /* morph-styles */
    .hamburger-morph {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 1000;
        width: 60px;
        height: 60px;
        padding: 8px;
        border: none;
        border-radius: 0 0 0 15px;
        background: #222;
        cursor: pointer;
    }

    .hamburger-morph__icon {
        width: 100%;
        height: 100%;
    }

    .hamburger-morph__line {
        fill: none;
        stroke: #fff;
        stroke-width: 6;
        transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
            stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
    }

    .hamburger-morph__line:nth-child(1) {
        stroke-dasharray: 60 207;
    }

    .hamburger-morph__line:nth-child(2) {
        stroke-dasharray: 60 60;
    }

    .hamburger-morph__line:nth-child(3) {
        stroke-dasharray: 60 207;
    }

    .hamburger-morph.active .hamburger-morph__line:nth-child(1) {
        stroke-dasharray: 90 207;
        stroke-dashoffset: -134;
    }

    .hamburger-morph.active .hamburger-morph__line:nth-child(2) {
        stroke-dasharray: 1 60;
        stroke-dashoffset: -30;
    }

    .hamburger-morph.active .hamburger-morph__line:nth-child(3) {
        stroke-dasharray: 90 207;
        stroke-dashoffset: -134;
    }

    .nav-morph {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100vh;
        background-image: linear-gradient(120deg, #1FA200, #AAC900);
        clip-path: circle(0% at calc(100% - 44px) 44px);
        transition: clip-path 0.7s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 900;
    }

    .nav-morph.active {
        clip-path: circle(150% at calc(100% - 44px) 44px);
    }

    .nav-morph__wrapper {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: 100%;
    }

    .nav-morph__list {
        margin: 0;
        padding: 0;
        list-style: none;
        text-align: center;
    }

    .nav-morph__item {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.4s ease, transform 0.4s ease;
    }

    .nav-morph.active .nav-morph__item {
        opacity: 1;
        transform: translateY(0);
    }

    .nav-morph.active .nav-morph__item:nth-child(1) {
        transition-delay: 0.3s;
    }

    .nav-morph.active .nav-morph__item:nth-child(2) {
        transition-delay: 0.4s;
    }

    .nav-morph.active .nav-morph__item:nth-child(3) {
        transition-delay: 0.5s;
    }

    .nav-morph.active .nav-morph__item:nth-child(4) {
        transition-delay: 0.6s;
    }

    .nav-morph.active .nav-morph__item:nth-child(5) {
        transition-delay: 0.7s;
    }

    .nav-morph.active .nav-morph__item:nth-child(6) {
        transition-delay: 0.8s;
    }

    .nav-morph__link {
        display: inline-block;
        padding: 16px;
        font-size: 12px;
        color: #fff;
        transition: .3s;
    }

    .nav-morph__link:hover {
        color: #222;
        transition: .3s;
    }

    .nav-morph__item .btn-contact {
        display: block;
        background-color: #222;
        color: #fff;
        width: 200px;
        border-radius: 20px 0 20px 0;
        transition: .3s;
    }

    .nav-morph__item .btn-contact:hover {
        background-color: #777;
        transition: .3s;
    }

    .nav-morph__link .nav-header-en {
        font-size: 16px;
        display: block;
    }

    /* トップ-MV
    ======================================== */
    .area_mv {
        margin-top: 60px;
    }

    .area_catch .vertical-right,
    .area_catch .vertical-left {
        font-size: 12px;
    }

    .area_catch .vertical-right {
        top: -55px;
        right: -52px;
    }

    .area_catch .vertical-left {
        top: -30px;
        right: -15px;
    }

    /* トップ-ニュース
    ======================================== */
    .area_top-news_inner {
        grid-template-columns: 1fr;
    }

    /* ========================================
     * 下層ページ共通
    ======================================== */
    .area_sub-visual {
        padding-top: 60px;
    }
}

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

    /* ========================================
     * 共通
    ======================================== */
    .area_sub-visual .area_title {
        bottom: 20px;
        left: 20px;
    }

    .breadcrumb {
        padding: 20px 0 40px 20px;
    }

    .heading {
        font-size: 26px;
        font-family: futura-pt, sans-serif;
        letter-spacing: .2em;
    }

    .heading-text {
        font-size: 14px;
    }

    /* トップ-取り扱いメーカー
    ======================================== */
    .scroll-infinity__item {
        width: calc(100vw / 4);
    }

    /* トップ-スタッフ
    ======================================== */
    .list_staff-btn {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .list_staff-btn li {
        padding: 50px 5vw 30px;
    }

    .list_staff-btn img {
        position: absolute;
        right: 20px;
        width: clamp(100px, 30%, 200px);
    }

    /* ========================================
     * フッター
    ======================================== */
    .area_footer-menu {
        flex-direction: column-reverse;
        gap: 30px;
        align-items: center;
    }

    .footer-privacy {
        margin: 0 auto;
    }

    .footer-info {
        text-align: center
    }

    /* ========================================
     * 建材一覧
    ======================================== */
    .area_catalog {
        grid-template-columns: 1fr;
    }

    .area_catalog dl {
        padding: 40px;
    }

    /* ========================================
     * 施工実績
    ======================================== */
    .tab-container {
        grid-template-columns: repeat(2, 270px);
    }

    /* ========================================
     * 記事一覧
    ======================================== */
    .area_post-list {
        grid-template-columns: 1fr;
    }

    /* ========================================
     * スタッフ
    ======================================== */
    .list_staff-icon {
        grid-template-columns: repeat(3, 140px);
        margin-bottom: 50px;
    }

    .staff-heading .info {
        position: static;
    }

    .staff-heading .staff-number {
        bottom: -20px;
    }

    /* ========================================
     * 採用情報
    ======================================== */
    .area_recruit-people {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .area_recruit-people .area_info {
        padding: 80px 5vw;
    }

    .list_human-resources .item {
        width: 100%;
    }

    .area_recruit-people .area_image img {
        aspect-ratio: 3/2;
        min-height: 100px;
    }

    .area_recruit-flow {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .area_recruit-flow .area_image {
        order: 2;
    }

    .area_recruit-flow .area_image img {
        aspect-ratio: 3/2;
        min-height: 100px;
    }

    .area_recruit-flow .area_info {
        padding: 80px 5vw;
        order: 1;
    }

    .area_recruit-flow .area_info .list_flow .item {
        width: 100%;
    }
}

@media(max-width:768px) {
    body {
        font-size: 14px;
    }

    .pc-br {
        display: contents;
    }

    .sp-br {
        display: block;
    }

    .breadcrumb {
        gap: 0 10px;
    }

    .breadcrumb li {
        font-size: 10px;
    }

    .area_heading_sub {
        margin-bottom: 30px;
    }

    /* トップ-MV
    ======================================== */
    .area_mv {
        aspect-ratio: 30 / 41;
        background: url(../img/kenzai-index/mv-sp.jpg) center center / contain no-repeat;
    }

    .area_catch {
        max-width: 500px;
        padding: 40px 30px;
    }

    .area_catch_inner {
        grid-template-columns: 1fr;
        width: 90%;
        margin: 0 auto;
        gap: 40px;
    }

    .area_catch h2 {
        font-size: 40px;
    }

    .area_catch_inner .catch_l img {
        right: 25px;
        bottom: 0px;
        width: 40%;
    }

    .area_catch .vertical-right {
        top: -30px;
        right: -15px;
        z-index: 10;
    }

    .area_catch .vertical-left {
        top: -10px;
        right: 23px;
        z-index: 10;
    }

    .area_catch_inner .catch_r {
        padding: 0;
    }

    .area_catch_inner .catch_r img {
        max-width: 180px;
        margin: 0;
    }

    .area_catch_inner .catch_r p {
        border-left: 1px solid transparent;
        padding-left: 0;
        text-align: justify;
    }

    /* トップ-取り扱いメーカー
    ======================================== */
    .area_top-manufacturer {
        padding: 40px 0;
    }

    /* トップ-キャッチ
    ======================================== */
    .area_top-catch {
        min-height: 250px;
    }

    .area_top-catch .container .image {
        max-width: 150px;
        margin: 0 auto 10px;
    }

    .area_top-catch .container h2 {
        letter-spacing: .2em;
    }

    .area_top-catch .container h2 span {
        font-size: 16px;
    }

    /* トップ-選ばれる3つの理由
    ======================================== */
    .area_top-strength {
        padding: 40px 0;
    }

    .area_top-strength_heading {
        text-align: center;
        margin-bottom: 30px;
    }

    .list_strength {
        gap: 40px;
    }

    .list_strength .number {
        font-size: 40px;
    }

    .list_strength h4 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .strength_image .list_image {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .strength_image .list_image .item p {
        padding: 6px 20px;
        font-size: 12px;
    }

    /* トップ-スタッフ
    ======================================== */
    .area_top-staff {
        padding: 40px 0;
    }

    .area_top-staff_heading .sub-text {
        margin-bottom: 40px;
    }

    .area_top-staff .bg-image_01 {
        top: 35px;
        right: -10px;
    }

    .area_top-staff .bg-image_02 {
        bottom: 5px;
        left: -5px;
    }

    .list_staff-btn h4 {
        font-size: 18px;
    }

    .list_staff-btn h4::before {
        top: -13px;
        left: 0px;
        font-size: 30px;
    }

    /* トップ-ニュース
    ======================================== */
    .list_top-news li {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .area_top-news {
        padding: 40px 0;
    }

    .area_top-news .container {
        padding: 30px 0;
    }

    /* トップ-コンタクト
    ======================================== */
    .area_contact {
        min-height: 350px;
    }

    .area_contact .container {
        padding: 30px 10px;
        border-radius: 5px;
    }

    .area_contact .area_heading_sub {
        margin-bottom: 20px;
    }

    .area_contact .heading {
        font-size: 16px;
        letter-spacing: .1em;
    }

    .area_contact .heading span {
        font-size: 20px;
    }

    .area_contact .btn_contact {
        flex-direction: column;
        gap: 15px;
    }

    /* ========================================
     * フッター
    ======================================== */
    .area_footer-menu {
        padding: 40px 0;
    }

    .nav_footer .layout2 {
        grid-template-columns: 1fr;
    }

    .nav_footer .kenzai-menu,
    .nav_footer .reform-menu {
        padding: 20px;
    }

    /* ========================================
    * 下層ページ共通
    ======================================== */
    .breadcrumb {
        padding: 20px 0 30px 10px;
    }

    .area_under {
        padding: 25px;
    }

    .area_under::before {
        width: 100px;
        height: 100px;
        bottom: -20px;
    }

    .area_under::after {
        width: 120px;
        height: 130px;
        bottom: -43px;
    }

    .heading_02,
    .heading_05 {
        font-size: 18px;
    }

    .heading_02 span,
    .heading_05 span {
        font-size: 13px;
        padding: 5px;
    }

    /* ========================================
     * 建材一覧
    ======================================== */
    .list_matelials {
        gap: 40px;
    }

    .list_manufacture-materials {
        gap: 30px;
    }

    .area_contents-btn {
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 30px;
    }

    .area_materials-info {
        padding: 40px 0;
    }

    .list_matelials .layout2 {
        grid-template-columns: 1fr;
        margin: 0 0 30px auto;
    }

    .materials-heading_wrapper::after {
        top: 28%;
    }

    .area_materials-heading .heading-text {
        padding-right: 10px;
    }

    .manufacture-info .layout2_02 {
        flex-direction: column;
        gap: 10px;
        align-items: flex-start;
        margin-bottom: 5px;
    }

    .manufacture-heading img {
        width: 100px;
    }

    .manufacture-info .text {
        margin-bottom: 15px;
    }

    .list_matelial-image {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .item_material .image p {
        font-size: 12px;
        padding: 6px 10px;
    }

    .external-link {
        align-self: flex-end;
    }

    .heading_03 {
        font-size: 16px;
    }

    /* 板金役物 */
    .area_sheet-metal-info {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-bottom: 40px;
    }

    .area_sheet-metal-info h4 {
        font-size: 16px;
    }

    .area_sheet-metal-consultation {
        padding: 30px 0;
    }

    .area_sheet-metal-consultation .container {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .area_sheet-metal-consultation h4 {
        font-size: 16px;
    }

    .area_sheet-metal-image {
        padding: 40px 0 0;
    }

    .area_sheet-metal-image .image-heading {
        margin: 20px 0;
        max-width: 160px;
    }

    .area_sheet-metal-image .image-heading p {
        font-size: 30px;
    }

    .area_sheet-metal-image::after {
        height: 200px;
        top: 40px;
    }

    /* 波板・角波 */
    .item_corrugated-plate {
        padding: 40px 0;
    }

    .item_corrugated-plate .heading_03_wrapper {
        border-radius: 0 15vw 0 0;
    }

    .item_corrugated-plate .materials-heading {
        grid-template-columns: 1fr;
        gap: 0;
        margin-bottom: 30px;
    }

    .corrugated-plate_images {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: .49fr 1fr 1fr;
        gap: 10px;
    }

    .image1 {
        grid-area: 1 / 1 / 2 / 2;
    }

    .image2 {
        grid-area: 1 / 2 / 2 / 3;
    }

    .image3 {
        grid-area: 2 / 1 / 3 / 3;
    }

    .image4 {
        grid-area: 3 / 1 / 4 / 3;
    }

    /* 在庫 */
    .area_stock {
        margin-top: 30px;
    }

    .list_stock {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .item_rain-gutter-name {
        padding-bottom: 40px;
    }

    .item_rain-gutter-name .container_bg {
        padding: 30px 0;
        margin-bottom: 30px;
    }

    .image-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .item_rain-gutter-large .list_stock {
        grid-template-columns: 1fr;
    }

    .item_rain-gutter-large .list_stock .item {
        place-content: center;
    }

    /* ========================================
     * 記事一覧
    ======================================== */
    .area_post-list {
        margin-bottom: 50px;
    }

    .post-item_inner {
        grid-template-columns: 1fr;
        align-items: center;
    }

    .post-item_inner .post-image {
        display: grid;
        place-content: center;
    }

    .list_post_contents {
        margin-bottom: 30px;
    }

    .pagination {
        gap: 0 8px;
    }

    .pagination a {
        width: 30px;
        height: 30px;
        font-size: 12px;
    }

    /* ========================================
     * 記事
    ======================================== */
    .area_article {
        grid-template-columns: 1fr;
        margin-bottom: 50px;
    }

    .article-title {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .article-image {
        margin-bottom: 20px;
    }

    .article-text {
        margin-bottom: 30px;
    }

    /* ========================================
     * 会社概要
    ======================================== */
    .area_message {
        grid-template-columns: 1fr;
        margin-bottom: 40px;
        gap: 20px;
    }

    .area_message .message-image {
        display: grid;
        place-content: center;
    }

    .area_message .message-image img {
        aspect-ratio: 2 / 1;
        object-position: center 15%;
    }

    .message-text .text {
        margin-bottom: 10px;
    }

    .list_outline {
        grid-template-columns: 1fr;
        border-top: 1px solid transparent;
        margin-bottom: 20px;
    }

    .list_outline dt,
    .list_outline dd {
        border-bottom: 1px solid transparent;
        padding: 15px 2vw;
    }

    .area_map {
        margin-bottom: 50px;
    }

    .area_map iframe {
        width: 100%;
        aspect-ratio: 4 / 3;
        border-radius: 5px;
    }

    /* ========================================
     * プライバシーポリシー
    ======================================== */
    .area_privacy {
        margin-bottom: 50px;
    }

    .area_privacy .text {
        margin-bottom: 30px;
    }

    .list_privacy-policy dt {
        font-size: 18px;
    }

    .list_privacy-policy dd {
        margin-bottom: 20px;
    }

    .contact_privacy-policy {
        padding-top: 20px;
    }

    .contact_privacy-policy p:first-child {
        font-size: 18px;
    }

    /* ========================================
     * スタッフ
    ======================================== */
    .staff-heading .info {
        padding: 15px 10px 0 90px;
    }

    .staff-heading .staff-number {
        font-size: 70px;
        bottom: -14px;
    }

    .staff-heading .staff-info .staff-name {
        font-size: 20px;
    }

    .staff-heading .staff-info .staff-name span {
        font-size: 11px;
    }

    .area_faq_inner {
        padding: 10px 0;
    }

    .faq-content p {
        padding: 0 0 20px;
    }

    .list_staff {
        gap: 30px;
    }

    /* ========================================
     * 採用情報
    ======================================== */
    .area_recruit {
        margin-bottom: 40px;
    }

    .recruit-item {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .recruit-label {
        padding: 10px 0;
    }

    .recruit-detail {
        border-bottom: 1px solid transparent;
        padding-bottom: 0;
    }

    .area_recruit-people .area_info {
        padding: 40px 5vw;
    }

    .recruit-heading .heading_05,
    .recruit-heading p {
        text-align: center;
    }

    .recruit-heading .heading_05 span {
        font-size: 22px;
    }

    .list_human-resources .item {
        gap: 10px;
    }

    .area_recruit-people .area_info .text span {
        padding-bottom: 2px;
        line-height: 2;
    }

    .area_recruit-flow .area_info {
        padding: 40px 5vw;
    }

    .area_recruit-flow .area_info .list_flow .item {
        grid-template-columns: 60px 1fr;
        align-items: center;
        gap: 14px;
        padding: 20px 30px;
        border-radius: 60px;
        position: relative;
    }

    .area_recruit-flow .text {
        text-align: justify;
    }

    .area_recruit-flow .area_info .heading_05 {
        font-size: 16px;
    }
	
	/* ========================================
	 * お問い合わせ
	======================================== */
	.area_contact-text .contact-form {
    	margin: 30px 0 50px;
	}
	.cf7-form .form-item p {
		grid-template-columns: 1fr;
	}
	.cf7-form .form-acceptance {
    	margin: 30px 0 20px;
	}
}



@media(max-width:500px) {
    .heading {
        line-height: 1.3;
    }

    .sp-500 {
        display: block;
    }

    /* トップ-取り扱いメーカー
    ======================================== */
    .scroll-infinity__item {
        width: calc(100vw / 2);
    }

    /* トップ-選ばれる3つの理由
    ======================================== */
    .strength_02 .strength_image img,
    .strength_03 .strength_image img {
        aspect-ratio: 5/2;
        object-fit: cover;
        object-position: left center;
    }

    /* トップ-スタッフ
    ======================================== */
    .list_staff-btn li {
        padding: 50px 10px 30px;
    }

    /* トップ-ニュース
    ======================================== */
    .area_top-news_instagram {
        width: 280px;
        padding: 20px 30px;
        font-size: 12px;
        margin-top: 20px;
    }

    .area_top-news_instagram::before {
        width: 120px;
        height: 120px;
        left: 0;
        top: -86px;
    }

    .area_footer-copylight p {
        font-size: 10px;
    }

    /* ========================================
     * 建材一覧
    ======================================== */

    .area_sheet-metal-info .info-note {
        grid-template-columns: 1fr;
    }

    .area_sheet-metal-info .info-note img {
        margin: 0 auto;
    }

    .image-grid {
        grid-template-columns: 1fr;
    }

    /* ========================================
     * スタッフ
    ======================================== */
    .list_staff-icon {
        grid-template-columns: repeat(3, 90px);
        gap: 3vw;
    }

    .list_staff-icon .count p {
        font-size: 12px;
        bottom: 8px;
    }

    .list_staff-icon .count::after {
        font-size: 50px;
        bottom: -8px;
    }

    .staff-heading .info {
        padding: 15px 0 0 68px;
    }

    .staff-heading .staff-number {
        font-size: 60px;
        bottom: -11px;
    }

    .staff-heading .staff-info .staff-name {
        font-size: 20px;
    }

    .staff-heading .staff-info .staff-name span {
        font-size: 10px;
        padding-left: 10px;
    }

    .area_faq {
        padding: 14px;
    }

    .faq-ttl p::before {
        width: 20px;
        margin-right: 10px;
    }

}