html, body{
    font-family: 'Roboto', 'Catamaran', 'Arial', '游ゴシック体 Pr6N D', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', sans-serif;
    /* font-family: 'Noto Sans JP','游明朝','Yu Mincho',YuMincho,'Hiragino Mincho Pro',serif; */
    margin: 0;
    line-height: 1.3;
    /* max-width: 1200px; */
    margin-left: auto;
    margin-right: auto;
}
section{
    width: 100%;
    /* margin-left: auto;
    margin-right: auto; */
    margin: 3rem auto;
}

/* main{
    background-color: rgb(243, 243, 243);
} */




/* ヘッダー */
/* ナビ部分 */
.sp{
    display: none;
}
nav{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    height: 5em;
    top: 0;
    z-index: 999;
    transition: 0.8s;
    color: white;
    background: black;  
    display: flex;
    justify-content: flex-start;
    align-items: center;
}
.logo h1{
    line-height: 0.7;
    margin-left: 50px;
    font-size: 27px;
    font-style: italic;
}
.logo span{
    font-size: 0.9rem;
}
nav ul.nav{
    display: flex;
    justify-content: flex-start;
    margin-left: auto;   
    font-size: 87.5%;
    align-items: center;
}
nav a{
    color: #000;
    text-decoration: none;
    color: white;
}
nav ul.nav li{
    margin-right: 2em;
    list-style-type: none;    
}
nav ul.nav li:last-child{
    margin-right: 50px;
}
nav ul.nav li:hover{
    transform: translate(0, -5px);
}




/* TOP画像スライド部分 */
.sp-top{
    display: none;
}

.top img {
    width: 100%;

    /* ここでTOP画像の高さを変更 */
    height: 620px;
    object-fit: cover;
}

.top {
    width: 100%;
    background: cover;
    /* max-width: 1300px; */
    height: 600px;
    overflow:hidden;
    margin: 0 auto;
}
.container {
    position: relative;
	width: 100%;
}
.image {
    background-size: cover;
    position: absolute;
    width: 100%;
    height: 800px;
	opacity: 0;

    /* 画像の横幅固定 */
    object-fit: cover;

    /* infiniteは無限にループ */
    /* 時間は3つのスライドの合計時間 */
	animation: change-img-anim 15s infinite;
}
.image:nth-of-type(1) {
	animation-delay: 0s;
}
.image:nth-of-type(2) {
	animation-delay: 5s;
}
.image:nth-of-type(3) {
	animation-delay: 10s;
}
@keyframes change-img-anim {
	0%{ opacity: 0;}
	10%{ opacity: 1;}
	90%{ opacity: 1;}
	100%{ opacity: 0;}
}





/* メイン */

/* トップテキスト */
.top-text h1{
    margin: 6rem auto 0 auto;
}
.text{
    width: 100%;
    max-width: 850px;
    text-align: center;
    margin: 2rem auto 0 auto;
}
.text h1{
    font-size: 1.5rem;
}
.text h2{
    font-size: 1rem;
    font-weight: normal;
    margin-bottom: 3rem;
    /* text-align: justify; */
}
.text img{
    width: 100%;
    max-width: 850px;
    /* box-shadow: 20px 20px #e7e7e7; */
}
.top-text img{
    /* width: 100%;
    max-width: 850px; */
    box-shadow: 20px 20px #e7e7e7;
}

/* ニュース */
.news{
    max-width: 850px;
    margin: 0 auto;
}
.news table{
    width: 100%;
    /* margin-top: 2rem; */
}
.news th{
    width: 100%;
    padding: 0;
    display: flex;
    align-items: center;
}

.row th{
    padding: 20px 0;
}
.date{
    display: block;
}
.dd{
    font-size: 2rem;
}
.row td{    
    padding: 20px 0;
}

.tag{
    border-radius: 100px;
    border: solid 1px #b2751b;
    padding: 5px 10px;
    width: 85px;
    text-align: center;
    line-height: 1;
    margin-bottom: 0.5rem;
    font-size: 0.8rem;
    /* font-weight: bold; */
}
/* .tag-blue{
    border-radius: 100px;
    border: solid 1px blue;
    padding: 5px 10px;
    width: 85px;
    text-align: center;
    line-height: 1;
    margin-bottom: 0.5rem;
} */



