@charset "UTF-8";

/*----------
  共通
----------*/


/*
  clearfix
*/

.cf {
    width: 100%;
}

.cf:after {
    content: "";
    display: block;
    clear: both;
}

@font-face {
    font-family: 'FontAwesome';
    src: url('../fonts/fontawesome-webfont.eot?v=4.4.0');
    src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg');
    font-weight: normal;
    font-style: normal;
}

#all-container {
    /*
  overflow: hidden;*/
}

body,
h1,
h2,
h3,
p,
ul li {
    font-size: 15px;
    /*  font-family: TsukuGoPr5-R,Arial,Roboto,"Droid Sans","FOT-筑紫ゴシック Pr5 R","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","游ゴシック",YuGothic;*/
    font-family: Lato, "Noto Sans JP", "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

body {
    color: #221714;
}

h2,
h3 {
    line-height: 1.5;
}

body p {
    line-height: 1.8;
}

#all-container {
    overflow: hidden;
}

.min-font {
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.gfont-antic-slab {
    font-family: "Mplus 1p";
}

.en-font {
    font-family: 'Source Sans Pro', sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

a {
    text-decoration: none;
    backface-visibility: hidden;
}

a:link {
    text-decoration: none;
}

a:visited {
    text-decoration: none;
}

a:hover {
    opacity: 0.7;
    -webkit-transition: 0.3s ease-in-out;
    -moz-transition: 0.3s ease-in-out;
    -o-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    text-decoration: none;
}

a:activ {
    opacity: 1;
}

a.tel-link {
    color: #000;
}

a.tel-link:link {
    color: #000;
}

a.tel-link:visited {
    color: #000;
}

a.tel-link:hover {
    color: #000;
    opacity: 0.6;
}

a.tel-link:activ {
    color: #000;
    opacity: 1;
}


/*電話リンク対策*/

a.tel-link {
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    a.tel-link {
        pointer-events: none;
        pointer-events: auto;
    }
}


/*
a img:link{
  opacity:1;
}

a img:visited{
  opacity:1;
}

a img:hover{
  opacity:0.8;
}

a img:activ{
  opacity:1;
}*/


/*=====================================================
  margin
======================================================*/

.m10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.m20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.m30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.m40 {
    margin-top: 40px;
    margin-bottom: 40px;
}

.m50 {
    margin-top: 50px;
    margin-bottom: 50px;
}

.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mt70 {
    margin-top: 70px;
}

.mb10 {
    margin-bottom: 10px;
}

.mb20 {
    margin-bottom: 20px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb40 {
    margin-bottom: 40px;
}

.mb50 {
    margin-bottom: 50px;
}

.mb60 {
    margin-bottom: 50px;
}


/*=====================================================
  padding
======================================================*/

.p10 {
    padding-top: 10px;
    padding-bottom: 10px;
}

.p20 {
    padding-top: 20px;
    padding-bottom: 20px;
}

.p30 {
    padding-top: 30px;
    padding-bottom: 30px;
}

.p40 {
    padding-top: 40px;
    padding-bottom: 40px;
}

.p50 {
    padding-top: 50px;
    padding-bottom: 50px;
}

.pt10 {
    padding-top: 10px;
}

.pt20 {
    padding-top: 20px;
}

.pt30 {
    padding-top: 30px;
}

.pt40 {
    padding-top: 40px;
}

.pt50 {
    padding-top: 50px;
}

.pb10 {
    padding-bottom: 10px;
}

.pb20 {
    padding-bottom: 20px;
}

.pb30 {
    padding-bottom: 30px;
}

.pb40 {
    padding-bottom: 40px;
}

.pb50 {
    padding-bottom: 50px;
}


/*
  froat
*/

.right {
    float: right;
}

.left {
    float: left;
}


/*-------------------------------------------------

ヘッダー

-------------------------------------------------*/

header {
    background: #0a4739;
    padding-top: 5px;
    padding-bottom: 7px;
}

@media screen and (max-width: 1999px) {
    header {
        padding-top: 10px;
        padding-bottom: 0;
    }
}

@media screen and (max-width: 767px) {
    header {
        padding-bottom: 7px;
    }
}

@media screen and (max-width: 544px) {
    header {
        border-top: 5px solid #ecb21e;
        padding-bottom: 0px;
    }
}

header .container {
    position: relative;
}

header nav.nav-collapse {
    float: left;
}

header h1#header-logo {
    width: 100%;
}

@media screen and (max-width: 767px) {
    header h1#header-logo {
        width: 184px;
    }
}

a.logo {
    padding-top: 16px;
}

@media screen and (max-width: 1999px) {
    a.logo {
        padding-top: 9px;
    }
}

@media screen and (max-width: 767px) {
    a.logo {
        padding-top: 5px;
    }
}

@media screen and (max-width: 320px) {
    a.logo {
        padding-top: 0px;
        width: 56%;
    }
}

.nav-collapse a {
    background: none;
    padding: 19px 15px 0;
    color: #fff;
    font-weight: bold;
    border-left: none;
    border-top: none;
}

@media screen and (max-width: 767px) {
    .nav-collapse a {
        padding: 10px 15px;
    }
    .nav-collapse li:first-child a {
        padding-top: 0;
    }
}

.nav-collapse a:active,
.nav-collapse .active a {
    background: none;
}

.nav-collapse .active a {
    color: #ecb21e;
}

.nav-collapse.opened {
    margin-bottom: 20px;
}

.header-btn-area {
    padding-top: 16px;
    float: right;
}

.btn-top-recruit {
    background: #fff;
    color: #0a4738;
    font-weight: bold;
    font-size: 17px;
    padding: 12px 20px;
    border-radius: 10px;
}

.nav-toggle {
    background: #ecb21e;
    height: 45px;
    text-indent: 6px;
    color: #fff;
    font-size: 16px;
    padding-top: 15px;
}

a.nav-toggle :link {
    color: #fff !important;
}

a.nav-toggle :visited {
    color: #fff !important;
}

a.nav-toggle :hover {
    color: #fff !important;
}

a.nav-toggle :active {
    color: #fff !important;
}

.nav-toggle:before {
    display: none;
}

.logo {
    line-height: 45px;
    padding: 0px;
}

header p.header-icon-recruit {
    width: 45px;
    margin-right: 1px;
    position: absolute;
    right: 86px;
}

.slider-pc,
.slider-sp {
    width: 100%;
    height: auto;
    margin-top: 70px;
    /*上部メニュー対策*/
}

.slider-sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .slider-pc {
        display: none;
    }
    .slider-sp {
        display: block;
    }
}

