/* PC、SP共通スタイル */
body {
    font-family: "Source Sans Pro", "Hiragino Kaku Gothic ProN", Meiryo, Arial,
        sans-serif;
}
.arrow-right {
    color: #2710d5;
}
/*================
PC用のスタイル
=================*/
@media screen and (min-width: 768px) {
    body {
        
        margin: 0 auto 0 auto;
    }
    p {
        font-size: 16px;
    }
    .sp_only{
        display: none;
    }
    /*-----------ヘッダー-----------*/
    header {
        display: flex;
        justify-content: space-between;
        }
    /* ナビゲーションのレイアウト */
    #nav_pc {
        text-align: right;
        font-size: 24px;
        padding-top: 24px;
        padding-right: 80px;
        font-weight: 700;
        }
    #logo{
        padding-left: 40px;
        }
    #logo > img{
        height: 80px;
    }
    /* ナビゲーションのリンクの装飾設定 */
    #nav_pc > a {
        text-decoration: none;
        margin-left: 20px;
        font-size: 16px;
        }
    #nav_pc > a:link {
        color: #0d0d0d;
        }
    #nav_pc > a:visited {
        color: #0d0d0d;
        }
    #nav_pc > a:hover {
        color: #0d0d0d;
        text-decoration: underline;
        }
    #nav_pc > a:active {
        color: #0d0d0d;
        }
    /*-----------ヘッダー-----------*/
    /* メインビジュ */
    #main{
        padding: 0;
    }
    .main_content{
        width: 100%;
        margin-left: auto;
        position: relative;
    }
    .main_content > img{
        width: 100%;
        vertical-align: bottom;
    }
    .main_content_text{
        width: 30%;
        opacity: 0.8;
        padding: 10px;
        text-align: center;
        position: absolute;
        top: 40%;
        left: 10%;
    }
    .main_content_text > img{
        width: 200%;
    }
    /* スマホ用ナビを非表示 */
    #nav-sp,
    #menu-sp {
        display: none;
    }
    /*コンテンツタイトル(共通)*/
    .content_title > img{
        width: 240px;
    }
    .content_title_s > img{
        width: 220px;
    }
    .content_title{
        color: #707070;
        font-size: 12px;
        line-height: 1;
        text-align: center;
        margin-bottom: 40px;
    }
    .content_title_contact{
        margin-top: 30%;
    }
    /*-----------サービス-----------*/
    #service{
        padding: 40px;
        /*background-color: #e0dada;*/
        background: linear-gradient(-225deg, #fbfbfb 0%, #f3eded 56%, #e0dada 100%);
    }
    .service_content{
        width: 100%;
        margin: 40px auto;
    }
    .service_content_all{
        margin: 0 auto;
        margin-bottom: 40px;
    }
    .service_content_list{
        display: flex;
        justify-content: center;
        width: 50%;
        align-items: center;
        gap: 16px;
        padding: 16px;
        position: relative;
        border: rgb(115, 115, 117) 1px solid;
        border-radius: 16px;
        margin: 60px auto;
        box-shadow: 10px 5px 5px #707070;
    }
    .service_content_list_num{
        position: absolute;
        top: -16px;
        left: -16px;
        width: 120px;
    }
    .service_content_img{
        width: 20%;
    }
    .service_content_img > img{
        width: 100%;
    }
    .service_content_kinds{
        text-align: center;
        vertical-align: middle;
        width: 80%;
        font-weight: 700;
    }
    .service_num{
        position: absolute;
        top: 60px;
        right: 10px;
        width: 100px;
    }
    .service_img{
        width: 100%;
        margin: 16% auto;
        text-align: center;
        height:60%;
    }
    .service_img > img{
        width: 300px;
        height: 210px;
        margin: 0 auto;
    }
    /*-----------サービス-----------*/
    /*-----------company-----------*/
    .company_content{
        width: 800px;
        padding: 40px;
        margin: 160px auto;
        background: radial-gradient(ellipse at center, rgba(96,171,248,1) 0%,rgba(155,201,247,1) 28%,rgba(155,201,247,1) 18%,rgb(255, 255, 255) 70%);
    }
    .company_content > p{
        text-align: center;
    }
    .company_content_table{
        width: 720px;
        margin: 0 auto;
        border-collapse: collapse;
    }
    .company_content_table > tbody > tr{
        border-bottom: 1px #000 solid;
    }
    .company_content_table > tbody > tr > th{
        width: 32%;
        padding: 10px;
        border-bottom: 1px #707070 solid;
    }
    .company_content_table > tbody > tr > td{
        width: 68%;
        padding: 10px;
        border-bottom: 1px #707070 solid;
    }
    /*-----------company-----------*/
    /*-----------recruit-----------*/
    .recruit_content{
        background-color: #D5D5D5;
        padding: 40px;
        }
    .recruit_content > div{
        background-image: url(./images/recruit_back.png);
        background-repeat: no-repeat;
        background-size: 400px;
        }
    .recruit_content > div > p{
        text-align: center;
        }
    .recruit_content_float{
        align-items: center;
        justify-content: center;
        padding: 20px;
        }
    .recruit_content_article{
        display: flex;
        justify-content: center;
        width: 60%;
        margin: 0 auto;
        vertical-align: middle;
        }
    .recruit_content_article > div{
        width: 56%;
        vertical-align: middle;
        }
    .recruit_content_tit{
        width: 40%;
        height: 100%;
        align-items: center;
        line-height: 100px;
        text-decoration: underline;
        letter-spacing: 2px;
        font-size: 20px;
    }
    .recruit_content_article > div > p{
        
    }
    /* photo_content */
    .photo_content_flex{
        display: flex;
        }

    .photo_content_flex > img{
        width: 25%;
        }
    /*-----------recruit-----------*/
    /*-----------contact-----------*/
    .contact_content{
        margin: 80px auto;
        }
    .contact_content_float{
        display: flex;
        padding-top: 40px;
        padding-bottom: 20px;
        }
    .contact_content_left{
        width: 40%;
        }
    .contact_content_left > p{
        text-align: center;
        }
    .contact_content_right{
        width: 60%;
        }
    .contact_content_right > div{
        display: flex;
        margin-bottom: 20px;
        }
    .contact_heading {
        width: 160px;
        align-self: center;
        }
    .contact_label {
        width: 200px;
        font-weight: bold;
        }
    .contact_textbox {
        border-top: 1px;
        border-left: 1px;
        border-right: 1px;
        border-bottom-width: 1px;
        border-bottom-color: #707070;
        border-style: solid;
        background-color: #fafafa;
        height: 40px;
        width: 400px;
    }
    #message{
        height: 160px;
    }
    .contact_form{
        display: flex;
        margin-bottom: 20px;
    }
    /*-----------contact-----------*/
    /*-----------フッター-----------*/
    footer{
        background-color: #fff;
        text-align: center;
        padding: 0px 80px;
    }
    .footer_content{
        display: flex;
        justify-content: space-between;
    }
    .footer_logo{
        width: 30%;
    }
    .footer_logo > img{
        width: 100px;
    }
    #footer_link {
        margin-top: 32px;
    }
    #footer_link > a {
        text-decoration: none;
        margin:0 10px;
        color: #004755;
        font-size: 14px;
        font-weight: bold;
    }
    #footer_link > a:link {
        color: #004755;
    }
    #footer_link > a:hover {
        color: #000;
        text-decoration: underline;
    }
    #footer_link > a:active {
        color: #ffffff;
    }
    #send_Doc{
        margin-left: 25%;
        padding: 8px 40px ;
        box-shadow: 4px 2px 2px #707070;
        font-weight: 700;
    }
    #copyright {
        color: #000;
        text-align: center;
        margin: 8px 0;
        font-size: 12px;
    }
}
/*================================================================
                        スマートフォン用のスタイル
=================================================================*/
@media screen and (max-width: 767px) {
    body {
        min-width: 375px;
        margin: 0;
    }
    header{
        padding: 0 20px;
    }
    p {
        font-size: 3vw;
    }
    #logo{
        padding-left: 0px;
    }
    #logo > img{
        width: 10%;
    }
    .pc_only{
        display: none;
    }
    #nav_pc {
        display: none;
    }
    /* ハンバーガーメニュー */
    #menu-sp {
    width: 5%;
    position: absolute;
    top: 15px;
    right: 20px;
    }
    /* スマホ用ナビゲーションの表示切替*/
    #nav-sp {
        background-color: #fafafa;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 100%;
        display: none;
        z-index: 100;
    }
    #close {
        position: absolute;
        font-size: 8vw !important;
        top: 20px;
        right: 20px;
    }
    #logo-sp {
        margin: 80px 0 30px 20px;
    }
    #logo-sp > img {
        width: 10%;
    }
    #nav-sp > a {
        display: block;
    }
    #nav-sp > a:link {
        color: #000;
    }
    #nav-sp > a:hover {
        color: #000;
        text-decoration: underline;
    }
    #nav-sp > a:active {
        color: #ffffff;
    }
    #nav-sp > .menu {
        text-decoration: none;
        display: block;
        margin: 0 20px 0 20px;
        height: 44px;
        font-size: 16px;
        background-image: url("images/arrow.png");
        background-repeat: no-repeat;
        background-position: right top;
    }
    /* メインビジュ */
    .main_content{
        width: 100%;
        margin-left: auto;
        position: relative;
    }
    .main_content > img{
        width: 100%;
        vertical-align: bottom;
        height: 700px;
    }
    .main_content_text{
        width: 90%;
        opacity: 0.8;
        text-align: center;
        position: absolute;
        top: 32%;
        left: 2%;
    }
    .main_content_text > img{
        width: 100%;
    }
    .main_content_text_cp{
        font-size: 4vw;
    }
    /*コンテンツタイトル(共通)*/
    .content_title > img{
        width: 200px;
    }
    .content_title_s > img{
        width: 180px;
    }
    .content_title{
        color: #707070;
        font-size: 12px;
        line-height: 1;
        text-align: center;
    }
    .content_title_contact{
        margin-top: 40px;
    }
    #company > iframe {
        width: 100%;
        height: 240px;
        margin: 40px 0 0 0;
    }
    /*-----------サービス-----------*/
    #service{
        display: block;
        margin-top: 0px;
    }
    .service_content{
        background-color: #D5D5D5;
        width: auto;
        align-items: center;
        padding: 16px;
    }
    .service_content_list{
        width: 80%;
        position: relative;
        margin: 60px auto;
        text-align: center;
        border: rgb(115, 115, 117) 1px solid;
        border-radius: 16px;
        box-shadow: 10px 5px 5px #707070;
    }
    .service_content_list_num{
        position: absolute;
        top: -18px;
        left: -16px;
        width: 100px;
    }
    .service_content_img > img{
        width: 40%;
    }
    .service_content_kinds{
        margin-left: 10%;
        margin: 16px 10%;
        font-weight: 600;
    }
    /*カルーセル設定*/
    .carousel{
        width: 80%;
    }
    .carouesel > img{
        width: 100%;
    }
    .carousel_service > div{
        position: relative;
        padding: 60px 0px 0px 0px;
    }
    .service_num{
        position: absolute;
        top: 60px;
        right: 10px;
        width: 60px;
    }
    .service_img{
        width: 100%;
        margin: 16% auto;
        text-align: center;
        height:60%;
    }
    .service_img > img{
        width: 300px;
        height: 210px;
        margin: 0 auto;
    }
    .carousel_service > div > p{
        margin-left: 0px;
    }
    /*-----------サービス-----------*/
    /*-----------company-----------*/
    .company_content{
        width: 90%;
        margin: 80px auto;
        background: radial-gradient(ellipse at center, rgba(96,171,248,1) 0%,rgba(155,201,247,1) 28%,rgba(155,201,247,1) 18%,rgb(255, 255, 255) 70%);
    }
    .company_content > p{
        text-align: center;
    }
    .company_content_table{
        width: auto;
        margin: 0 auto;
        border-collapse: collapse;
    }
    .company_content_table > tbody > tr{
        border-bottom: 1px #000 solid;
    }
    .company_content_table > tbody > tr > th{
        width: 32%;
        padding: 4px;
        border-bottom: 1px #707070 solid;
    }
    .company_content_table > tbody > tr > td{
        width: 68%;
        padding: 10px;
        border-bottom: 1px #707070 solid;
        font-size: 2.6vw;
        line-height: 1.6;
    }
    /*-----------company-----------*/
    /*-----------recruit-----------*/
    .recruit_content{
        background-color: #D5D5D5;
        padding: 40px;
        }
    .recruit_content > div{
        background-image: url(./images/recruit_back.png);
        background-repeat: no-repeat;
        background-size: 100%;
        }
    .recruit_content > div > p{
        text-align: center;
        }
    .recruit_content_float{
        align-items: center;
        justify-content: center;
        padding:0 20px;
        }
    .recruit_content_article{
        display: block;
        justify-content: center;
        width: 100%;
        margin: 20px auto;
        vertical-align: middle;
        }
    .recruit_content_article > div{
        width: 100%;
        vertical-align: middle;
        }
    .recruit_content_tit{
        width: 100%;
        height: 100%;
        align-items: center;
        line-height: 10px;
        text-decoration: underline;
        letter-spacing: 2px;
        font-size: 4vw;
    }
    /* photo_content */
    .photo_content_flex{
        display: block;
        vertical-align: bottom;
        }
    .photo_content_flex > img{
        width: 100%;
        vertical-align: bottom;
        }
    /*-----------recruit-----------*/
 /*-----------contact-----------*/
    .contact_content{
        margin: 80px auto 20px;
        }
    .contact_content_float{
        display: block;
        }
    .contact_content_left{
        width: 100%;
        text-align: center;
        }
    .contact_content_left > p{
        text-align: center;
        }
    .contact_content_right{
        width: 100%;
        margin: 0 auto;
        }
    .contact_content_right > div{
        display: block;
        margin-bottom: 20px;
        margin-left: 16px;

        }
    .contact_heading {
        width: 160px;
        align-self: center;
        }
    .contact_label {
        width: 90%;
        font-weight: bold;
        }
    .contact_textbox {
        border-top: 1px;
        border-left: 1px;
        border-right: 1px;
        border-bottom-width: 1px;
        border-bottom-color: #707070;
        border-style: solid;
        background-color: #fafafa;
        height: 40px;
        width: 90%;
    }
    #message{
        height: 160px;
    }
    /*-----------contact-----------*/
    /*-----------フッター-----------*/
    footer{
        background-color: #fff;
        text-align: center;
        padding: 0px 40px;
    }
    .footer_content{
        display: block;
        justify-content: space-between;
    }
    .footer_logo{
        width: 80%;
        margin: 0 auto;
    }
    .footer_logo > img{
        width: 15%;
    }
    #footer_link {
        margin-top: 0px;
        display: flex;
    }
    #footer_link > a {
        text-decoration: none;
        margin:0 10px;
        color: #004755;
        font-size: 14px;
        display: block;
        margin: 0px auto 16px;
    }
    #footer_link > a:link {
        color: #004755;
    }
    #footer_link > a:hover {
        color: #000;
        text-decoration: underline;
    }
    #footer_link > a:active {
        color: #ffffff;
    }
    #send_Doc{
        padding: 5px 60px ;
        box-shadow: 6px 4px 4px #707070;
        font-weight: 700;
        width: 60%;
    }
    #copyright {
        color: #000;
        text-align: center;
        margin: 8px 0;
        font-size: 12px;
    }
}