/* タイトル部分 */
.title{
    text-align: center;
    display: block;
}
.title h3{
    text-align: center;
    font-size: 2rem;
    margin-bottom: 0;
}
.title p{
    text-align: center;
    font-size: 0.9rem;
    font-weight: bold;
    margin-top: 0;
    /* color: #b2b2b2; */
    /* color: #b2751b; */
    color: #4087a7;
}

/* タイトル横の線 */
.head-border {
    position: relative;
    display: inline-block;
    padding: 0 60px;
} 
.head-border:before,
.head-border:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 45px;
    height: 2.5px;
    background-color: #c8c8c8;
} 
.head-border:before {
    left: 0;
} 
.head-border:after {
    right: 0;
}
.head-border::before{
    background: linear-gradient(-90deg, #c8c8c8, transparent);
}
.head-border::after{
    background: linear-gradient(90deg, #c8c8c8, transparent);
}




/* サービス一覧 */

.service-list{
    max-width: 850px; 
    margin: 0 auto;
}
.servicies{
    display: grid;
    grid-template-columns: 48% 48%;
    gap: 4%;
    margin: 2rem 0;
}
.service img{
    width: 100%;
    text-align: left;
}
.service{
    background: #fafafa;
    border: #d9d9d9 solid 0.5px;
}
.service h3{
    /* color: black; */
    text-align: left;
    margin: 0; 
    padding: 1.5rem 2rem 0 2rem;
    font-size: 1.6rem;
    color: #4087a7;
}
.service h4{
    margin: 0;
    text-align: left;
    margin: 0; 
    padding: 0 2rem;
    /* font-size: 1.6rem; */
}
.service p{
    padding: 1rem 2rem 2rem 2rem;
    color: black;
    margin: 0;
    text-align: justify;
}
/* h5{
    margin-top: 0;
    text-align: right;
    margin-bottom: 5rem;
} */




/* 求人 */
.recruit-info > .text{
    margin-top: 2rem;
}
.recruit-info > .text h1{
    font-size: 1.4rem;
}

.recruit-text{
    display: flex;
    align-items: center;
    text-align: left;
    margin: 2rem 0;
}
.recruit{
    margin-left: 1.5rem;
}
.recruit-text img{
    width: 50%;
}
.recruit h1{
    /* font-size: 1rem; */
    font-weight: normal;
    margin: 10px 0;
}
.recruit h2{
    font-weight: normal;
    text-align: justify;
    margin-bottom: 1rem;
}
.btn{
    width: 196px;
    text-align: center;
    border: #4087a7 1px solid;
    background: #f6f6f6;
    color: gray;
}





/* 会社概要テーブル部分 */
.company{
    background: #f6f6f6;
    padding: 3rem 0;
}
.table-basic{
    margin: 2rem auto 0 auto;
    width: 100%;                                            
    max-width: 650px;
    /* background: #b2751b; */
}
.table-name{
    border-left-width: 7px;
    border-left-style: solid;
    border-left-color: #4087a7;
    line-height: 30px;
    padding: 0 0 0 15px;
}
.table-basic th, 
.table-basic td {
    /* border-top: 1px solid #dbdee2;
    border-left: 1px solid #dbdee2;
    border-right: 1px solid #dbdee2; 
    border-bottom: 1px solid #dbdee2; */
    padding: 1rem;
}
.table-basic th {
    /* background: #f0f0f0;  */
    /* background: #242424;  */
    width: 30%;
    text-align: left;
    line-height: 1!important;
    font-weight: normal;
    
}
.table-basic td {
    /* background: #fff; */
    line-height: 1.4!important;
}
.table-basic td img{
    width: 82px;
}

.map{
    margin: 0 auto 5rem auto;    
    max-width: 850px;
}


/* フッター */
footer .credits {
    color: white;
    font-size: 13px;
    margin: 0 auto;
    /* max-width: 1200px; */
    text-align: center;
    padding: 20px 0;
    text-transform: uppercase;
    background: black;
}



/* Newのタグ部分 */
/* .ribbon17-wrapper {
    display: block;
    position: relative;
}  
.ribbon17-content {
position: absolute;
top: 0px;
right: 0px;
width: 89px;
height: 91px;
overflow: hidden;
}  
.ribbon17 {
display: inline-block;
position: absolute;
padding: 7px 0;
left: -16px;
top: 14px;
width: 160px;
text-align: center;
font-size: 18px;
line-height: 16px;
background: #f7980a;
color: #fff;
letter-spacing: 0.05em;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}  
.ribbon17:before, .ribbon17:after {
border-top: 4px solid #b2751b;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
bottom: -4px;
}  
.ribbon17:before {
left: 14px;
}  
.ribbon17:after {
right: 18px;
} */



/* トップページへのボタン */
#page-top{
    position: fixed;
    bottom: 0;
    right: 90px;
    width: 70px;
    height: 80px;
}
#page-top a{
    border-radius: 50%;
    padding: 50px 46px;
    background: #4087a7;
    color: #fff;
    text-decoration: none;
}




























