/*======================================
  Responsive
======================================*/

/* タブレット */
@media screen and (max-width: 1024px){

/* Header  Hero  Alpha */

    .header-inner{
        height:80px;
    }

    .site-logo{
        left:0;
        transform:translateX(-80px);
    }

    .site-logo img{
        width:480px;
    }

    .header-contact{
        display:none;
    }

    .hero{
        min-height:700px;
        padding:140px 0 260px;
        background-position:75% top;
    }

    .hero-inner{
        min-height:500px;
    }

    .hero-text{
        width:52%;
        margin-left:40px;
    }

    .hero-title{
        font-size:clamp(2.8rem, 6vw, 3.8rem);
    }

    .hero-lead{
        font-size:1rem;
    }

    .hero-alpha{
        bottom:-130px;
        width:88%;
    }

    .alpha-card{
        padding:45px 34px 42px;
    }

    .alpha-logo img{
        max-width:500px;
    }

/* service */
.service{
    padding:170px 0 90px;
}

.service .section-title{
    margin-bottom:90px;
}

.service-list{
    grid-template-columns:repeat(2, 1fr);
    gap:80px 30px;
}

.service-item{
    padding-top:70px;
}

.service-item h3{
    margin-bottom:-90px;
    font-size:1.8rem;
}

/* area */

.area{
    padding:80px 0;
}

.area-wrap{
    flex-direction:column;
    align-items:center;
    gap:40px;
}

.area-text{
    width:100%;
    max-width:700px;
    text-align:center;
}

.area-text p{
    margin-bottom:30px;
}

.area-text h3{
    margin-left:0;
    margin-bottom:20px;
}

.area-map{
    width:100%;
    margin-top:0;
    margin-left:0;
    text-align:center;
}

.area::before{
    background-position:right -80px center;
}

.area-map img{
    max-width:460px;
    margin:0 auto;
}

/* 社長メッセージ：タブレット */
    .work-message{
        grid-template-columns:1fr;
        grid-template-areas:
            "title"
            "photo"
            "text";
        align-items:stretch;
        gap:28px;

        padding:45px 40px;
    }

    .message-title{
        font-size:1.6rem;
        line-height:1.6;
        margin-bottom: 20px;
    }

    .message-photo img{
        width:160px;
    }



/* company */

.company-wrap{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:32px;
}

.company-left,
.company-right{
    display:contents;
}

/* 会社概要（横いっぱい） */
.company-table{
    grid-column:1 / -1;
    order:1;
}

/* 保有資格 */
.company-left .company-card{
    grid-column:1 / 2;
    order:2;
    height:100%;
    margin-top:0;
    align-self:start;
}

/* 公安委員会認定証 */
.company-license{
    grid-column:2 / 3;
    order:3;
    height:100%;
    margin-top:0;
    align-self:start;
}

.company-license img{
    max-width:220px;
}

/* 所属団体 */
.company-group{
    grid-column:1 / -1;
    order:4;
    height:auto;
}

/* 保有資格（1列表示） */
.qualification-list{
    grid-template-columns:1fr;
    gap:14px;
}


}


/*----------------------
スマホ
----------------------*/

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

    .header-inner{
        height:70px;
    }

    .site-logo{
        left:0;
        transform:translateX(-65px);
    }

    .site-logo img{
        width:360px;
    }


    .hero{
        background-image:url("../img/hero_sp.png");
        background-position:center top;
        background-size:cover;
        padding:105px 0 220px;
    }

    .hero-inner{
        min-height:470px;
        display:block;
    }

    .hero-text{
        width:100%;
        margin-left:0;
        padding-top:10px;
    }

    .hero-title{
        margin-bottom:22px;
        font-size:clamp(2.2rem, 10vw, 3rem);
        line-height:1.25;
    }

    .hero-lead{
        margin-bottom:18px;
        font-size:.95rem;
        line-height:1.8;
    }

    .hero-btns{
        flex-direction:column;
        gap:14px;
    }

    .hero-btns .btn{
        width:100%;
        height:54px;
        justify-content:center;
    }

    .hero-alpha{
        bottom:-95px;
        width:90%;
    }

    .alpha-card{
        padding:28px 22px 26px;
    }

    .alpha-logo img{
        max-width:260px;
    }

    .alpha-produced{
        margin-bottom:14px;
        font-size:.8rem;
        letter-spacing:.12em;
    }

    .alpha-link-text{
        font-size:.9rem;
    }

/* service */
.service-list{
    grid-template-columns:1fr;
    gap:80px;
}

.service-item{
    padding-top:65px;
}

.service-item h3{
    font-size:1.7rem;
    margin-bottom:-80px;
}