@media screen and (max-width: 767px) {
    #top-h1 {
        font-size: 22px;
        line-height: 150%;
        padding: 0 15px;
        margin-bottom: 50px;
    }
}

@media screen and (min-width: 1200px) {
    nav.nav-collapse ul {
        margin-left: 15px;
    }
}

@media screen and (max-width: 767px) {
    nav.nav-collapse ul {
        margin-top: 15px;
    }
    nav.nav-collapse ul li {
        text-align: center;
        border-bottom: 1px dotted #ecb21e;
        padding: 10px 0;
    }
    nav.nav-collapse ul li:last-child {
        border-bottom: none;
    }
}

.js .nav-collapse-0.opened {
    max-height: 100% !important;
}

.nav-collapse {
    display: none;
}


/*=====================================================
  共通
======================================================*/

.contents-container {
    padding-top: 70px;
    padding-bottom: 70px;
}

@media screen and (max-width: 767px) {
    .contents-container {
        padding-top: 40px;
        padding-bottom: 40px;
    }
}

.container-top {
    background-color: #ffe164;
    padding-top: 30px;
    padding-bottom: 28px;
}

.container-top .container-ttl {
    font-size: 42px;
    font-weight: bold;
    text-align: center;
    margin-bottom: 18px;
}

.container-top hr {
    width: 55px;
    margin: 0 auto;
    margin-bottom: 12px;
    border-top: 5px solid #0a4739;
}

.container-top p {
    font-size: 20px;
    text-align: center;
}


/*=====================================================
  point3 プロントが選ばれる3つの理由
======================================================*/

