@charset "UTF-8";

/*--------------------------------------------------------------*/
/* CSS and Graphics are released under Creative Commons Licence */
/* http://www.webplus.jp/                                       */
/* Copyright (C) Kiyonobu Horita @ WEBPLUS Inc.                 */
/*--------------------------------------------------------------*/


/* ========================================================

　Global Setting

=========================================================== */

.pageContent h2 {
    margin-bottom: 3.0rem;
    font-size: 2.0rem;
}

.pageContent p {
    margin-bottom: 1.6rem;
}

.pageContent figcaption {
    color: rgba(51, 51, 51, 1.0);
    font-size: 1.4rem;
    text-align: center;
}

.pageContent hr {
    margin: 2.5rem 0;
}

.pageContent a:link,
.pageContent a:visited {
    color: rgba(0, 70, 160, 1.0);
}

.pageContent a:hover,
.pageContent a:focus {
    color: rgba(230, 90, 0, 1.0);
}

/* 写真 */
article .photo {
    padding: 0.5rem;
    border: 0.1rem solid rgba(204, 204, 204, 1.0);
    -webkit-box-shadow: 0.2rem 0.2rem 0.2rem 0 rgba(204, 204, 204, 1.0);
    box-shadow: 0.2rem 0.2rem 0.2rem 0 rgba(204, 204, 204, 1.0);
}

/* マーカー */
.mkr.pnt {
    background-position: -100% 1.25rem;
}

.mkr {
    background-repeat: repeat-x;
    background-size: 200% 0.8rem;
    background-position: 0 1.25rem;
    font-weight: 500;
    -webkit-transition: all 2.0s ease-in-out;
    -o-transition: all 2.0s ease-in-out;
    transition: all 2.0s ease-in-out;
}

.yel.mkr {
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255, 250, 175) 50%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, rgb(255, 250, 175)));
    background-image: linear-gradient(to right, transparent 50%, rgb(255, 250, 175) 50%);
}

.blu.mkr {
    background-image: -o-linear-gradient(left, transparent 50%, rgb(200, 225, 255) 50%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, rgb(200, 225, 255)));
    background-image: linear-gradient(to right, transparent 50%, rgb(200, 225, 255) 50%);
}

.red.mkr {
    background-image: -o-linear-gradient(left, transparent 50%, rgb(255, 210, 210) 50%);
    background-image: -webkit-gradient(linear, left top, right top, color-stop(50%, transparent), color-stop(50%, rgb(255, 210, 210)));
    background-image: linear-gradient(to right, transparent 50%, rgb(255, 210, 210) 50%);
}

@media only screen and (min-width: 768px) {

    .pageContent h2 {
        font-size: 2.4rem;
    }

    .pageContent hr {
        margin: 5.0rem 0;
    }

}


/* ========================================================

　Company Profile

=========================================================== */

/*　Greeting Section
----------------------------------------------------------- */
.company #greeting h2 {
    position: relative;
    padding: 2.0rem;
    font-family: 'Noto Serif CJK JP', 'Noto Serif JP', 'Yu Mincho', 'YuMincho', 'sans-serif';
    z-index: 1
}

.company #greeting h2::before,
.company #greeting h2::after {
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 0.4rem;
    -webkit-box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.3);
    box-shadow: 0 0.1rem 0.3rem rgba(0, 0, 0, 0.3);
    content: "";
}

.company #greeting h2::before {
    left: 0;
    top: 0;
    background-color: rgba(255, 255, 255, 0.7);
    z-index: -1;
}

.company #greeting h2::after {
    top: 1.0rem;
    left: 1.0rem;
    background-color: rgba(145, 195, 30, 0.5);
    z-index: -2;
}

.company #greeting p {
    font-family: 'Noto Serif CJK JP', 'Noto Serif JP', 'Yu Mincho', 'YuMincho', 'sans-serif';
    font-size: 1.8rem;
    line-height: 3.0rem;
}

.company #greeting figure {
    margin-bottom: 4.0rem;
}

.company #greeting figcaption img {
    width: 100%;
    max-width: 16.0rem;
    height: auto;
    margin-top: 1.0rem;
}

.company #greeting .mkr.pnt {
    background-position: -100% 1.5rem;
}