/* area */
.area-text h3{
    font-size:1.2rem;
    line-height:1.5;
}

.area-text p{
    margin-bottom:24px;
}

/* 警備という仕事 */
.work-movie{
    display:flex;
    flex-direction:column;
    gap:30px;
}

.work-text,
.work-video{
    width:100%;
}

.work-text{
    text-align:left;
}

.work-text h3{
    font-size:1.2rem;
    line-height:1.5;
}

.work-text p{
    line-height:1.9;
}

.work-video{
    aspect-ratio:16 / 9;
}

.work-video iframe{
    display:block;
    width:100%;
    height:100%;
    border:0;
}

/* 社長メッセージ */
    .work-message{
        gap:24px;
        padding:32px 24px;
    }

    .message-title{
        font-size:1.3rem;
        line-height:1.6;
        margin-bottom: 20px;
    }

    .message-photo img{
        width:160px;
    }

    .message-text p{
        line-height:2;
    }


/* 採用情報：スマホ */
.recruit-table,
.recruit-table tbody,
.recruit-table tr,
.recruit-table th,
.recruit-table td{
    display:block;
    width:100%;
}

.recruit-table tr{
    padding:20px 0;
    border-top:1px solid rgba(0,0,0,.15);
}

.recruit-table tr:last-child{
    border-bottom:1px solid rgba(0,0,0,.15);
}

.recruit-table th{
    margin-bottom:10px;
    padding:0;
    text-align:left;
    font-weight:700;
    color:#222;
}

.recruit-table td{
    padding:0;
    line-height:1.8;
    word-break:normal;
    overflow-wrap:anywhere;
}

.recruit-btns{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:14px;
}

.recruit-btns .btn{
    width:100%;
    max-width:280px;
    min-width:0;
    margin:0 auto;

    white-space:nowrap;
    box-sizing:border-box;
}

/* 会社概要：スマホ */
.company-table,
.company-table tbody,
.company-table tr,
.company-table th,
.company-table td{
    display:block;
    width:100%;
}

.company-table tr{
    padding:20px 0;
    border-bottom:1px solid #e5edf3;
}

.company-table tr:first-child{
    border-top:1px solid #e5edf3;
}

.company-table th{
    display:inline-block;
    width:auto;
    margin-left:20px;
    margin-bottom:10px;
    padding:6px 10px;
    font-size:.95rem;
    background:#edf7fd;
    border-radius:6px;
}

.company-table td{
    padding:0 20px;
    line-height:1.8;
    word-break:normal;
    overflow-wrap:anywhere;
}

.company-wrap{
    grid-template-columns:1fr;
    gap:24px;
}

/* company保有資格　認定証　所属団体 */
.company-wrap{
    display:block;
}

.company-card{
    margin-bottom:24px;
}

.company-license{
    margin-bottom:32px;
}

.company-license img{
    max-width:220px;
    margin:20px auto;
    display:block;
}

/* ドローン事業：スマホ */
.drone-banner{
    display:block;
    min-height:auto;
    padding-top:230px;
    position:relative;
    overflow:hidden;

    background-image:
        linear-gradient(
            to bottom,
            rgba(255,255,255,0) 65%,
            rgba(255,255,255,1) 100%
        ),
        url("../img/dron_banner_sp.jpg");

    background-repeat:no-repeat;
    background-size:100% 230px, 100% auto;
    background-position:center top, center top;

    border-radius:20px;
}

.drone-banner-text{
    width:100%;
    padding:28px 24px 26px;
    box-sizing:border-box;

    background:#fff;
}

.drone-banner-text h3{
    margin-bottom:16px;
    font-size:1.5rem;
    line-height:1.5;
}

.drone-banner-text p{
    margin-bottom:22px;
    line-height:1.9;
}

.drone-banner-btn{
    display:flex;
    width:100%;
    min-width:0;
    height:auto;
    min-height:48px;
    padding:12px 18px;
    box-sizing:border-box;
    text-align:center;
}

/* お問い合わせ：スマホ */
.contact-list{
    flex-direction:column;
    gap:24px;
}

.contact-lead br{
    display:none;
}

.contact-card{
    width:100%;
    min-height:120px;
    position:relative;
    padding:20px;
    box-sizing:border-box;
}

.contact-icon{
    position:static;
    transform:none;
    margin:0 auto 18px;
}

.contact-card strong{
    display:block;
    font-size:1.6rem;
    line-height:1.5;
    text-align:center;
}

/* アクセス：スマホ */
    .access-list{
        grid-template-columns:1fr;
        gap:24px;
    }

    .access-map{
        height:180px;
        margin-top:0;
    }

    .access-map iframe{
        display:block;
        width:100%;
        height:100%;
    }

}