#point3-container {
    padding-top: 0px;
}

@media screen and (max-width: 767px) {
    #point3-container {
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 5px;
    }
}

#point3-container .works-img-box {
    margin-bottom: 5px;
}


/*=====================================================
  works プロントのお仕事
======================================================*/

#works-pronto {
    margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
    #works-container {
        padding-top: 0px;
        padding-bottom: 40px;
    }
}

.works-pronto-content {
    padding-top: 25px;
    padding-bottom: 25px;
    border: 5px solid #ffe164;
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .works-pronto-content {
        margin-bottom: 0px;
    }
}

@media screen and (max-width: 767px) {
    .works-img-box {
        margin-bottom: 5px;
    }
}

@media screen and (max-width: 767px) {
    .works-txt-box {
        padding-left: 0;
        padding-right: 0;
    }
}

@media screen and (max-width: 767px) {
    .works-txt-box .numbering {
        display: block;
        width: 38px;
        color: #fff;
        background-color: #221714;
        font-size: 15px;
        text-align: center;
        padding: 5px 15px;
        margin: 0 auto 10px auto;
    }
}

.works-txt-box h2 {
    font-size: 28px;
    font-weight: bold;
    letter-spacing: 3px;
    margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
    .works-txt-box h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }
}

.container-2nd-ttl-wrap {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media screen and (max-width: 767px) {
    .container-2nd-ttl-wrap {
        padding-top: 20px;
        padding-bottom: 20px;
    }
}

.container-2nd-ttl {
    font-size: 35px;
    text-align: center;
    margin-bottom: 18px;
}

@media screen and (max-width: 767px) {
    .container-2nd-ttl {
        font-size: 25px;
    }
}

.container-2nd-ttl-wrap hr {
    width: 300px;
    margin: 0 auto;
    margin-bottom: 12px;
    border-top: 2px solid #0a4739;
}

.works-point-content {
    padding-bottom: 15px;
    border: 5px solid #ffe164;
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .works-point-content {
        margin-bottom: 15px;
    }
}

.works-point-content p.en-font {
    color: #0a4739;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
    letter-spacing: 1px;
    border-bottom: 3px dashed #0a4739;
    margin-bottom: 20px;
}

.works-point-content .en-font span {
    font-size: 32px;
}

.recruit-bnr-box {
    padding-top: 30px;
}

@media screen and (max-width: 767px) {
    .recruit-bnr-box {
        padding-top: 0;
        padding-bottom: 0;
    }
}


/*=====================================================
  MEMBERS 先輩の声
======================================================*/

#members {
    background-color: #f2f2f2;
}

#members-container {
    padding-bottom: 15px;
}

.members-wrap {
    margin-bottom: 45px;
}

@media screen and (max-width: 767px) {
    .members-wrap {
        margin-bottom: 25px;
    }
}

.members-txt-box h3 {
    font-size: 22px;
    font-weight: bold;
    margin-bottom: 14px;
}

@media screen and (max-width: 767px) {
    .members-txt-box h3 {
        font-size: 20px;
    }
}

.members-ttl {
    color: #fff;
    font-size: 25px;
    padding: 15px 15px 12px 15px;
    background-color: #ecb21e;
}

@media screen and (max-width: 767px) {
    .members-ttl {
        font-size: 18px;
        background-color: #ecb21e;
    }
}

div.memers-info-box {
    padding: 15px 15px;
    background-color: #fff;
    border: 3px solid #ecb21e;
    margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
    div.memers-info-box {
        padding: 15px 15px;
    }
}


/*=====================================================
  ENVIRONMENT 職場環境について
======================================================*/

#environment {
    background-color: #ecb21e;
}

#environment-container {
    padding-bottom: 20px;
}

@media screen and (max-width: 767px) {
    #environment-container {
        padding-bottom: 40px;
    }
}

.environment-top-contents-wrap {
    border-bottom: 2px dashed #221714;
    padding-bottom: 60px;
    margin-bottom: 65px;
}

@media screen and (max-width: 767px) {
    .environment-top-contents-wrap {
        margin-bottom: 35px;
    }
}

