/*全体-----------------------*/

html,
body {
    height: 100%;
    margin: 0 !important;
    padding: 0 !important;
    letter-spacing: 0.4px;
}


#wrapper {
    overflow: hidden;
}


/*メインスライダー*/
.bg-switcher {
    width: 100vw;
    height: 600px;
    background-position: center center;
    background-size: cover;
    display: flex;
    display: -webkit-flex;
    align-items: center;
    -webkit-align-items: center;
    -webkit-align-items: center;
    justify-content: center;
    -webkit-justify-content: center;
}



/*フォントの種類・太さ*/

body h1 {
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
}

body h2 {
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
}

body h3 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}

body h4 {
    font-family: ten-mincho, serif;
    font-weight: 400;
    font-style: normal;
}

body h5 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}

body h6 {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}

body p {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}

body table {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
}

body a {
    font-family: a-otf-ud-shin-go-pr6n, sans-serif;
    font-weight: 300;
    font-style: normal;
    text-decoration: none;
}




/*要素・文字の色*/

.bg_shiro {
    background-color: #fff;
}

.bg_kuro {
    background: 
        linear-gradient(135deg, black 25%, transparent 25%) -50px 0,
        linear-gradient(225deg, black 25%, transparent 25%) -50px 0,
        linear-gradient(315deg, black 25%, transparent 25%),
        linear-gradient(45deg, black 25%, transparent 25%);   
    background-size: 0.8em 0.8em;
    background-color: #232323;
}

.bg_glay {
    background-color: #232323;
}

.bg_photo {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-image: url(../img/btn_bg.jpg);
}

.bg_photo2 {
    background-attachment: fixed;
    background-size: cover;
    background-position: center;
    background-image: url(../img/greet_bg.jpg);
}

.text_shiro {
    color: #fff;
}

