@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;500&display=swap');
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);


/* Common */

html,body,div,h1,h2,h3,h4,p,blockquote,
button,a,
address,ul,ol {
    margin: 0px;
    padding: 0px;

    font-family: 'Noto Sans JP', Verdana, YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    font-size: 100%;
    vertical-align: baseline;
    line-height: 1.0;
    font-weight: normal;

    -webkit-text-size-adjust: 100%;
}

ul,ol     { list-style-type: none;}
li        { list-style: none;}
img       { border: none; vertical-align: middle;}
button, a{
    display: inline-block;
    border: none;
    text-decoration: none;
    text-shadow: none;
    background: none;
    cursor: pointer;
    outline: none;
    appearance: none;
    color: #333;
}
table{
    margin: 0;
    padding: 0;
    border:none;
    border-spacing:0;
    border-collapse:collapse;
}
th, td{
    vertical-align:top;
    font-weight:normal;
    text-align:left;
}
caption{
    text-align:left;
}


/* ■□■――――――――――――――――■□■
            For All
■□■―――――――――――――――――■□■ */
body {
    overflow-x: hidden; /*PCメガメニュー、全画面黒背景の指定が「vw」のため必須*/
    height: 100%;
    margin: 0 auto;

    background: #fff;

    color: #586465;
    font-size: 18px;
    text-align: left;
}

h1 {
    display: inline-block;
}

h2 {
    margin-bottom: 2em;

    font-size: 23px;
    font-family: 'Poppins';
    font-weight: bold;
    text-align: center;
    letter-spacing: 2px;
    line-height: 1.3;
}

h3 {
    font-size: 25px;
    text-align: center;
    letter-spacing: 2px;
    line-height: 1.5;
}

button {
    padding: 0.8em 1.5em;
    border: 1px solid #333;
    box-sizing: border-box;
    border-radius: 2px;

    color: #586465;
    font-size: 18px;
}
    button:hover {
        color: #ddd;
        background: #1a5487;
    }


label {
    display: block;

    box-sizing: border-box;

    cursor: pointer;
}

.area-box {
    width: 100%;

    padding: 30px 10px;
    box-sizing: border-box;
}

.inner-1300box {
    max-width: 1300px;
    margin: 0 auto;
}

    .inner-1300box > img,
    .inner-1300box > a img {
        display: block;

        width: 100%;
    }

    .inner-1300box.new-area {
        background-color: #ffffec;
    }

            .inner-1300box.new-area .btn-default {
                background-color: white;
            }

.btn-default {
    display: inline-block;

    width: 200px;

    margin: 1em auto 0;
    padding: 0.5em 2em;
    border: 1px solid #ccc;
    box-sizing: border-box;
    border-radius: 40px;

    color: #586465;
    font-size: 15px;
    text-align: center;
}

    .btn-default:hover {
        color: #ddd;
        background: #1a5487;
    }


.Block-desc {
    width: 100%;
    max-width: 707px;

    margin: 0 auto;
    padding: 1.5em 0 1em;
    box-sizing: border-box;

    font-size: 15px;
    text-align: center;
    line-height: 2.3;
}

.fixed {
    position: fixed;
    left: 0;

    width: 100%;
    height: 100%;
}


table {
    width: 100%;

    margin: 0 auto;
}

    table td {
        padding: 1em 0 1em 1em;
        border-bottom: 1px solid #626B70;
        box-sizing: border-box;

        font-size: 17px;
    }
        table tr td:nth-child(1) {
            width: 120px;

            border-bottom-width: 2px;
        }
        table tr td:nth-child(2) {
            line-height: 1.5;
        }




    #Area_main_visual.index-page,
    #Area_main_visual.about-page,
    #Area_main_visual.recruit-page,
    #Area_main_visual.services-page {
        height: 400px;

        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        background-blend-mode: lighten;

        background-color: rgba(255,255,255,0.8);
    }
        #Area_main_visual.index-page {
            position: relative;

            height: 760px;

            background-color: rgba(255,255,255,0);
        }
            #Area_main_visual.index-page p {
                padding-left: 2em;
                padding-right: 2em;
            }
        #Area_main_visual.about-page {
            background-image: url("../img/bg-index-aboutus.jpg");
        }
        #Area_main_visual.recruit-page {
            background-image: url("../img/bg-recruit-main.jpg");
        }
        #Area_main_visual.services-page {
            background-image: url("../img/bg-services-main.jpg");
        }



    .Outer-page-title {
        display: flex;

        width: 100%;
        height: calc(100% - 110px);

        text-align: center;
        letter-spacing: 2px;

        justify-content: center;
        align-items: center;
    }

        .Inner-page-title h1 {
            margin-bottom: 0.3em;

            font-size: 35px;
        }


        .Inner-page-title p {
            position: relative;

            font-size: 17px;
            font-weight: bold;
            text-shadow: 0 0 1em #fff;
        }
            .Inner-page-title p::after {
                position: absolute;
                top: 3em;
                left: 50%;

                width: 1px;
                height: 135px;

                background-color: #545448;

                content: "";
            }

        #Area_main_visual.index-page p {
            position: relative;
        }
            #Area_main_visual.index-page p::before,
            #Area_main_visual.index-page p::after {
                position: absolute;
                top: 16em;

                width: 1px;
                height: 140px;

                content: "";
            }
                #Area_main_visual.index-page p::before {
                    left: calc(50% - 1px);
                    background-color: #f5cc12;
                }
                   #Area_main_visual.index-page p::after {
                    left: 50%;
                    background-color: #b8b71e;
                }


            .Inner-page-title.about-page p {
                color: #ff801f;
            }
            .Inner-page-title.recruit-page p,
            .Inner-page-title.services-page p {
                color: #80a325;
                background: -moz-linear-gradient(left,  #80a325 20%, #f4cc14 80%);
                background: -webkit-linear-gradient(left,  #80a325 20%,#f4cc14 80%);
                background: linear-gradient(to right,  #80a325 20%,#f4cc14 80%);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
            }




/* ■□■――――――――――――――――■□■
            ＳＰーＰＣ ①
■□■―――――――――――――――――■□■ */
@media screen and (min-width:768px) {

#Area_main_visual.index-page p::before,
#Area_main_visual.index-page p::after {
    top: 14em;

    height: 150px;
}

}/* @media screen and (min-width:700px) */



/* ■□■――――――――――――――――■□■
            ＳＰーＰＣ ②
■□■―――――――――――――――――■□■ */

@media screen and (min-width:1000px) {



h2 {
    font-size: 28px;
}

h3 {
    font-size: 35px;
}

.Block-desc {
    font-size: 18px;
}


#Area_main_visual.index-page {
    height: 1000px;
}
#Area_main_visual.about-page,
#Area_main_visual.recruit-page,
#Area_main_visual.services-page {
    height: 640px;
}

    .Inner-page-title h1 {
        font-size: 40px;
    }

    .Inner-page-title p {
        font-size: 19px;
        font-weight: bold;
    }
        .Inner-page-title p::after {
            height: 230px;
        }


#Area_main_visual.index-page p::before,
#Area_main_visual.index-page p::after {
    top: 16em;

    height: 235px;
}


}/* @media screen and (min-width:1000px) */



/* ■□■――――――――――――――――■□■
            ＰＣ
■□■―――――――――――――――――■□■ */
@media screen and (min-width:1400px) {


}/* @media screen and (min-width:1400px) */