.company #greeting .mkr {
    background-size: 200% 1.0rem;
    background-position: 0 1.5rem;
}

@media only screen and (min-width: 768px) {

    .company #greeting h2 {
        margin-bottom: 5.0rem;
    }

    .company #greeting figcaption img {
        max-width: 10.0rem;
    }

}

@media only screen and (min-width: 992px) {

    .company #greeting figcaption img {
        max-width: 16.0rem;
    }

}

/*　Concept Section
----------------------------------------------------------- */
.company #concept p {
    font-size: 1.75rem;
    line-height: 3.0rem;
}

/*　Outline Section
----------------------------------------------------------- */
.company #outline table {
    width: 100%;
}

.company #outline th {
    padding: 0.5rem 1.0rem;
    font-weight: 500;
    vertical-align: top;
}

.company #outline td {
    margin-bottom: 2.0rem;
    padding: 0.5rem 1.0rem;
    vertical-align: top;
}

.company #outline dl {
    margin: 0;
}

.company #outline dd {
    margin-left: 1.0rem;
}

.company #outline dt {
    font-weight: 500;
}

.company #outline ul {
    margin-left: 2.4rem;
}

.company #outline li {
    line-height: 3.0rem;
}

.company #outline h4,
.company #outline h5 {
    margin-bottom: 0.5rem;
    font-size: 1.6rem;
}

.company #outline h4 {
    font-weight: 500;
}

.company #outline h4:nth-of-type(n+2) {
    margin-top: 2.5rem;
}

.company #outline h5 {
    margin-top: 1.0rem;
}

.company #outline p {
    margin-bottom: 0.25rem;
    margin-left: 0.85rem;
}

.company #outline h5 + p {
    margin-bottom: 0.25rem;
    margin-left: 1.7rem;
}

.company #outline p span {
    display: inline-block;
    width: 18.85rem;
}

.company #outline h5 + p span {
    width: 18.0rem;
}

@media only screen and (min-width: 375px) {

    .company #outline p {
        margin-left: 1.7rem;
    }

    .company #outline h5 + p {
        margin-left: 3.4rem;
    }

    .company #outline p span {
        width: 21.75rem;
    }

    .company #outline h5 + p span {
        width: 20.0rem;
    }

}

@media only screen and (min-width: 576px) {

    .company #outline dt,
    .company #outline dd {
        display: inline-block;
    }

    .company #outline dt {
        width: 22.0rem;
    }

    .company #outline dd {
        width: calc(100% - 24.0rem);
    }

}

@media only screen and (max-width: 767px) {

    .company #outline th,
    .company #outline td {
        display: block;
        width: 100%;
    }

    .company #outline th {
        background-color: rgba(240, 240, 240, 1.0);
    }

}

@media only screen and (min-width: 768px) {

    .company #outline table {
        border-collapse: separate;
        border-spacing: 1.0rem;
    }

    .company #outline th {
        width: 15.0rem;
        padding: 1.0rem 1.5rem;
        border-bottom: 0.2rem solid rgba(204, 204, 204, 1.0);
    }

    .company #outline td {
        padding: 1.0rem 1.5rem;
        border-bottom: 0.1rem solid rgba(204, 204, 204, 1.0);
    }

}

/*　History Section
----------------------------------------------------------- */
.company #history dt {
    font-weight: 400;
}

.company #history dd {
    padding: 1.0rem 0;
    border-top: 0.2rem dotted rgba(180, 180, 180, 1.0);
}

@media only screen and (min-width: 768px) {

    .company #history dt {
        clear: both;
        float: left;
        width: 14.0rem;
        height: 1.8rem;
        margin: 0;
        padding: 1.1rem 2.5rem 1.0rem 0;
        text-align: right;
        line-height: 3.0rem;
    }

    /* ・・・ */
    .company #history dt::after {
        margin-left: 0.5rem;
        color: rgba(204, 204, 204, 1.0);
        font-family: "Font Awesome 5 Free";
        font-weight: 700;
        content: "\f141";
    }

    .company #history dd {
        margin: 0;
        margin-left: 13.0rem;
        padding: 1.0rem 0 1.0rem 1.5rem;
        border: none;
        border-left: 0.4rem solid rgba(204, 204, 204, 1.0);
        line-height: 3.0rem;
    }

    /* ◎ */
    .company #history dd::before {
        display: inline-block;
        position: relative;
        top: 0.4rem;
        left: -2.6rem;
        width: 1.8rem;
        height: 1.8rem;
        margin-right: -1.6rem;
        border: 0.3rem solid rgba(145, 195, 30, 1.0);
        border-radius: 50%;
        background-color: rgba(250, 250, 150, 1.0);
        content: "";
        z-index: 100;
    }

    .company #history dd:last-child::before {
        content: none;
    }

}

