
@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

@charset 'UTF-8';
/* mixin
-------------------------------------------------- */
/* reset
-------------------------------------------------- */
html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
time,
mark,
audio,
video
{
    font-style: normal; 

    margin: 0;
    padding: 0;

    list-style-type: none;

    vertical-align: baseline;

    border: 0;
    outline: 0;
    background: transparent;
}

*
{
    font-size: inherit;
    font-weight: inherit;
    font-style: inherit;
    line-height: inherit; 

    box-sizing: border-box;
}
*:before,
*:after
{
    box-sizing: border-box;
}

p,
dl,
dt,
dd,
ol,
ul,
li
{
    font-weight: 400;
}

hr
{
    display: none;
}

table
{
    border-collapse: collapse;
}

input[type='text'],
input[type='tel'],
input[type='email'],
textarea,
select
{
    padding: 0 0 0 .4em;

    border: none;
    border-radius: 0; 
    background: #fff;
}

input[type='submit'],
input[type='reset'],
input[type='button'],
button
{
    padding: 0;

    cursor: pointer;

    border: none;
    outline: none;
    background-color: transparent;

    -webkit-appearance: none;

       -moz-appearance: none;

            appearance: none;
}

/* BASE
-------------------------------------------------------*/
html
{
    font-size: 62.5%;

    overflow: auto; 

    width: 100%;
    height: 100%;
}

body
{
    font-family: 'Noto Sans JP','ヒラギノ角ゴ ProN W3', Meiryo, sans-serif;
    font-size: 14px;
    font-size: 1.4rem;

    position: relative;

    overflow: hidden; 

    box-sizing: border-box;
    width: 100%;
    min-height: 100%;
    margin: 0 auto;

    text-align: center;
    word-wrap: break-word;

    color: #000;
    background: #e6e6e6;

    -webkit-tap-highlight-color: transparent;
    -webkit-font-smoothing: antialiased;
            font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}

a
{
    text-decoration: none;

    color: inherit;
}
@media only screen and (min-width: 769px)
{
    a
    {
        opacity: 1;
    }
    a img
    {
        opacity: 1;
    }
    a:hover
    {
        text-decoration: none;

        opacity: .75;
    }
    a:hover img
    {
        opacity: .75;
    }
}

strong
{
    font-weight: 700;
}

/* wrapper */
.wrapper
{
    position: relative;

    width: 1240px;
    margin: 0 auto;
    padding: 40px 0;
}
.wrapper .wrap_inner
{
    width: 1160px;
    margin: 0 auto;
    padding: 0 0 36px;

    background: #fff;
}

img
{
    width: inherit;
    max-width: 100%;
    height: auto;
    margin: auto;

    vertical-align: middle;
}

/* clearfix */
.clearfix:after
{
    display: block;
    clear: both; 

    content: ' ';
}

/* pp_fixed */
.pp_fixed
{
    position: fixed;

    width: 100%;
    height: 100%;
}

.sp_only
{
    display: block;
}
@media only screen and (min-width: 768px)
{
    .sp_only
    {
        display: none !important;
    }
}

.pc_only
{
    display: none;
}
@media only screen and (min-width: 768px)
{
    .pc_only
    {
        display: block !important;
    }
}

/* btns
-------------------------------------------------- */
.btns
{
    width: 300px;

    text-align: center;
}
.btns a,
.btns input[type='submit'],
.btns input[type='button']
{
    font-weight: 500;

    position: relative;

    display: block;

    width: 100%;
    padding: .5em 0;

    cursor: pointer; 

    border: 1px solid #000;
}
.btns a:before,
.btns input[type='submit']:before,
.btns input[type='button']:before
{
    /*
      content: "";
      display: inline-block;
      margin-right: 0.5em;
      margin-bottom: 0.1em;
      width: 7px;
      height: 7px;
      border-top: 3px solid $color-black-1;
      border-right: 3px solid $color-black-1;
      -webkit-transform: rotate(45deg);
      transform: rotate(45deg);
      */
}
.btns.btn-01
{
    width: 170px;
}
.btns.btn-01 a
{
    font-size: 16px;
    font-size: 1.6rem;

    padding: .3em 0; 

    color: #fff;
    background: #000;
}
.btns.btn-02 a
{
    font-size: 13px;
    font-size: 1.3rem;

    padding: .8em 0; 

    color: #000;
    border: 1px solid #000;
}

/* header
-------------------------------------------------- */
.header
{
    position: fixed;
    z-index: 10;
    top: 40px;
    left: 0;

    width: 100%;

    -webkit-transition: top 200ms 0s ease;

    transition: top 200ms 0s ease; 
    text-align: center;
}
.header.tuiju
{
    top: 0;
}
.header .header_inner
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 1160px;
    margin: 0 0 0 40px;
    padding: 47px 100px 0;

    background: #fff; 

    -webkit-box-orient: horizontal; 

    -webkit-box-direction: normal; 

        -ms-flex-flow: row nowrap; 

            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
