@charset "utf-8";
/**
 * トップページだけで使用するCSS
 **/



 /**
  * トップページのヘッダー
  */
 .top_header {
    position: relative;
    width: 100%;
}

.top_header .header_image {
    background-image: url(./top_back.sp.jpg);
    height: 360px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

@media only screen and (min-width: 500px) {
    .top_header .header_image {
        background-image: url(./top_back.pc.jpg);
        height: 320px;
    }
}

@media only screen and (min-width: 700px) {
    .top_header .header_image {
        height: 360px;
    }
}

@media only screen and (min-width: 930px) {
    .top_header .header_image {
        height: 500px;
    }
}

@media only screen and (min-width: 1500px) {
    .top_header .header_image {
        height: 800px;
    }
}

.top_header .header_image::after {
    content: "";
    background-image:
        url('dot.png'),
        linear-gradient( rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
    background-position: center;
    background-size: auto, cover, cover;
    bottom: 0;
    display: block;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 0;
}

.top_header .bg-img_area {
    width: 100%;
}

.top_header .bg-img_area>* {
    height: auto;
    max-height: calc(100vh - 80px);
    object-fit: cover;
    object-position: center;
    vertical-align: top;
    width: 100%;
}

.top_header .bg-img_area .top_back_pc {
    display: none;
}

@media screen and (min-width: 500px) {
    .top_header .bg-img_area .top_back_sp {
        display: none;
    }

    .top_header .bg-img_area .top_back_pc {
        display: inline;
        height: 320px;
    }
}

@media screen and (min-width: 700px) {
    .top_header .bg-img_area .top_back_pc {
        height: 470px;
    }
}

@media screen and (min-width: 960px) {
    .top_header .bg-img_area .top_back_pc {
        height: 54vw;
    }
}


/* ロゴ側のエリア */
.top_header .logo_area {
    margin: 0;
    padding: 0;
    position: absolute;
    left: 0;
    text-align: center;
    top: calc(50% - 72px);
    width: 100%;
    z-index: 1;
}

.top_header .logo_area .img {
    height: auto;
    width: 120px;
}

.top_header .logo_area .text {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}


@media screen and (min-width: 700px) {
    .top_header .logo_area {
        top: calc(50% - 94px);
    }

    .top_header .logo_area .img {
        width: 160px;
    }

    .top_header .logo_area .text {
        font-size: 24px;
    }
}



/**
 * トップページコンテンツ
 */

.autoslider {
    height: 145px;
    background-image: url(autoslider.jpg);
    background-size: 1024px auto;
    background-repeat: repeat;
    background-position: center center;
    animation: 40s linear 0s infinite normal autoslider1;
    margin-top: 48px;
}

@keyframes autoslider1 {
	from {
		background-position-x: 1024px;
	}
	to {
		background-position-x: 0;
	}
}

#photo {
    max-width: 960px;
    height: 300px;
    margin: 2em auto;
    text-align: left;
    overflow: hidden;
    position: relative;
}

#photo img {
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    object-fit: cover;
}

/* 見出し2 */
.top_main_content .section_title {
    background-color: #fff;
    color: #000;
    text-align: center;
    width: 100%;
}

/* サービス一覧デザイン */
.top_main_content .service_area {
    background-color: #fff;
}

.top_main_content .service_area .list {
    list-style-type: none;
    padding: 0;
}

.top_main_content .service_area .list .item {
    margin: 0 0 4em 0;
    padding: 8px;
}

.top_main_content .service_area .list .item a {
    color: #000;
    text-decoration: none;
}

.top_main_content .service_area .list .item .img {
    transition: .2s;
    vertical-align: top;
    width: 100%;
}

.top_main_content .service_area .list .item .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 8px;
    text-align: center;
}

.top_main_content .service_area .list .item .text {
    margin: 0 0 2em 0;
    line-height: 1.4em;
}

.top_main_content .service_area .list .item .btn {
    text-align: center;
}

@media screen and (min-width: 768px) {
    .top_main_content .service_area .list {
        width: 768px;
        margin: 0 auto;
    }

    .top_main_content .service_area .list .item {
        display: inline-block;
        width: 33.33%;/*改行px分取る*/
        margin: 0 0 3em;
        padding: 0 8px;
        vertical-align: top;
        border-bottom: none;
    }

    .top_main_content .service_area .list .item .img_wrapper {
        overflow: hidden;
    }

    .top_main_content .service_area .list .item:hover .img {
        transform: scale(1.1, 1.1);
    }

    .top_main_content .service_area .list .item:hover .title {
        text-decoration: underline;
    }

    .top_main_content .service_area .list .item:hover .border-btn {
        background-color: rgb(29, 131, 189);
        color: #fff;
    }
}

@media screen and (min-width: 960px) {
    .top_main_content .service_area .list {
        width: 960px;
    }
}