/*　Staff Section
----------------------------------------------------------- */
.company #staff .slider {
    width: 90%;
    height: auto;
    margin: auto 5.0%;
}

/* Slick.js */
.slick-prev,
.slick-next {
    position: absolute;
    top: calc(50% - 5.0rem) !important;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.slick-prev::before,
.slick-next::before {
    color: rgba(145, 195, 30, 1.0) !important;
    font-size: 2.2rem !important;
}

.slick-dots li button::before {
    font-size: 1.8rem !important;
    color: rgba(145, 195, 30, 1.0) !important;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.company #staff .slider aside {
    font-size: 80%;
}

.company #staff .slider h3 span {
    font-size: 80%;
}

.company #staff .slider p {
    margin-top: 0.5rem;
    font-size: 85%;
    line-height: 160%;
}

.slick-slide {
    display: none;
    margin: auto 0.5rem;
    border: none;
    outline: none;
}

.slick-slide:not(.slick-current) {
    opacity: 0.25;
}

.slick-slide:not(.slick-current):hover {
    opacity: 0.75;
}

.slick-slide img {
    width: 100%;
    height: auto;
}

.slick-slide a:hover img {
    opacity: 1.0;
}

.slick-current .photo {
    border: 0.3rem solid rgba(230, 90, 0, 0.7);
}

/* 一瞬縦並びになるのを解消 */
.slick-initialized .slick-slide {
    display: block;
    -webkit-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.company #staff .slider + figure {
    margin-top: 3.0rem;
}

.company #staff .row .row div[class^="col"] {
    margin-bottom: 1.0rem;
}

.company #staff .row .row div[class^="col"]:last-child {
    margin-bottom: 0;
}

.company #staff h4 {
    margin-top: 3.0rem;
    margin-bottom: 1.0rem;
    font-size: 2.0rem;
}

.company #staff h4 i {
    position: relative;
    top: 0.4rem;
    font-size: 3.0rem;
}

@media only screen and (min-width: 768px) {

    .company #staff .slider {
        width: 100%;
        margin: auto 0;
    }

    .slick-slide {
        margin: auto 0.75rem;
    }

    .company #staff .slider + figure {
        margin-top: 5.0rem;
    }

    .company #staff .row .row div[class^="col"] {
        margin-bottom: 0;
    }

}

/*　Map Section
----------------------------------------------------------- */
.company div[id^="map0"] {
    padding-bottom: 0;
}

.company div[id^="map0"] iframe {
    width: 100%;
    height: 24.0rem;
    border: none;
}

@media only screen and (min-width: 576px) {

    .company div[id^="map0"] iframe {
        height: 36.0rem;
    }

}

@media only screen and (min-width: 992px) {

    .company div[id^="map0"] iframe {
        height: 40.0rem;
    }

}


/* ========================================================

　Equipment

=========================================================== */

.equipment article:not(#equipment) {
    padding: 7.0rem 0 0;
}

article[id^="plant"] .row .row {
    margin-top: 3.0rem;
}

article[id^="plant"] h2,
article#equipment h2 {
    padding: 3.5rem 0;
    margin-bottom: 3.0rem;
    background: url("../images/bg_plant.jpg") center center repeat-y;
    color: rgba(255, 255, 255, 1.0);
    font-size: 2.4rem;
    text-align: center;
    text-shadow: 0.1rem 0.1rem 0.2rem rgba(0, 0, 0, 1.0), 0 0 0.5rem rgba(0, 0, 0, 1.0), 0 0 0.25rem rgba(0, 0, 0, 1.0);
}

article#equipment h2 {
    background: url("../images/bg_equipment.jpg") center center repeat-y;
}