@media (max-width:767px) {

    html, body{
        max-width: 100%;
    }
    section{
        margin: 0 auto;
    }
   
    .pc li{
        display: none;
    }
    .sp{
        display: initial;
    }

    nav{
        position: fixed;
        width: 100%;
    }
    h1 .logo{
        width: auto;
        height: 2.5em;
        margin-left: 0.8em;
    }
    .logo h1 img{
        height: 100%;
    }
    .logo h1{
        color: white;
        margin-left: 10px;
        font-size: 1.6rem;
        line-height: 0.7;
    }
    .logo span{
        font-size: 0.9rem;
    }


    nav a{
        text-decoration: none;
        color: black;
    }
    #nav-drawer {
        position: relative;
        margin-left: auto;
      }
    /*チェックボックス等は非表示に*/
      .nav-unshown {
        display:none;
      }
    /*アイコンのスペース*/
    #nav-open {
        display: inline-block;
        width: 4em;
        height: 4em;
        vertical-align: middle;
        position: relative;
        cursor: pointer;
        z-index: 9999;/*最前面に*/
    }
    /*ハンバーガーアイコン*/
    #nav-open span, #nav-open span:before, #nav-open span:after {
        position: absolute;
        height: 0.2em;/*線の太さ*/
        width: 1.7em;/*長さ*/
        border-radius: 0.1em;
        background: white;

        display: block;
        content: '';
        transition: .3s ease-in-out;
    }
    #nav-open span{
        top: 50%;
        left: 50%;
        margin-left: -0.85em;
    }
    #nav-open span:before {
        bottom: 0.5em;
    }
    #nav-open span:after {
        bottom: -0.5em;
    }
    /*中身*/
    #nav-content {
        overflow: auto;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9998;/*アイコンの後ろに*/
        width: 100%;
        background: #fff;/*背景色*/
        transition: .3s ease-in-out;
        opacity: 0;
        pointer-events: none;
        color: black;
    }
    /*チェックが入ったらもろもろ表示*/
    #nav-input:checked ~ #nav-content {
        opacity: 1;
        pointer-events: inherit;
    }
    #nav-input:checked ~ #nav-open span {
        background: #fff;
    }
    #nav-input:checked ~ #nav-open span:before {
        background: #342B27;
        transform: rotate(-45deg);
        bottom: 0;
    }
    #nav-input:checked ~ #nav-open span:after {
        background: #342B27;
        transform: rotate(45deg);
        bottom: 0;
    }
    #nav-input:checked ~ #nav-open{
        position: fixed;
        top: 0;
        right: 0;
    }    
      
    #nav-content{
        text-align: center;
    }
    #nav-content ul{
        margin-top: 3em;
        font-size: 120%;
        list-style-type: none;
        padding: 0;
    }
    #nav-content ul li{
        margin-bottom: 1.4em;
    }
    #nav-content img.nav-logo{
        width: 76%;
        position: absolute;
        bottom: 2em;
        left: 12%;
    }
    nav ul.nav li:hover{
        transform: none;
    }



    /* TOP画像スライド部分 */
    .top{
        width: 100%;
        height: 300px;
    }
    .top img {
        width: 100%;
    
        /* ここでTOP画像の高さを変更 */
        height: 300px;
        margin: 3rem 0;
        object-fit: cover;
    }
    .image img{
        width: 100%;
    }


    /* トップテキスト その他テキスト部分 */
    .top-text{
        margin: 5rem auto 0 auto;
    }
    .text h1{
        margin: 0 10px 15px 10px;
    }
    .text h2{
        margin: 0 10px 10px 10px;
        text-align: left;
        text-align: justify;
    }
    .text h2 br{
        display: none;
    }



    /* ニュース */
	.news{
		padding: 10px 10px 0 10px;
	}
    .news table {
        margin-top: 0.5rem;
    }
	.text-line p{
		margin-bottom: 0;
	}
    
	table.row tr{
		display: flex;
        margin-bottom: 1rem;
	}
	/* table.row th,
	table.row td{
		display: block;
	} */
	.row th{
        width: 27%;
        padding: 0;
	}
	/* .row td{
		padding-top: 0;
	} */
    .news td{
        padding: 3px 0 10px 0;
    }
    



    /* タイトル部分 */

    .title h3{
        /* text-align: left;
        text-align: justify; */
        margin-top: 3.5rem;

        /* padding-top: 1em; */
        /* margin: 0 10px; */
    }


    /* .kyujin{
        margin: 0 15px;
        padding: 1.5rem 0;   
        display: block;
    }
    .item{
        display: flex;
        width: 100%;
        align-items: center;
        margin-bottom: 10px;
        padding: 0;
    }
    .item p{
        margin: 0;
        width: 100%;
    }
    .item img{
        width: 22%;
        height: 100%;
    }
    .item-text{
        width: 78%;
        margin-left: 0.8rem;
    }
    .item-text h3{
        font-size: 1.8rem;
        line-height: 1.1;
        text-align: left;
        margin: 0.2rem 0;
    }
    .item-text p{
        display: none;text-align: justify;
    } */
    



    /* サービス部分 */
    .service-list{
        /* max-width: 1200px;  */
        margin: 0 10px;
    }
    .servicies{
        width: 100%;
        display: inline-block;
        margin-top: 0.5rem;
        margin-bottom: 0;
        /* grid-template-columns: 48% 48%;
        margin-top: 1rem;
        margin-bottom: 1rem;
        gap: 3% 4%; */
    }
    .service{
        margin-bottom: 1rem;
    }

    .service h3{
        padding: 18px 20px 0px 20px;
    }
    .service h4{
        padding: 0 20px;
    }
    .service p{
        padding: 10px 20px 25px 20px;
    }



    /* 求人部分 */
    .recruit-info{
        margin: 0 10px;
    }
    .recruit-info > .text{
        margin-top: 1rem;
    }
    .recruit-info > .text h1{
        font-weight: normal;
        margin: 10px 0 0 0;
    }
    /* .recruit-info > .text{
        margin: 1rem;
    } */
    .recruit{
        margin: 0;
    }
    .recruit-text{
        display: block;
        margin: 1rem 0;
    }
    .recruit-text img{
        width: 100%;
    }
    .recruit-info > .text h2{
        margin: 10px 0;
    }
    .btn{
        width: 100%;
    }




    /* 会社概要 */
    .company{
        margin-top: 3rem;
        padding: 1rem 0;
    }
    .company > .title h3{
        margin-top: 2rem;
    }
    .table-basic{
        margin-top: 0.5rem;
        margin-bottom: 1rem;
    }
    .table-basic th, 
    .table-basic td {
        padding: 0.7rem;
    }

    .map{
        margin-bottom: 1rem;
    }
    .map iframe{
        width: 100%!important;
    }


    /* トップページへのボタン */
    #page-top{
        display: none;
    }
      
}

    





