/* ===================================================================
CSS information

 file name  :  top.css

=================================================================== */

.site_wrap img {
    width: 100%;
    height: auto;
}
/* ------------------------------------------------
  showcase slider
------------------------------------------------ */
.swiper-container {
    width: 100%;
    height: 100%;
    position: relative;
    margin-bottom: 35px;
    margin-top: 150px;
}

@media screen and (max-width: 768px) {
    .swiper-container {
        margin-top: 0;
    }
}
.swiper-slide {
    text-align: center;
    font-size: 18px;
    background: #fff;
    /* Center slide text vertically */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}
.swiper-button-prev {
    background: url("/assets/images/top/img_slider_prev.png") no-repeat center center / contain;
}
.swiper-button-next {
    background: url("/assets/images/top/img_slider_next.png") no-repeat center center / contain;
}


.swiper-container h1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    z-index: 50;
    color: #fff;
    font-weight: bold;
    font-size: 180%;
    filter: drop-shadow(2px 2px 2px #000);
}       

@media screen and (max-width: 768px) {
    .swiper-container h1 {
        font-size: 120%;
    }
}

@media screen and (max-width: 640px) {
    .swiper-container {
        width: 100%;
        height: 100%;
        position: relative;
    }
}





@media screen and (max-width: 640px) {
.swiper-container {
    width: 100%;
    height: 100%;
    position: relative;
}
.swiper-button-prev {
    background: url("/assets/images/img_slider_prev.png") no-repeat center center / auto 24px;
}
.swiper-button-next {
    background: url("/assets/images/img_slider_next.png") no-repeat center center / auto 24px;
}
}
/* ------------------------------------------------
  contentsArea
------------------------------------------------ */
.cont_wrap {
    display: flex;
    justify-content: space-between;
    margin: 0 14px 0;
}
.contents {
    display: flex;
    justify-content: space-between;
    max-width: 860px;
}

@media screen and (max-width: 1180px) {
    .contents {
        display: flex;
        justify-content: space-around;
        max-width: 100%;
        margin-bottom: 60px;
    }
}
.detailbox {
    display: block;
    max-width: 395px;
    margin-right: 35px;
}
.detailbox img {
    width: 100%;
    margin-bottom: 10px;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.detailbox a {
    text-decoration: none;
    color: #222 !important;
}
.detailbox a:hover {
    opacity: 0.8;
}

@media screen and (max-width: 1180px) {
    .cont_wrap {
        flex-direction: column;
    }
}


@media screen and (max-width: 880px) {
    .contents {
         width: 100%;
         gap: 30px;
     }

     .detailbox {
        display: block;
        width: 50%;
        margin-right: 35px;
    }
}

@media screen and (max-width: 640px) {
.cont_wrap {
    display: block;
    margin: 0 3% 0;
}

.contents {
    margin-bottom: 30px;
}

.detailbox {
    max-width:100%;
    margin-right: 0;
}
.detailbox img {
    width: 100%;
    margin-bottom: 10px;
}
}


/* ------------------------------------------------
  トップページ 会社情報セクション
------------------------------------------------ */
.detailbox_text p {
    margin: 1em 0;
}

.detailbox_text p:first-child {
    margin-top: 0;
}


.sst-info-list {
    margin: 0 0 1.5em;
}

.sst-info-list:last-child {
    margin-bottom: 0;
}

.sst-info-list dt {
    margin: 0 0 0.5em;
    font-size: 1em;
    font-weight: bold;
}

.sst-info-list-item {
    margin: 0 0 0 1.5em;
}

.sst-info-list-item ul {
    margin: 0;
    padding: 0;
    list-style-type: disc;
}

.sst-info-list-item li {
    margin: 0 0 0.5em;
}

.sst-info-list-item li:last-child {
    margin-bottom: 0;
}