.line {
    width: 100%;
    height: 5px;
    background-color: #E0FF00;}


/*基本の箱・文字サイズ*/

.kihon {
    width: 100%;
    padding: 100px 0;
    text-align: center;
}

.kihon_in {
    max-width: 1000px;
    width: 90%;
    margin: 0 auto;
}


.kihon h1 {
    text-align: center;
    padding: 0 20px 60px;
    font-size: 60px;
}

.kihon h2 {
    max-width: 400px;
    margin: 0 auto 60px;
    padding: 10px 0;
    font-size: 20px;
    line-height: 1.4;
    color: #E0FF00;
    border: solid 1px #E0FF00;
}

.kihon h5 {
    text-align: left;
    font-size: 20px;
    line-height: 1.4;
    margin-bottom:30px;
}

.kihon p {
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}

.kihon a {
    font-size: 14px;
    line-height: 1.8;
}

.kihon th {
    font-size: 14px;
    line-height: 1.8;
    font-weight: 700;

}

.kihon td {
    font-size: 14px;
    line-height: 1.8;
}

p.center {
    text-align: center;
}


/*箱の横並び　その1*/
.box1 {
    display: flex;
    justify-content: space-between;
    flex-wrap: no-wrap;
}

.box1_left {
    max-width: 56%;
    text-align: left;
}

.box1_right {
    max-width: 40%;
    margin-left: 0px;
}

.box1_right img {
    width: 100%;
}


/*ピンポイントマージン*/

h2.mt {
    margin-top: 100px;
}

.pt {
    padding-top: 140px;
}

.pb0 {
    padding-bottom: 0px;
}

p.mb0 {
    margin-bottom: 0px;
}


/*ボタン*/
.btn {
    width: 400px;
    text-align: center;
    margin: 30px auto 0;
    display: inline-block;
    padding: 10px;
    text-decoration: none;
    color: #232323;
    background: #fff;
    border-radius: 50px;
    transition: .4s;
}

.btn:hover {
    background: #E0FF00;;
    color: #232323;
}


/*アクセス*/


h1.tel {
    font-size: 50px;
    margin-bottom: -60px;
    color: #fff;
}


.map {
    margin: 80px auto 0px;
    height: 400px;
    max-width: 100%;
}


/*フッター*/

.footer {
    width: 100%;
    padding: 10px 0 20px;
    
    background: 
        linear-gradient(135deg, black 25%, transparent 25%) -50px 0,
        linear-gradient(225deg, black 25%, transparent 25%) -50px 0,
        linear-gradient(315deg, black 25%, transparent 25%),
        linear-gradient(45deg, black 25%, transparent 25%);   
    background-size: 0.8em 0.8em;
    background-color: #232323;
    
}

.footer p {
    text-align: center;
    padding: 10px 0 100px;
    color: #fff;
}

.footer a {
    color: #fff;
}

.footer img {
    width: 300px;
    margin-bottom: 10px;

}

.end {
    max-width: 100%;
    margin: 0 auto;
    text-align: center;
}

.end p {
    padding: 0px;
}


/*home-----------------------*/
/*view more*/

.pagelink {
    width: 100%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pagelink_box {
    width: 32%;
    padding: 0;
}

.pagelink_box img {
    width: 100%;
    padding: 0;
    transition: all 0.6s ease 0s;
}

.pagelink img:hover {
    cursor: pointer;
    transform: scale(1.05, 1.05);
}



/*link*/
.pagelink2 {
    width: 100%;
    margin: 0 auto 0px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.pagelink2 img:hover {
    cursor: pointer;
    transform: scale(1.05, 1.05);
}

.pagelink2_box {
    width: 32%;
    padding: 10px 0;
}

.pagelink2_box img {
    width: 100%;
    transition: all 0.6s ease 0s;
}


.pagelink2 img:hover {
    cursor: pointer;
    transform: scale(1.05, 1.05);
}


/*sns*/
.sns {
    max-width: 100%;
    padding: 0 0px;
    margin: 0 auto 0px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}


.sns-box {
    width: 100%;
    padding: 10px 0px;
}



/*gaiyo-----------------------*/


/*挨拶*/

.greet_box {
    background-color: #fff;
    color: #232323;
    padding: 60px 100px 60px;
}

.greet_box p {
    text-align: left;
}

.greet_box h4 {
    text-align: right;
    margin: 30px auto 0px;
    padding: 0 2% 0 0;
    font-size: 20px;
    line-height: 1.4;
}



/*テーブル*/

.defo_table table {
    width: 100%;
    color: #232323;
}

.defo_table th {
    min-width: 25%;
    padding: 40px 20px;
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
}

.defo_table td {
    width: 75%;
    text-align: left;
    padding: 40px 20px;
    background-color: #fff;
}


th.bg-glay {
    background-color: #fafafa;
}

td.bg-glay {
    background-color: #fafafa;
}



/*anzen-----------------------*/

/*安全方針*/

.houshin {
    background-color: #fff000;
    margin: 0px auto 80px;
    padding: 40px 0;
    text-align: center;

}

.houshin h5 {
    width: 90%;
    font-size: 18px;
    line-height: 1.4;
    border-radius: 10px;
    color: #fff;
    background-color: #232323;
    padding: 10px 0px;
    margin: 0px auto 0px;
}


.houshin h6 {
    width: 90%;
    font-size: 16px;
    text-align: left;
    line-height: 1.9;
    color: #232323;
    margin: 20px auto 0;
}


/*テーブル2*/
.defo_table2 {
    max-width: 100%;
    margin: 0 auto;
}

.defo_table2 table {
    width: 100%;

}

.defo_table2 th {
    padding: 20px 0;
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #ccc;
    color:#232323;

}

.defo_table2 td {
    padding: 20px 0;
    text-align: center;
    vertical-align: middle;
    background-color: #fff;
    border: 1px solid #ccc;
    color:#232323;
}

.defo_table2 p {
    max-width: 100%;
    margin: 20px 0 0;
}



th.top {
    width: 20%;
    color: #fff;
}

th.sub {
    width: 40%;
    color: #fff;
}

td.keikaku {
    text-align: left;
    padding: 20px 20px;
}



@media screen and (max-width: 1024px) {
    .pt {
        padding: 80px 0;
    }
}


@media screen and (max-width: 768px) {


    /*メインスライダー*/
    .bg-switcher {
        width: 100vw;
        height: 600px;
    }

    .bg-title img {
        width: 200px;
    }

    .bg-title p {
        font-size: 16px;
        margin-top: 14px;
        font-weight: 500;
    }


    /*基本の箱・文字サイズ*/

    .kihon {
        padding: 60px 0;
    }

    .pt {
        padding: 60px 0;
    }

    .kihon h1 {
        padding: 0 20px 40px;
        font-size: 40px;
    }

    .kihon h2 {
        max-width: 100%;
        margin: 0 auto 30px;
        font-size: 16px;
    }
    
    
    .kihon h5 {
        font-size: 16px;
        margin-bottom:20px;
    }


    .kihon p {
        font-size: 12px;
        line-height: 1.6;
    }

    .kihon a {
        font-size: 12px;
        line-height: 1.6;
    }

    .kihon th {
        width: 25%;
        font-size: 12px;
        line-height: 1.6;
    }

    .kihon td {
        width: 75%;
        font-size: 12px;
        line-height: 1.6;
    }


    /*スマホ_ピンポイントマージン*/
    h2.mt {
        margin-top: 60px;
    }


    /*スマホ_箱の横並び　その1*/
    .box1 {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
    }

    .box1_left {
        max-width: 100%;
        text-align: left;
        margin: 0 auto 30px;
        padding: 0 0 0;
    }

    .box1_right {
        max-width: 100%;
        margin: 0;
    }

    .box1_right img {
        width: 100%;
    }


    /*スマホアクセス*/
    h1.tel {
        font-size: 36px;
        margin-top: 0px;
        margin-bottom: -30px;
    }

    .map {
        margin: 60px auto 0px;
        height: 300px;
    }

    .btn {
        max-width: 280px;
    }



    /*スマホフッター*/

    .footer {
        width: 100%;
        padding: 10px 0 10px;
    }

    .footer p {
        text-align: center;
        padding: 10px 0 80px;
    }


    .footer img {
        width: 200px;
        margin-bottom: 10px;

    }

    .end p {
        padding: 0 10px;
    }


    /*home-----------------------*/
    /*view more*/

    .pagelink_box {
        width: 49%;
    }

    .pagelink_box img {
        width: 100%;
        padding: 0 0 10px;
    }


    /*rink*/
    .pagelink2 {
        margin: 0 auto 0px;
    }

    .pagelink2_box {
        width: 49%;
        padding: 0 0 10px;
    }


    /*gaiyo-----------------------*/


    /*挨拶*/
    .greet_box {
        background-color: #fff;
        color: #232323;
        padding: 40px;
    }

    .greet_box p {
        text-align: left;
    }

    .greet_box h4 {
        text-align: right;
        margin: 20px auto 0px;
        padding: 0 2% 0 0;
        font-size: 18px;
    }



    /*概要テーブル*/
    .defo_table {
        margin: 0 auto;
    }
    
    .defo_table th {
        padding: 20px 20px; 
    }
    
    .defo_table td {
        padding: 20px 20px; 
    }
    
    

    .defo_table2 {
        margin: 0 auto;
    }

    th.top {
        width: 20%;
    }

    th.sub {
        width: 40%;
    }

    td.month {
        width: 20%;
    }

    td.keikaku {
        width: 40%;
        text-align: left;
        padding: 20px 10px;
    }


    /*安全方針*/
    .houshin {
        width: 90%;
        background-color: #f0f0f0;
        margin: 0px auto 80px;
        padding: 40px 0;

    }

    .houshin h5 {
        width: 90%;
        font-size: 14px;
    }


    .houshin h6 {
        width: 90%;
        font-size: 14px;
        text-align: left;
        line-height: 1.4;
        color: #232323;
        margin: 20px auto 0;
    }

    .defo_table2 p {
        width: 100%;
        margin: 20px 0 0;
    }

}




/*スライダー*/
.slide {
    max-width: 100%;
    margin: 0 auto;
}

.slide img {
    width: 100%;
}



/*採用情報　スライダー*/

.slide2 {
    max-width: 100%;
    margin: 0 auto;
}

.slide2 img {
    width: 100%;
}

.big {
    max-width: 100%;
    margin: 0 auto;
}

.big img {
    width: 100%;
}

.sam {
    max-width: 100%;
    margin: 0 auto;
}

.sam img {
    width: 94%;
    margin: 20px 0px 0;
}