@media only screen and (min-width: 1240px)
{
    .header .header_inner
    {
        margin: 0 auto;
    }
}
.header h1
{
    width: 351px;
}
.header .gnav ul
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-flow: row nowrap;

            flex-flow: row nowrap;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
}
.header .gnav ul li
{
    font-size: 12px;
    font-size: 1.2rem;
}
.header .gnav ul li:after
{
    display: inline-block;

    width: 1px;
    height: 23px; 

    content: '';

    background: #666;
}
.header .gnav ul li a
{
    position: relative; 

    display: inline-block;

    padding: 14px 18px 10px;

    color: #000;
}
.header .gnav ul li a:after
{
    position: absolute;
    bottom: 0; 
    left: 0;

    display: inline-block;

    width: 100%;
    height: 3px;

    content: '';

    background: transparent;
}
.header .gnav ul li a:hover
{
    opacity: 1;
}
.header .gnav ul li a:hover:after
{
    background: #000;
}
.header .gnav ul li a.is-act:after
{
    background: #000;
}

/* footer
-------------------------------------------------- */
.footer
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    width: 960px;
    margin: 0 auto;

    text-align: left; 

    -webkit-box-orient: horizontal; 

    -webkit-box-direction: normal; 

        -ms-flex-flow: row nowrap; 

            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.footer .logocopy
{
    padding-right: 30px;

    border-right: 1px solid #000;
}
.footer .logocopy p
{
    font-size: 10px;
    font-size: 1.0rem;

    padding-top: 50px;
}
.footer .sns,
.footer .location,
.footer .contact
{
    border-right: 1px solid #000;
}
.footer .sns dl,
.footer .location dl,
.footer .contact dl
{
    margin: 0 15px 0 0;

    text-align: left;
}
.footer .sns dt,
.footer .location dt,
.footer .contact dt
{
    font-size: 14px;
    font-size: 1.4rem;
}
.footer .sns dd,
.footer .location dd,
.footer .contact dd
{
    font-size: 14px;
    font-size: 1.4rem;
    font-weight: 300;
    line-height: 1.7; 
	margin-right: 10px;
    padding-top: 10px;
}
.footer .sns dd.sns-btn,
.footer .location dd.sns-btn,
.footer .contact dd.sns-btn
{
    text-align: center;
}
.footer .sns dd.sns-btn span,
.footer .location dd.sns-btn span,
.footer .contact dd.sns-btn span
{
    display: inline-block;
}
.footer .sns dd.sns-btn span:first-child,
.footer .location dd.sns-btn span:first-child,
.footer .contact dd.sns-btn span:first-child
{
    padding-right: 10px;
}
.footer .sns dd.sns-btn span:last-child,
.footer .location dd.sns-btn span:last-child,
.footer .contact dd.sns-btn span:last-child
{
    padding-left: 10px;
}

/* article
-------------------------------------------------- */
.article
{
    position: relative;
    z-index: 1; 

    margin: 0 auto;
    padding-top: 90px;
}

/* section
-------------------------------------------------- */
.section
{
    position: relative;
    z-index: 1;

    margin: 0 auto;
    padding: 90px 0 90px; 

    text-align: center;
}
.section p,
.section dt,
.section dd,
.section li
{
    font-size: 14px;
    font-size: 1.4rem;

    letter-spacing: .1em;
}

/* anc nav
-------------------------------------------------- */
#works,
#wow,
#vivitaro,
#aboutus,
#recruitment
{
    margin-top: -60px;
    padding-top: 60px;
}

/* section.sec-main
-------------------------------------------------- */
.sec-main
{
    position: relative;
    z-index: 1; 

    margin: 0 auto 0 100px;
    padding: 65px 0 60px;

    text-align: left;
}
.sec-main:after
{
    position: absolute;
    z-index: 2;
    right: 300px;
    bottom: 10px;

    width: 2996px;
    height: 633px;

    content: '';

    opacity: .5; 
    background: url(../images/hishi_01.svg) repeat-x right top;
    background-size: contain;
}
.sec-main .main_wrap
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-flow: row nowrap;

            flex-flow: row nowrap;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}
.sec-main .main_wrap .main_img
{
    width: 734px;
    margin-right: 50px;
}
.sec-main .sns_wrap
{
    margin-bottom: 55px;
}
.sec-main .sns_wrap dd
{
    padding-top: 10px;
}
.sec-main .sns_wrap dd span
{
    display: inline-block;
}
.sec-main .sns_wrap dd span:first-child
{
    padding-right: 20px;
}
.sec-main .ot_wrap dl
{
    margin-top: 35px;
}
.sec-main .ot_wrap dl dd
{
    font-weight: 300;
    line-height: 1.7; 
	letter-spacing: 0em;
    padding-top: 10px;
}
.sec-main .ot_wrap dl dd .txt01
{
	letter-spacing: .1em;
}

/* section.sec-works
-------------------------------------------------- */
.sec-works
{
    position: relative;
    z-index: 1; 

    width: 960px;
    margin: 70px auto 0;

    text-align: left;
}
.sec-works:after
{
    position: absolute;
    z-index: 2; 
    top: 15px;
    /*right: -742px;*/
    left: 672px;

    width: 2127px;
    height: 902px;

    content: '';

    background: url(../images/hishi_02.svg) repeat-x left top;
    background-size: contain;
}
.sec-works .works_wrap
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 48px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-flow: row nowrap;

            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.sec-works .works_wrap .works_img,
