@charset "UTF-8";

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

	Layout - All Page Common

-------------------------- */
* {
    margin: 0;
    outline: none;
    padding: 0;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
	}
html,body { height: 100%; }
body {
    background: transparent;
    color: rgba(25, 25, 25, 1);
    cursor: default;
    display: block;
    font-weight: 500;
    font-family: font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.5;
    overflow-x: hidden;
    position: relative;
    vertical-align: baseline;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
	}
a,a:hover { text-decoration: none; }
a:link {}
a:visited {}
img {
    margin: 0;
    padding: 0;
    max-width: 100%;
    vertical-align: bottom;
    outline: none;
	}
img:hover { outline: none; }
ul { list-style: none; }
h1,h2,h3,h4,h5,h6 { margin: 0; }
input,select,textarea { font-size: 16px; }
button { cursor: pointer; }
/* Device */
@media (min-width: 751px) { .sp { display: none; } }
@media (max-width: 750px) { .pc { display: none; } }
/* Font Family */
.ff-zkg { font-family: "Zen Kaku Gothic New", sans-serif; }
.ff-rbt { font-family: "Roboto", sans-serif; }
/* Text Color */
.tc-green { color: rgba(0, 166, 118, 1); }
/* Link */
a.txtlink {
    color: rgba(225, 90, 15, 1);
    text-decoration: underline;
    }
a.ext:after {}
/* YouTube */
.ytb { padding: 56.25% 0 0; position: relative; width: 100%; }
.ytb iframe { border: none; height: 100%!important; position: absolute; right: 0; top: 0; width: 100%!important; }
/* Anchor */
.anchor { display: block; position: relative; z-index: -1; }
@media (min-width: 751px) { .anchor { margin-top: -150px; padding-top: 150px; } }
@media (max-width: 750px) { .anchor { margin-top: -100px; padding-top: 100px } }
/* Fade-In */
.fadein {
    opacity: 0;
    position: relative;
    transform: translate(0, 100px);
    transition: all 1s;
    }
    .fadein.fdi-on {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0);
        }
/* Accordion */
.acd-wrap {}
    .acd-tgl {}
    .acd-child { display: none; }
    .acd-open {}
/* Tab */
.app-tab {}
    .app-tab-item {
        -webkit-transition: all 0.2s ease-out;
        transition: all 0.2s ease-out;
        }
.app-con {}
    .app-con-item { display: none; }
    .app-con-item.is-show { display: block; }

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

	Common

-------------------------- */
/* Logo Area */
.logoarea {
    position: relative;
    z-index: 101;
    }
.logoarea .link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    }
.logoarea i.mark {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }
.logoarea i.mark img { width: 100%; }
.logoarea span.label { color: rgba(0, 166, 118, 1); }
/* Btn Area */
.btnarea {
    display: flex;
    flex-wrap: wrap;
    }
.btnarea a {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 100px;
    box-sizing: border-box;
    }