.environment-top-contents-wrap h2 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 10px;
}

#environment-diagram-box {
    margin-top: 70px;
    margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
    #environment-diagram-box {
        margin-top: 35px;
        margin-bottom: 35px;
    }
}

#kihon-rinen-box {
    color: #fff;
    text-align: center;
    margin-bottom: 50px;
}

#kihon-rinen-box h2 {
    font-size: 35px;
    margin-bottom: 25px;
}

#kihon-rinen-box hr {
    width: 300px;
    margin: 0 auto;
    border-top: 2px solid #fff;
    margin-bottom: 25px;
}

.environment-pr {
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .environment-pr {
        padding-left: 0;
        padding-right: 0;
        margin-bottom: 25px;
    }
}

.environment-img-box {
    line-height: 0;
}

.environment-pr-txt-box {
    color: #0a4739;
    background-color: #fff;
    padding: 40px 30px 30px 30px;
}

@media screen and (max-width: 767px) {
    .environment-pr-txt-box {
        color: #0a4739;
        background-color: #fff;
        padding: 15px;
    }
}

.environment-pr-txt-box h2 {
    text-align: center;
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 18px;
}

@media screen and (max-width: 767px) {
    .environment-pr-txt-box h2 {
        margin-bottom: 15px;
        text-align: left;
    }
}

.environment-pr-txt-box hr {
    width: 100px;
    margin: 0 auto;
    margin-bottom: 20px;
    border-top: 2px solid #0a4739;
}

@media screen and (max-width: 767px) {
    .environment-pr-txt-box hr {
        margin-bottom: 12px;
    }
}


/*
environment-characteristic 職場のここが知りたい！
*/

@media screen and (max-width: 767px) {
    .container-2nd-ttl {
        margin-top: 25px;
    }
}

#environment-characteristic .container-2nd-ttl-wrap {
    padding-bottom: 20px;
}

.table-environment {
    padding: 20px;
    margin-bottom: 50px;
}

@media screen and (max-width: 767px) {
    .table-environment {
        margin-bottom: 0;
    }
}

.table-environment th,
.table-environment td {
    border-top: 3px solid #ecb21e;
}

.table-environment th {
    text-align: center;
    background-color: #ffe164;
}

.table-environment td {
    background-color: #fff;
    font-weight: bold;
}

@media screen and (max-width: 767px) {
    .table-environment td {
        font-weight: normal;
    }
}


/*=====================================================
  service こんなところも人気！
======================================================*/

#service-container {
    padding-top: 0;
}

@media screen and (max-width: 767px) {
    #service-container {
        padding-top: 15px;
    }
}

#service {
    background-color: #fcf9eb;
}

@media screen and (max-width: 767px) {
    #service-container section {
        margin-bottom: 30px;
    }
}

.service-box {
    margin-bottom: 25px;
}

.service-box .container {
    color: #fff;
    background-color: #ecb21e;
    padding: 25px;
}

.service-box h2 {
    font-size: 25px;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .service-box h2 {
        font-size: 20px;
        font-weight: bold;
    }
}

.service-img {
    padding: 15px;
}

@media screen and (max-width: 767px) {
    .service-img-pic {
        width: 232px;
        margin: 0 auto;
    }
}


/*=====================================================
  ABOUT プロントについて
======================================================*/

#about {
    background-color: #fff;
}

#about-top-contents {
    color: #fff;
    text-align: center;
    background-image: url(../img/about-main.jpg);
    background-position: center center;
    background-size: cover;
}

#about-top-contents div {
    padding-top: 130px;
    padding-bottom: 130px;
}

@media screen and (max-width: 767px) {
    #about-top-contents div {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

#about-top-contents h2 {
    font-size: 35px;
    margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
    #about-top-contents h2 {
        font-size: 20px;
        text-align: left;
    }
}


/*=====================================================
RECRUIT 募集要項
======================================================*/

#recruit-container {
    padding-bottom: 0;
}

.table {
    vertical-align: center;
}

#recruit-container .table1 tr:nth-child(odd) {
    background: #f9f9f9;
}