.sec-works .works_wrap .works_info
{
    width: 470px;
}
.sec-works .works_wrap + .works_block
{
    margin-top: 20px;
}
.sec-works .works_block + .works_block
{
    margin-top: 60px;
}
.sec-works h3
{
    font-size: 30px;
    font-size: 3.0rem;
    font-weight: 300;

    letter-spacing: .2em;
}
.sec-works ul
{
    margin-top: 30px;
}
.sec-works ul li
{
    letter-spacing: 0;
}
.sec-works ul li:before
{
    display: inline-block;

    width: 8px;
    height: 8px;
    margin-right: 12px;

    content: '';
    -webkit-transform: rotate(45deg);
            -ms-transform: rotate(45deg);
        transform: rotate(45deg); 

    border-top: 2px solid #707172;
    border-right: 2px solid #707172;
}
.sec-works ul li + li
{
    margin-top: 20px;
}

/* section.sec-wow
-------------------------------------------------- */
.sec-wow
{
    position: relative;
    z-index: 1; 

    width: 960px;
    margin: 90px auto 0;
}
.sec-wow:after
{
    position: absolute;
    z-index: -1; 
    bottom: 220px;
    left: calc(50% - 1401.5px);

    width: 2803px;
    height: 226px;

    content: '';

    background: url(../images/hishi_03.svg) repeat-x left top;
    background-size: contain;
}
.sec-wow .wow_wrap
{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;

    margin-top: 30px;

    -webkit-box-orient: horizontal;

    -webkit-box-direction: normal;

        -ms-flex-flow: row nowrap;

            flex-flow: row nowrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}
.sec-wow .wow_wrap .wow_img
{
    width: 311px;
}
.sec-wow .lead
{
    margin-top: 70px;
}
.sec-wow .lead p
{
    line-height: 2.4;
}
.sec-wow .lead p + p
{
    margin-top: 50px;
}
.sec-wow .btns
{
    margin: 36px auto 0;
}
.sec-wow .lead + .btns
{
    margin-top: 90px;
}

/* section.sec-vivitaro
-------------------------------------------------- */
.sec-vivitaro
{
    width: 980px;
    margin: 0 auto;
}
.sec-vivitaro .vivitaro_imgwrap
{
    margin-top: 48px;

    text-align: center;
}
.sec-vivitaro .vivitaro_imgwrap .vivitaro_img
{
    display: inline-block; 

    width: 226px;
    height: 226px;
    margin: 0 10px;
}
.sec-vivitaro h2
{
    text-align: left;
}
.sec-vivitaro .lead
{
    margin-top: 40px;
}
.sec-vivitaro .lead p
{
    line-height: 2.4;
}

/* --------------------
 slick
-------------------- */
.slick-prev
{
    left: -15px;
}

.slick-next
{
    right: -15px;
}

.slick-prev:before,
.slick-next:before
{
    position: absolute;
    top: 50%;

    width: 13px;
    height: 13px;
    margin-top: -7.5px;

    border: 0;
    border-top: solid 3px #707172;
    border-right: solid 3px #707172;
}

.slick-prev:before
{
    left: 0; 

    content: '';
    -webkit-transform: rotate(225deg);
        -ms-transform: rotate(225deg);
            transform: rotate(225deg);
}

.slick-next:before
{
    right: 0; 

    content: '';
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
}

/* section.sec-aboutus
-------------------------------------------------- */
.sec-aboutus
{
    position: relative;
    z-index: 1; 

    width: 960px;
    margin: 60px auto 0;

    text-align: left;
}
.sec-aboutus:after
{
    position: absolute;
    z-index: -1; 
    top: 115px;
    right: -10px;

    width: 550px;
    height: 551px;

    content: '';

    background: url(../images/hishi_04.svg) no-repeat left top;
    background-size: 100%;
}
.sec-aboutus .info_block
{
    padding: 75px 0 63px 457px;
}
.sec-aboutus .info_block p
{
    line-height: 2.4; 
    margin-bottom: 20px;
}
.sec-aboutus .info_block table th,
.sec-aboutus .info_block table td
{
    line-height: 2.4;
}
.sec-aboutus .info_block table th
{
    width: 90px;
}
.sec-aboutus .map_wrap h3
{
    font-size: 14px;
    font-size: 1.4rem;

    margin-bottom: 10px;
}

/* section.sec-recruitment
-------------------------------------------------- */
.sec-recruitment
{
    margin: 0 auto 90px;
    padding: 40px 0 30px 100px;

    text-align: left; 

    color: #fff;
    background: #000;
}
.sec-recruitment h2
{
    margin-bottom: 30px;
}
.sec-recruitment table th,
.sec-recruitment table td
{
    line-height: 2.4;
}
.sec-recruitment table th
{
    width: 220px;
}
.sec-recruitment p
{
    line-height: 2.4;
}