/* Scheme */
.btnarea a.arrow:after { content: '→'; }
@media (min-width: 751px) {
.btnarea a { transition: all .3s; }
}
/* Banner Area */
.bnrarea {
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    }
.bnrarea a {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    color: rgba(255, 255, 255, 1);
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    }
.bnrarea a:after {
    background-color: rgba(255, 255, 255, 1);
    background-image: url(/recruit/src/img/common/icon/arrow-right-green.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: absolute;
    border-radius: 100px;
    }
.bnrarea a .fig {
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    }
.bnrarea a .ttl {
    width: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    }
.bnrarea a .ttl span.en {
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    }
/* Scheme - Full */
.bnrarea a.full .inner {
    background-color: rgba(0, 166, 118, 1);
    position: relative;
    width: 100%;
    box-sizing: border-box;
    }
.bnrarea a.full .txt p { display: inline-block; }
/* Scheme - Min */
.bnrarea a.min {
    background-color: rgba(0, 166, 118, 1);
    }
@media (min-width: 751px) {
.bnrarea { max-width: 1240px; }
.bnrarea a {
    margin-bottom: 30px;
    margin-left: 1.5%;
    margin-right: 1.5%;
    margin-top: 30px;
    }
.bnrarea a:after {
    background-size: 20px;
    height: 40px;
    min-width: 40px;
    max-width: 40px;
    transition: all .3s;
    }
.bnrarea a .fig img { transition: all .3s; }
.bnrarea a .ttl span.en { font-size: 16px; }
.bnrarea a .ttl span.jp { font-size: min(2.25vw, 35px); }
/* Scheme - Full */
.bnrarea a.full { padding: 60px 150px; }
.bnrarea a.full:after {
    bottom: 70px;
    right: 160px;
    }
.bnrarea a.full .inner {
    padding: 60px;
    border-radius: 10px;
    }
.bnrarea a.full .txt { margin-top: 10px; }
/* Scheme - Min */
.bnrarea a.min {
    max-width: 47%;
    padding: 1%;
    border-radius: 10px;
    }
.bnrarea a.min:after {
    bottom: 10px;
    right: 10px;
    }
.bnrarea a.min .ttl { padding: 20px 7.5%; }
.bnrarea a.min .fig {
    max-width: 45.45%;
    min-width: 45.45%;
    }
/* Hover */
.bnrarea a:hover .fig img { transform: scale(1.1); }
.bnrarea a:hover:after {
    background-size: 10px;
    height: 30px;
    min-width: 30px;
    max-width: 30px;
    }
}
@media (max-width: 750px) {
.bnrarea { padding: 20px; }
.bnrarea a {
    margin-bottom: 15px;
    padding: 15px;
    }
.bnrarea a:after {
    background-size: 10px;
    height: 20px;
    min-width: 20px;
    max-width: 20px;
    }
.bnrarea a .ttl span.en { font-size: 16px; }
.bnrarea a .ttl span.jp { font-size: min(5vw, 40px); }
/* Scheme - Full */
.bnrarea a.full { padding: 50px; }
.bnrarea a.full:after {
    bottom: 60px;
    right: 60px;
    }
.bnrarea a.full .inner {
    padding: 30px;
    border-radius: 4px;
    }
.bnrarea a.full .txt { margin-top: 10px; }
/* Scheme - Min */
.bnrarea a.min { border-radius: 4px; }
.bnrarea a.min:after {
    bottom: 10px;
    right: 10px;
    }
.bnrarea a.min .ttl { padding: 20px 7.5%; }
.bnrarea a.min .fig {
    max-width: 45.45%;
    min-width: 45.45%;
    }
}

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

    Header

-------------------------- */
.gl-header {
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 9999;
    transition: all 1s;
    }
.gl-header .inner {
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    }
.gl-header.scrolling { transform: translateY(-200%); }
.gl-header.scrolling.active { transform: translateY(0) !important; }
body.scrollactive .gl-header {
    background-color: rgba(255, 255, 255, .6);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    }
@media (min-width: 751px) {
.gl-header .inner { padding: 25px 30px; }
}
@media (max-width: 750px) {
.gl-header .inner { padding: 15px; }
}
/* ------------------------- */
/* Logo */
@media (min-width: 751px) {
.gl-header .logoarea i.mark img { max-width: 170px; }
.gl-header .logoarea span.label {
    font-size: 16px;
    margin-left: 20px;
    }
}
@media (min-width: 751px) and (max-width: 1000px) {
.gl-header .logoarea i.mark img { max-width: 120px; }
}
@media (max-width: 750px) {
.gl-header .logoarea i.mark img { max-width: 120px; }
.gl-header .logoarea span.label {
    font-size: 16px;
    margin-left: 20px;
    }
}
/* ------------------------- */
/* Nav */
.gl-header .navarea {
    display: flex;
    align-items: center;
    justify-content: center;
    }
.gl-header .navarea .glnav {
    display: flex;
    align-items: center;
    justify-content: center;
    }
.gl-header .navarea .glnav a {
    color: rgba(25, 25, 25, 1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    }
.gl-header .navarea .glnav a.current {
    background-color: rgba(0, 166, 118, 1);
    color: rgba(255, 255, 255, 1);
    }
@media (min-width: 751px) {
.gl-header .navarea .glnav a {
    font-size: 16px;
    padding: 0 20px;
    transition: all .3s;
    }
.gl-header .navarea .glnav a:hover { color: rgba(0, 166, 118, 1); }
.gl-header .navarea .glnav a.current {
    padding-bottom: 10px;
    padding-top: 10px;
    border-radius: 8px;
    }
.gl-header .navarea .glnav a.current:hover { color: rgba(255, 255, 255, 1); }
}
@media (min-width: 751px) and (max-width: 1000px) {
.gl-header .navarea .glnav a {
    font-size: 13px;
    padding: 0 10px;
    }
}
@media (max-width: 750px) {
.gl-header .navarea {
    background-color: rgba(255, 255, 255, .8);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    left: 0;
    right: 0;
    padding: 100px 30px 50px;
    position: fixed;
    flex-direction: column;
    transform: translateY(-200%);
    transition: all .6s;
    }
.gl-header .navarea.active {
    top: 0;
    transform: translateY(0);
    }
.gl-header .navarea .glnav { flex-direction: column; }
.gl-header .navarea .glnav a { padding: 15px; }
.gl-header .navarea .glnav a.current {
    padding-left: 30px;
    padding-right: 30px;
    border-radius: 100px;
    }
}
/* ------------------------- */
/* Sp Menu */
@media (min-width: 751px) {
.gl-header .spmenu { display: none; }
}
@media (max-width: 750px) {
.gl-header .spmenu {
    position: relative;
    z-index: 101;
    display: flex;
    justify-content: center;
    }
.gl-header .spmenu .item {
    font-size: 13px;
    height: 60px;
    margin: 0 5px;
    overflow: hidden;
    position: relative;
    width: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 100px;
    transition: all .3s;
    }
.gl-header .spmenu .navtrg {
    background-color: rgba(0, 166, 118, 1);
    border: 1px solid rgba(255, 255, 255, 1);
    color: rgba(255, 255, 255, 1);
    }
.gl-header .spmenu .navtrg.active:before {
    background-color: rgba(0, 166, 118, 1);
    color: rgba(255, 255, 255, 1);
    bottom: 0;
    content: 'CLOSE';
    left: 0;
    right: 0;
    position: absolute;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .3s;
    }
.gl-header .spmenu .reserv {
    background-color: rgba(235, 155, 110, 1);
    color: rgba(255, 255, 255, 1);
    mix-blend-mode: multiply;
    }
}

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

    Second Page

-------------------------- */
/* Intro */
.sec-intro {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    }
.sec-intro .inner {
    margin: 0 auto;
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    }
.sec-intro .int-ttl {
    position: relative;
    margin: 0 auto;
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    box-sizing: border-box;
    }
.sec-intro .int-ttl span { letter-spacing: 2.5px; }
.sec-intro .int-ttl span.en {
    color: rgba(0, 166, 118, 1);
    font-family: "Roboto", sans-serif;
    font-weight: 700;
    }
@media (min-width: 751px) {
.sec-intro { padding: 200px 60px 50px; }
.sec-intro .inner { max-width: 1000px; }
.sec-intro .int-ttl span.en { font-size: 16px; }
.sec-intro .int-ttl span.jp { font-size: 40px; }
/* Scheme - Min */
.sec-intro.min { padding-top: 150px; }
.sec-intro.min .int-ttl span.jp { font-size: 30px; }
/* Intro - Outline */
.int-outline { margin-top: 40px; }
.int-outline p {
    font-size: 18px;
    line-height: 1.85;
    }
}
@media (max-width: 750px) {
.sec-intro { padding: 150px 30px 30px; }
.sec-intro .int-ttl span.en { font-size: 16px; }
.sec-intro .int-ttl span.jp { font-size: 30px; }
/* Scheme - Min */
.sec-intro.min { padding-top: 100px; }
.sec-intro.min .int-ttl span.jp { font-size: 20px; }
/* Intro - Outline */
.int-outline { margin-top: 30px; }
.int-outline p {
    font-size: 16px;
    line-height: 1.85;
    }
}
/* ----------------------- */
/* Second Wrap */
.secwrap {
    margin: 0 auto;
    position: relative;
    }
/* Scheme */
.secwrap.bgg:before {
    background-color: rgba(248, 248, 248, 1);
    content: '';
    height: 100vh;
    left: 0;
    max-width: 93.92%;
    position: absolute;
    width: 100%;
    }
@media (min-width: 751px) {
.secwrap {
    max-width: 1366px;
    padding: 50px 100px 100px;
    }
/* Scheme */
.secwrap.bgg:before { top: 150px; }
}
@media (max-width: 750px) {
.secwrap { padding: 30px 20px 60px; }
/* Scheme */
.secwrap.bgg:before { top: 100px; }
}
/* ----------------------- */
/* Breadcrumbs */
.breadcrumbs ol {
    list-style-type: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    }
.breadcrumbs ol li {}
.breadcrumbs ol li:after {
    content: '〉';
    display: inline-block;
    text-align: center;
    }
.breadcrumbs ol li:last-child:after { display: none; }
.breadcrumbs ol li a { color: initial; }
@media (min-width: 751px) {
.breadcrumbs { padding: 20px 100px; }
.breadcrumbs ol {
    padding: 10px 20px;
    border-radius: 8px;
    }
.breadcrumbs ol li { font-size: 13px; }
.breadcrumbs ol li:after {
    letter-spacing: -10px;
    margin: 0 5px;
    width: 20px;
    }
}
@media (max-width: 750px) {
.breadcrumbs { padding: 20px 0; }
.breadcrumbs ol {
    padding: 10px 30px;
    border-radius: 8px;
    }
.breadcrumbs ol li { font-size: 13px; }
.breadcrumbs ol li:after {
    letter-spacing: -10px;
    margin: 0 5px;
    width: 20px;
    }
}
/* ----------------------- */
@media (min-width: 751px) {
}
@media (max-width: 750px) {
}

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

    Footer

-------------------------- */
.gl-footer { position: relative; }
.gl-footer .inner {
    margin: 0 auto;
    text-align: center;
    box-sizing: border-box;
    }
.glf-block { display: flex; }
/* ----------------------- */
@media (min-width: 751px) {
.gl-footer .inner { padding: 20px 100px; }
.glf-block {
    align-items: flex-start;
    justify-content: space-between;
    }
}
/* ----------------------- */
@media (max-width: 750px) {
.gl-footer .inner { padding: 30px 30px 100px; }
.glf-block {
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }
}
/* ------------------------- */
/* Credit Area */
.gl-footer .creditarea {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    }
.gl-footer .creditarea .item { box-sizing: border-box; }
.gl-footer .creditarea .item .logoarea {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    }
@media (min-width: 751px) {
.gl-footer .creditarea .item { padding: 15px 30px; }
/* Scheme */
.gl-footer .creditarea .item.jslc .logoarea i.mark img { max-width: 220px; }
}
@media (max-width: 1000px) {
.gl-footer .creditarea { flex-wrap: wrap; }
.gl-footer .creditarea .item { padding: 15px 0; }
}
@media (max-width: 750px) {
.gl-footer .creditarea .item .logoarea .label {
    font-size: 16px;
    margin-bottom: 5px;
    }
/* Scheme */
.gl-footer .creditarea .item.jslc .logoarea i.mark img { max-width: 160px; }
}
/* ------------------------- */
/* Nav */
.gl-footer .navarea {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    }
.gl-footer .navarea .item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    box-sizing: border-box;
    }
.gl-footer .navarea .item a {
    color: initial;
    width: 100%;
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    box-sizing: border-box;
    }
.gl-footer .navarea .item a.ext:after {
    background-image: url(/recruit/src/img/common/icon/extlink-gray.svg);
    background-position: center;
    background-repeat: no-repeat;
    content: '';
    }
@media (min-width: 751px) {
.gl-footer .navarea .item a {
    font-size: 16px;
    padding: 10px 30px;
    transition: all .3s;
    }
.gl-footer .navarea .item a.ext:after {
    background-size: 18px;
    height: 18px;
    margin-left: 5px;
    min-width: 18px;
    max-width: 18px;
    }
.gl-footer .navarea .item a:hover { color: rgba(0, 166, 118, 1); }
}
@media (max-width: 750px) {
.gl-footer .navarea {
    border-top: 1px solid rgba(0, 0, 0, .3);
    margin-top: 30px;
    flex-wrap: wrap;
    justify-content: flex-start;
    }
.gl-footer .navarea .item { width: 100%; }
.gl-footer .navarea .item a {
    border-bottom: 1px solid rgba(0, 0, 0, .3);
    font-size: 16px;
    padding: 15px 0;
    justify-content: flex-start;
    }
.gl-footer .navarea .item a.ext:after {
    background-size: 18px;
    height: 18px;
    margin-left: 5px;
    min-width: 18px;
    max-width: 18px;
    }
}
/* ------------------------- */
/* Copy */
.gl-footer .copyarea {
    padding: 15px;
    border-radius: 8px;
    }
.gl-footer .copyarea p {
    color: rgba(118, 118, 118, 1);
    display: inline-block;
    text-align: left;
    }
@media (min-width: 751px) {
.gl-footer .copyarea {
    margin-top: 60px;
    text-align: left;
    }
.gl-footer .copyarea p { font-size: 16px; }
}
@media (max-width: 750px) {
.gl-footer .copyarea { margin-top: 30px; }
.gl-footer .copyarea p { font-size: 12px; }
}

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

    Cv Reservation

-------------------------- */
.cv-entry {
    background-color: rgba(108, 174, 227, 1);
    color: rgba(255, 255, 255, 1);
    position: fixed;
    width: 100%;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    transition: all 1s ease;
    }
.cv-entry:after {
    background-color: rgba(255, 255, 255, 1);
    background-image: url(/recruit/src/img/common/icon/arrow-right-blue.svg);
    background-repeat: no-repeat;
    background-position: center;
    content: '';
    position: relative;
    border-radius: 100px;
    }
/* ----------------------- */
@media (min-width: 751px) {
.cv-entry {
    bottom: 20px;
    max-width: 160px;
    padding: 15px 20px;
    right: -300px;
    border-radius: 8px;
    }
.cv-entry:after {
    background-size: 10px;
    height: 20px;
    margin-left: 15px;
    min-width: 20px;
    max-width: 20px;
    }
.cv-entry.is-show { right: 20px; }
.cv-entry i { margin-bottom: 10px; }
.cv-entry .label { font-size: 16px; }
/* Hover */
.cv-entry:hover { transform: scale(1.05); }
}
/* ----------------------- */
@media (max-width: 750px) {
.cv-entry {
    bottom: 15px;
    max-width: 160px;
    padding: 15px 20px;
    right: -300px;
    border-radius: 8px;
    }
.cv-entry:after {
    background-size: 10px;
    height: 20px;
    margin-left: 15px;
    min-width: 20px;
    max-width: 20px;
    }
.cv-entry.is-show { right: 15px; }
.cv-entry i { margin-bottom: 10px; }
.cv-entry .label { font-size: 16px; }
}