@media screen and (max-width: 767px) {
    #recruit-container .table1 {
        border: 2px solid #f9f9f9;
    }
    #recruit-container .table1 th {
        background: #f9f9f9;
    }
    #recruit-container .table1 td {
        background: #fff;
    }
}

#map-arrow {
    font-size: 10px;
}

h2.table-ttl {
    font-size: 25px;
    text-align: center;
    margin-bottom: 10px;
}

hr.table-ttl-hr {
    width: 150px;
    margin: 0 auto;
    margin-bottom: 12px;
    border-top: 2px solid #0a4739;
    margin-bottom: 40px;
}

hr.table-ttl-hr-unei {
    width: 350px;
    margin: 0 auto;
    margin-bottom: 12px;
    border-top: 2px solid #0a4739;
    margin-bottom: 50px;
}

@media screen and (max-width: 991px) {
    #about-top-contents p {
        text-align: left;
    }
}


/*.about-container .table {
  margin-bottom: 70px;
}*/

.about-container .table2 tr:nth-child(odd) {
    background: #fcf7eb;
}

@media screen and (max-width: 767px) {
    .about-container .table2 {
        border: 2px solid #fcf7eb;
    }
    .about-container .table2 th {
        background: #fcf7eb;
    }
    .about-container .table2 td {
        background: #fff;
    }
}

.about-container .table2 tr th,
.about-container .table2 tr td {
    border-top: 1px solid #fff0d2;
}


/*=====================================================
  form フォーム
======================================================*/

#form-container h2 {
    font-size: 22px;
    text-align: center;
    letter-spacing: 3px;
    margin-bottom: 55px;
}


/*=====================================================
404ページ
======================================================*/

.error-404-container {
    margin-top: 120px;
}

.error-404 {
    padding: 0 20px;
}

.error-404 h2 {
    font-size: 2em;
    margin-bottom: 10px;
}

.error-contents {
    margin: 20px 0;
}

.error-contents h3 {
    font-size: 1.2em;
    color: #bda659;
    font-weight: bold;
    margin-bottom: 10px;
}

.error-reason ul li,
.error-after ul li {
    margin-bottom: 15px;
}

.error-after ul li:last-child a {
    text-decoration: underline;
}


/*=====================================================
  footer
======================================================*/

footer #copyright {
    color: #fff;
    text-align: center;
    background-color: #0a4739;
    padding: 10px 0;
}


/*=====================================================
  SNS共有ボタン
======================================================*/

.a2a_floating_style {
    border-radius: 0px !important;
    padding: 0px !important;
}

.addtoany_share_save_container {
    margin: 0 !important;
    padding: 15px !important;
    background-color: #0a4739;
}

@media screen and (min-width: 768px) {
    .addtoany_share_save_container {
        display: none;
    }
}


/*------------------------------------------------------

	プライバシーポリシー

-------------------------------------------------------*/

.privacy-content {
    padding-top: 20px;
    padding-bottom: 20px;
}

.privacy-content h1 {
    font-size: 1.6rem;
    line-height: 2;
    font-weight: bold;
    text-align: center;
}

@media (min-width: 992px) {
    .privacy-content h1 {
        font-size: 2rem;
    }
}

.privacy-content h2 {
    font-size: 1.2rem;
    line-height: 2;
    text-align: left;
}

@media (min-width: 992px) {
    .privacy-content h2 {
        font-size: 1.6rem;
    }
}

.privacy-content h2::before {
    display: none;
}

.privacy-content h3 {
    line-height: 2;
    margin-top: 1rem;
}

.privacy-content ul,
.privacy-content li {
    list-style: decimal;
    margin: revert;
    padding: revert;
    line-height: 1.8;
}

.privacy-content dl {
    padding-left: 15px;
    line-height: 1.8;
}

.privacy-footer {
    display: block;
    color: #221714;
    line-height: 3;
    text-align: center;
    margin-bottom: 40px;
}

.privacy-footer a {
    color: #221714;
}

@media (min-width: 768px) {
    .privacy-footer {
        margin-bottom: 0px;
    }
}