article#equipment h3 {
    margin-bottom: 1.0rem;
}

article#equipment h4 {
    margin-top: 3.0rem;
    margin-bottom: 1.0rem;
    color: rgba(0, 0, 0, 1.0);
    font-size: 1.6rem;
}

article#equipment h5 {
    margin-top: 3.0rem;
    margin-bottom: 1.0rem;
    color: rgba(0, 0, 0, 1.0);
    font-size: 1.6rem;
}

article[id^="plant"] figure {
    margin-bottom: 3.0rem;
}

article#equipment ul {
    margin-left: 2.4rem;
}

@media only screen and (min-width: 576px) {

    article[id^="plant"] h2,
    article#equipment h2 {
        font-size: 3.0rem;
    }

}

@media only screen and (min-width: 768px) {

    article[id^="plant"] div[class^="col"]:last-child {
        margin-bottom: 3.0rem;
    }

    article[id^="plant"] .row .row + p {
        margin-top: 0;
    }

}


/* ========================================================

　Recruit

=========================================================== */

#recruit table {
    width: 100%;
}

#recruit th {
    padding: 0.5rem 1.0rem;
    font-weight: 500;
    vertical-align: top;
}

#recruit td {
    margin-bottom: 2.0rem;
    padding: 0.5rem 1.0rem;
    vertical-align: top;
}

#recruit ul {
    margin-left: 2.4rem;
}

#recruit li {
    line-height: 3.0rem;
}

#recruit ul.conditions span {
    display: block;
}

#recruit td p {
    margin-bottom: 0.5rem;
}

#recruit td p:last-child {
    margin-bottom: 0;
}

#recruit span.phone {
    display: inline-block;
    font-size: 2.0rem;
}

@media only screen and (max-width: 767px) {

    #recruit th,
    #recruit td {
        display: block;
        width: 100%;
    }

    #recruit th {
        background-color: rgba(240, 240, 240, 1.0);
    }

}

@media only screen and (min-width: 768px) {

    #recruit table {
        border-collapse: separate;
        border-spacing: 1.0rem;
    }

    #recruit th {
        width: 14.0rem;
        padding: 1.0rem 1.5rem;
        border-bottom: 0.2rem solid rgba(204, 204, 204, 1.0);
    }

    #recruit td {
        padding: 1.0rem 1.5rem;
        border-bottom: 0.1rem solid rgba(204, 204, 204, 1.0);
    }

}

@media only screen and (min-width: 992px) {

    #recruit th {
        width: 20.0rem;
    }

}


/* ========================================================

　404

=========================================================== */

#page404 h3 {
    margin-bottom: 1.0rem;
    color: rgba(255,0,0,1.0);
}


/* ========================================================

　header

=========================================================== */

#masthead {
    position: relative;
}

#masthead img {
    width: 100%;
    height: auto;
}

#masthead .layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: -o-radial-gradient(rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0.8) 70%, rgba(0, 0, 0, 0.95) 100%);
    background: radial-gradient(rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.5) 40%, rgba(0, 0, 0, 0.6) 50%, rgba(0, 0, 0, 0.7) 60%, rgba(0, 0, 0, 0.8) 70%, rgba(0, 0, 0, 0.95) 100%);
}

#masthead .container {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 100%;
}

#masthead h2,
#masthead aside {
    text-shadow: 0.15rem 0.15rem 0.3rem rgba(0, 0, 0, 1.0), 0 0 0.5rem rgba(0, 0, 0, 1.0), 0 0 0.25rem rgba(0, 0, 0, 1.0);
}

#masthead h2 {
    position: absolute;
    top: calc(7.0rem + 10%);
    left: 10%;
    color: rgba(255, 255, 255, 1.0);
    font-size: 2.4rem;
}

#masthead aside {
    position: absolute;
    right: 10%;
    bottom: 10%;
    color: rgba(255, 255, 255, 1.0);
    text-align: right;
}

@media only screen and (min-width: 768px) {

    #masthead h2 {
        top: calc(7.0rem + 15%);
        font-size: 3.0rem;
    }

}

@media only screen and (min-width: 992px) {

    #masthead h2 {
        top: calc(9.0rem + 15%);
        font-size: 3.6rem;
    }

}



/* ---- End of file --------------------------------------- */