@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,"
    500&subset=japanese);
@import url("https://fonts.googleapis.com/css?family=Roboto+Condensed:300,"
    400,
    700);

#support #ideal-candidate-section .section-body:before,
.r-fonts,
.r-fonts-bold,
.r-fonts-light {
    letter-spacing: 0.05em;
}

.r-fonts-light {
    font-family: Roboto Condensed, sans-serif;
    font-weight: 300;
}

#support #ideal-candidate-section .section-body:before,
.r-fonts {
    font-family: Roboto Condensed, sans-serif;
    font-weight: 400;
}

.r-fonts-bold {
    font-family: "fot-chiaro-std", Roboto Condensed, sans-serif;
    font-weight: 700;
    font-style: normal;
}

blockquote,
body,
dd,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
input,
li,
ol,
p,
pre,
td,
textarea,
th,
ul {
    margin: 0;
    padding: 0;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
    display: block;
}

audio,
canvas,
video {
    display: inline-block;
}

audio:not([controls]) {
    display: none;
    height: 0;
}

[hidden] {
    display: none;
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body {
    margin: 0;
}

a:active,
a:hover {
    outline: 0;
}

b,
strong {
    font-weight: 700;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
    font-style: normal;
}

code,
kbd,
pre,
samp {
    font-family: monospace, serif;
    font-size: 1em;
}

pre {
    white-space: pre-wrap;
}

q {
    quotes: "\201C""\201D""\2018""\2019";
}

small {
    font-size: 80%;
}

sub,
sup {
    position: relative;
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

img {
    border: 0;
}

embed,
img,
object {
    vertical-align: top;
    border-radius: .375rem;
    filter: drop-shadow(0 4px 3px rgb(0 0 0 / .07)) drop-shadow(0 2px 2px rgb(0 0 0 / .06));
}

#logo img {
    width: 8rem;
}

@media screen and (max-width: 768px) {
    #logo img {
        width: 6rem;
    }
}

.kl-map {
    width: 100%;
    max-width: 800px;
}

figure {
    margin: 0;
}

button,
input,
select,
textarea {
    margin: 0;
    font-size: 100%;
    font-family: inherit;
}

button,
input {
    line-height: normal;
}

button,
select {
    text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
    cursor: pointer;
    -webkit-appearance: button;
}

button[disabled],
html input[disabled] {
    cursor: default;
}

input[type="checkbox"],
input[type="radio"] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

textarea {
    overflow: auto;
    vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-size: 100%;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

caption,
th {
    text-align: left;
}

li {
    list-style-type: none;
}

em {
    font-weight: 700;
}

::selection {
    background: #e0e0e0;
    color: #393939;
}

::-moz-selection {
    background: #e0e0e0;
    color: #393939;
}

::-webkit-scrollbar {
    width: 0;
    height: 0;
}

::-webkit-scrollbar-thumb {
    background-color: transparent;
    border-radius: 0;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: none;
    box-shadow: none;
}

::-webkit-scrollbar-track-piece {
    background-color: transparent;
}

::-webkit-input-placeholder {
    color: #636363;
}

::-moz-placeholder {
    color: #636363;
}

* {
    outline: none;
    margin: 0;
    padding: 0;
}

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

body {
    color: #333;
    font-size: 10px;
    font-family: Noto Sans JP, \\6e38\30b4\30b7\30c3\30af, Yu Gothic, YuGothic,
        Hiragino Kaku Gothic ProN, Hiragino Kaku Gothic Pro, \\30e1\30a4\30ea\30aa,
        Meiryo, "\FF2D\FF33   \30B4\30B7\30C3\30AF", sans-serif;
    line-height: 2;
    -webkit-text-size-adjust: 100%;
    overflow-y: scroll;
    overflow-x: hidden;
    -webkit-font-feature-settings: "palt";
    font-feature-settings: "palt";
}

a {
    cursor: pointer;
    text-decoration: none;
}

.text-underline {
    text-decoration: underline;
}

.text-red {
    color: #ff0060;
}

.animation-delay-0 {
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
}

.transition-delay-0 {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.pb-0,
.pl-0,
.pr-0,
.pt-0 {
    padding-bottom: 0;
}

.mb-0,
.ml-0,
.mr-0,
.mt-0 {
    margin-bottom: 0;
}

.animation-delay-1 {
    -webkit-animation-delay: 0.1s;
    animation-delay: 0.1s;
}

.transition-delay-1 {
    -webkit-transition-delay: 0.1s;
    transition-delay: 0.1s;
}

.pb-1,
.pl-1,
.pr-1,
.pt-1 {
    padding-bottom: 1px;
}

.mb-1,
.ml-1,
.mr-1,
.mt-1 {
    margin-bottom: 1px;
}

.animation-delay-2 {
    -webkit-animation-delay: 0.2s;
    animation-delay: 0.2s;
}

.transition-delay-2 {
    -webkit-transition-delay: 0.2s;
    transition-delay: 0.2s;
}

.pb-2,
.pl-2,
.pr-2,
.pt-2 {
    padding-bottom: 2px;
}

.mb-2,
.ml-2,
.mr-2,
.mt-2 {
    margin-bottom: 2px;
}

.animation-delay-3 {
    -webkit-animation-delay: 0.3s;
    animation-delay: 0.3s;
}

.transition-delay-3 {
    -webkit-transition-delay: 0.3s;
    transition-delay: 0.3s;
}

.pb-3,
.pl-3,
.pr-3,
.pt-3 {
    padding-bottom: 3px;
}

.mb-3,
.ml-3,
.mr-3,
.mt-3 {
    margin-bottom: 3px;
}

.animation-delay-4 {
    -webkit-animation-delay: 0.4s;
    animation-delay: 0.4s;
}

.transition-delay-4 {
    -webkit-transition-delay: 0.4s;
    transition-delay: 0.4s;
}

.pb-4,
.pl-4,
.pr-4,
.pt-4 {
    padding-bottom: 4px;
}

.mb-4,
.ml-4,
.mr-4,
.mt-4 {
    margin-bottom: 4px;
}

.animation-delay-5 {
    -webkit-animation-delay: 0.5s;
    animation-delay: 0.5s;
}

.transition-delay-5 {
    -webkit-transition-delay: 0.5s;
    transition-delay: 0.5s;
}

.pb-5,
.pl-5,
.pr-5,
.pt-5 {
    padding-bottom: 5px;
}

.mb-5,
.ml-5,
.mr-5,
.mt-5 {
    margin-bottom: 5px;
}

.animation-delay-6 {
    -webkit-animation-delay: 0.6s;
    animation-delay: 0.6s;
}

.transition-delay-6 {
    -webkit-transition-delay: 0.6s;
    transition-delay: 0.6s;
}

.pb-6,
.pl-6,
.pr-6,
.pt-6 {
    padding-bottom: 6px;
}

.mb-6,
.ml-6,
.mr-6,
.mt-6 {
    margin-bottom: 6px;
}

.animation-delay-7 {
    -webkit-animation-delay: 0.7s;
    animation-delay: 0.7s;
}

.transition-delay-7 {
    -webkit-transition-delay: 0.7s;
    transition-delay: 0.7s;
}

.pb-7,
.pl-7,
.pr-7,
.pt-7 {
    padding-bottom: 7px;
}

.mb-7,
.ml-7,
.mr-7,
.mt-7 {
    margin-bottom: 7px;
}

.animation-delay-8 {
    -webkit-animation-delay: 0.8s;
    animation-delay: 0.8s;
}

.transition-delay-8 {
    -webkit-transition-delay: 0.8s;
    transition-delay: 0.8s;
}

.pb-8,
.pl-8,
.pr-8,
.pt-8 {
    padding-bottom: 8px;
}

.mb-8,
.ml-8,
.mr-8,
.mt-8 {
    margin-bottom: 8px;
}

.animation-delay-9 {
    -webkit-animation-delay: 0.9s;
    animation-delay: 0.9s;
}

.transition-delay-9 {
    -webkit-transition-delay: 0.9s;
    transition-delay: 0.9s;
}

.pb-9,
.pl-9,
.pr-9,
.pt-9 {
    padding-bottom: 9px;
}

.mb-9,
.ml-9,
.mr-9,
.mt-9 {
    margin-bottom: 9px;
}

.animation-delay-10 {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

.transition-delay-10 {
    -webkit-transition-delay: 1s;
    transition-delay: 1s;
}

.pb-10,
.pl-10,
.pr-10,
.pt-10 {
    padding-bottom: 10px;
}

.mb-10,
.ml-10,
.mr-10,
.mt-10 {
    margin-bottom: 10px;
}

.animation-delay-11 {
    -webkit-animation-delay: 1.1s;
    animation-delay: 1.1s;
}

.transition-delay-11 {
    -webkit-transition-delay: 1.1s;
    transition-delay: 1.1s;
}

.pb-11,
.pl-11,
.pr-11,
.pt-11 {
    padding-bottom: 11px;
}

.mb-11,
.ml-11,
.mr-11,
.mt-11 {
    margin-bottom: 11px;
}

.animation-delay-12 {
    -webkit-animation-delay: 1.2s;
    animation-delay: 1.2s;
}

.transition-delay-12 {
    -webkit-transition-delay: 1.2s;
    transition-delay: 1.2s;
}

.pb-12,
.pl-12,
.pr-12,
.pt-12 {
    padding-bottom: 12px;
}

.mb-12,
.ml-12,
.mr-12,
.mt-12 {
    margin-bottom: 12px;
}

.animation-delay-13 {
    -webkit-animation-delay: 1.3s;
    animation-delay: 1.3s;
}

.transition-delay-13 {
    -webkit-transition-delay: 1.3s;
    transition-delay: 1.3s;
}

.pb-13,
.pl-13,
.pr-13,
.pt-13 {
    padding-bottom: 13px;
}

.mb-13,
.ml-13,
.mr-13,
.mt-13 {
    margin-bottom: 13px;
}

.animation-delay-14 {
    -webkit-animation-delay: 1.4s;
    animation-delay: 1.4s;
}

.transition-delay-14 {
    -webkit-transition-delay: 1.4s;
    transition-delay: 1.4s;
}

.pb-14,
.pl-14,
.pr-14,
.pt-14 {
    padding-bottom: 14px;
}

.mb-14,
.ml-14,
.mr-14,
.mt-14 {
    margin-bottom: 14px;
}

.animation-delay-15 {
    -webkit-animation-delay: 1.5s;
    animation-delay: 1.5s;
}

.transition-delay-15 {
    -webkit-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

.pb-15,
.pl-15,
.pr-15,
.pt-15 {
    padding-bottom: 15px;
}

.mb-15,
.ml-15,
.mr-15,
.mt-15 {
    margin-bottom: 15px;
}

.animation-delay-16 {
    -webkit-animation-delay: 1.6s;
    animation-delay: 1.6s;
}

.transition-delay-16 {
    -webkit-transition-delay: 1.6s;
    transition-delay: 1.6s;
}

.pb-16,
.pl-16,
.pr-16,
.pt-16 {
    padding-bottom: 16px;
}

.mb-16,
.ml-16,
.mr-16,
.mt-16 {
    margin-bottom: 16px;
}

.animation-delay-17 {
    -webkit-animation-delay: 1.7s;
    animation-delay: 1.7s;
}

.transition-delay-17 {
    -webkit-transition-delay: 1.7s;
    transition-delay: 1.7s;
}

.pb-17,
.pl-17,
.pr-17,
.pt-17 {
    padding-bottom: 17px;
}

.mb-17,
.ml-17,
.mr-17,
.mt-17 {
    margin-bottom: 17px;
}

.animation-delay-18 {
    -webkit-animation-delay: 1.8s;
    animation-delay: 1.8s;
}

.transition-delay-18 {
    -webkit-transition-delay: 1.8s;
    transition-delay: 1.8s;
}

.pb-18,
.pl-18,
.pr-18,
.pt-18 {
    padding-bottom: 18px;
}

.mb-18,
.ml-18,
.mr-18,
.mt-18 {
    margin-bottom: 18px;
}

.animation-delay-19 {
    -webkit-animation-delay: 1.9s;
    animation-delay: 1.9s;
}

.transition-delay-19 {
    -webkit-transition-delay: 1.9s;
    transition-delay: 1.9s;
}

.pb-19,
.pl-19,
.pr-19,
.pt-19 {
    padding-bottom: 19px;
}

.mb-19,
.ml-19,
.mr-19,
.mt-19 {
    margin-bottom: 19px;
}

.animation-delay-20 {
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

.transition-delay-20 {
    -webkit-transition-delay: 2s;
    transition-delay: 2s;
}

.pb-20,
.pl-20,
.pr-20,
.pt-20 {
    padding-bottom: 20px;
}

.mb-20,
.ml-20,
.mr-20,
.mt-20 {
    margin-bottom: 20px;
}

.animation-delay-21 {
    -webkit-animation-delay: 2.1s;
    animation-delay: 2.1s;
}

.transition-delay-21 {
    -webkit-transition-delay: 2.1s;
    transition-delay: 2.1s;
}

.pb-21,
.pl-21,
.pr-21,
.pt-21 {
    padding-bottom: 21px;
}

.mb-21,
.ml-21,
.mr-21,
.mt-21 {
    margin-bottom: 21px;
}

.animation-delay-22 {
    -webkit-animation-delay: 2.2s;
    animation-delay: 2.2s;
}

.transition-delay-22 {
    -webkit-transition-delay: 2.2s;
    transition-delay: 2.2s;
}

.pb-22,
.pl-22,
.pr-22,
.pt-22 {
    padding-bottom: 22px;
}

.mb-22,
.ml-22,
.mr-22,
.mt-22 {
    margin-bottom: 22px;
}

.animation-delay-23 {
    -webkit-animation-delay: 2.3s;
    animation-delay: 2.3s;
}

.transition-delay-23 {
    -webkit-transition-delay: 2.3s;
    transition-delay: 2.3s;
}

.pb-23,
.pl-23,
.pr-23,
.pt-23 {
    padding-bottom: 23px;
}

.mb-23,
.ml-23,
.mr-23,
.mt-23 {
    margin-bottom: 23px;
}

.animation-delay-24 {
    -webkit-animation-delay: 2.4s;
    animation-delay: 2.4s;
}

.transition-delay-24 {
    -webkit-transition-delay: 2.4s;
    transition-delay: 2.4s;
}

.pb-24,
.pl-24,
.pr-24,
.pt-24 {
    padding-bottom: 24px;
}

.mb-24,
.ml-24,
.mr-24,
.mt-24 {
    margin-bottom: 24px;
}

.animation-delay-25 {
    -webkit-animation-delay: 2.5s;
    animation-delay: 2.5s;
}

.transition-delay-25 {
    -webkit-transition-delay: 2.5s;
    transition-delay: 2.5s;
}

.pb-25,
.pl-25,
.pr-25,
.pt-25 {
    padding-bottom: 25px;
}

.mb-25,
.ml-25,
.mr-25,
.mt-25 {
    margin-bottom: 25px;
}

.animation-delay-26 {
    -webkit-animation-delay: 2.6s;
    animation-delay: 2.6s;
}

.transition-delay-26 {
    -webkit-transition-delay: 2.6s;
    transition-delay: 2.6s;
}

.pb-26,
.pl-26,
.pr-26,
.pt-26 {
    padding-bottom: 26px;
}

.mb-26,
.ml-26,
.mr-26,
.mt-26 {
    margin-bottom: 26px;
}

.animation-delay-27 {
    -webkit-animation-delay: 2.7s;
    animation-delay: 2.7s;
}

.transition-delay-27 {
    -webkit-transition-delay: 2.7s;
    transition-delay: 2.7s;
}

.pb-27,
.pl-27,
.pr-27,
.pt-27 {
    padding-bottom: 27px;
}

.mb-27,
.ml-27,
.mr-27,
.mt-27 {
    margin-bottom: 27px;
}

.animation-delay-28 {
    -webkit-animation-delay: 2.8s;
    animation-delay: 2.8s;
}

.transition-delay-28 {
    -webkit-transition-delay: 2.8s;
    transition-delay: 2.8s;
}

.pb-28,
.pl-28,
.pr-28,
.pt-28 {
    padding-bottom: 28px;
}

.mb-28,
.ml-28,
.mr-28,
.mt-28 {
    margin-bottom: 28px;
}

.animation-delay-29 {
    -webkit-animation-delay: 2.9s;
    animation-delay: 2.9s;
}

.transition-delay-29 {
    -webkit-transition-delay: 2.9s;
    transition-delay: 2.9s;
}

.pb-29,
.pl-29,
.pr-29,
.pt-29 {
    padding-bottom: 29px;
}

.mb-29,
.ml-29,
.mr-29,
.mt-29 {
    margin-bottom: 29px;
}

.animation-delay-30 {
    -webkit-animation-delay: 3s;
    animation-delay: 3s;
}

.transition-delay-30 {
    -webkit-transition-delay: 3s;
    transition-delay: 3s;
}

.pb-30,
.pl-30,
.pr-30,
.pt-30 {
    padding-bottom: 30px;
}

.mb-30,
.ml-30,
.mr-30,
.mt-30 {
    margin-bottom: 30px;
}

.animation-delay-31 {
    -webkit-animation-delay: 3.1s;
    animation-delay: 3.1s;
}

.transition-delay-31 {
    -webkit-transition-delay: 3.1s;
    transition-delay: 3.1s;
}

.pb-31,
.pl-31,
.pr-31,
.pt-31 {
    padding-bottom: 31px;
}

.mb-31,
.ml-31,
.mr-31,
.mt-31 {
    margin-bottom: 31px;
}

.animation-delay-32 {
    -webkit-animation-delay: 3.2s;
    animation-delay: 3.2s;
}

.transition-delay-32 {
    -webkit-transition-delay: 3.2s;
    transition-delay: 3.2s;
}

.pb-32,
.pl-32,
.pr-32,
.pt-32 {
    padding-bottom: 32px;
}

.mb-32,
.ml-32,
.mr-32,
.mt-32 {
    margin-bottom: 32px;
}

.animation-delay-33 {
    -webkit-animation-delay: 3.3s;
    animation-delay: 3.3s;
}

.transition-delay-33 {
    -webkit-transition-delay: 3.3s;
    transition-delay: 3.3s;
}

.pb-33,
.pl-33,
.pr-33,
.pt-33 {
    padding-bottom: 33px;
}

.mb-33,
.ml-33,
.mr-33,
.mt-33 {
    margin-bottom: 33px;
}

.animation-delay-34 {
    -webkit-animation-delay: 3.4s;
    animation-delay: 3.4s;
}

.transition-delay-34 {
    -webkit-transition-delay: 3.4s;
    transition-delay: 3.4s;
}

.pb-34,
.pl-34,
.pr-34,
.pt-34 {
    padding-bottom: 34px;
}

.mb-34,
.ml-34,
.mr-34,
.mt-34 {
    margin-bottom: 34px;
}

.animation-delay-35 {
    -webkit-animation-delay: 3.5s;
    animation-delay: 3.5s;
}

.transition-delay-35 {
    -webkit-transition-delay: 3.5s;
    transition-delay: 3.5s;
}

.pb-35,
.pl-35,
.pr-35,
.pt-35 {
    padding-bottom: 35px;
}

.mb-35,
.ml-35,
.mr-35,
.mt-35 {
    margin-bottom: 35px;
}

.animation-delay-36 {
    -webkit-animation-delay: 3.6s;
    animation-delay: 3.6s;
}

.transition-delay-36 {
    -webkit-transition-delay: 3.6s;
    transition-delay: 3.6s;
}

.pb-36,
.pl-36,
.pr-36,
.pt-36 {
    padding-bottom: 36px;
}

.mb-36,
.ml-36,
.mr-36,
.mt-36 {
    margin-bottom: 36px;
}

.animation-delay-37 {
    -webkit-animation-delay: 3.7s;
    animation-delay: 3.7s;
}

.transition-delay-37 {
    -webkit-transition-delay: 3.7s;
    transition-delay: 3.7s;
}

.pb-37,
.pl-37,
.pr-37,
.pt-37 {
    padding-bottom: 37px;
}

.mb-37,
.ml-37,
.mr-37,
.mt-37 {
    margin-bottom: 37px;
}

.animation-delay-38 {
    -webkit-animation-delay: 3.8s;
    animation-delay: 3.8s;
}

.transition-delay-38 {
    -webkit-transition-delay: 3.8s;
    transition-delay: 3.8s;
}

.pb-38,
.pl-38,
.pr-38,
.pt-38 {
    padding-bottom: 38px;
}

.mb-38,
.ml-38,
.mr-38,
.mt-38 {
    margin-bottom: 38px;
}

.animation-delay-39 {
    -webkit-animation-delay: 3.9s;
    animation-delay: 3.9s;
}

.transition-delay-39 {
    -webkit-transition-delay: 3.9s;
    transition-delay: 3.9s;
}

.pb-39,
.pl-39,
.pr-39,
.pt-39 {
    padding-bottom: 39px;
}

.mb-39,
.ml-39,
.mr-39,
.mt-39 {
    margin-bottom: 39px;
}

.animation-delay-40 {
    -webkit-animation-delay: 4s;
    animation-delay: 4s;
}

.transition-delay-40 {
    -webkit-transition-delay: 4s;
    transition-delay: 4s;
}

.pb-40,
.pl-40,
.pr-40,
.pt-40 {
    padding-bottom: 40px;
}

.mb-40,
.ml-40,
.mr-40,
.mt-40 {
    margin-bottom: 40px;
}

.animation-delay-41 {
    -webkit-animation-delay: 4.1s;
    animation-delay: 4.1s;
}

.transition-delay-41 {
    -webkit-transition-delay: 4.1s;
    transition-delay: 4.1s;
}

.pb-41,
.pl-41,
.pr-41,
.pt-41 {
    padding-bottom: 41px;
}

.mb-41,
.ml-41,
.mr-41,
.mt-41 {
    margin-bottom: 41px;
}

.animation-delay-42 {
    -webkit-animation-delay: 4.2s;
    animation-delay: 4.2s;
}

.transition-delay-42 {
    -webkit-transition-delay: 4.2s;
    transition-delay: 4.2s;
}

.pb-42,
.pl-42,
.pr-42,
.pt-42 {
    padding-bottom: 42px;
}

.mb-42,
.ml-42,
.mr-42,
.mt-42 {
    margin-bottom: 42px;
}

.animation-delay-43 {
    -webkit-animation-delay: 4.3s;
    animation-delay: 4.3s;
}

.transition-delay-43 {
    -webkit-transition-delay: 4.3s;
    transition-delay: 4.3s;
}

.pb-43,
.pl-43,
.pr-43,
.pt-43 {
    padding-bottom: 43px;
}

.mb-43,
.ml-43,
.mr-43,
.mt-43 {
    margin-bottom: 43px;
}

.animation-delay-44 {
    -webkit-animation-delay: 4.4s;
    animation-delay: 4.4s;
}

.transition-delay-44 {
    -webkit-transition-delay: 4.4s;
    transition-delay: 4.4s;
}

.pb-44,
.pl-44,
.pr-44,
.pt-44 {
    padding-bottom: 44px;
}

.mb-44,
.ml-44,
.mr-44,
.mt-44 {
    margin-bottom: 44px;
}

.animation-delay-45 {
    -webkit-animation-delay: 4.5s;
    animation-delay: 4.5s;
}

.transition-delay-45 {
    -webkit-transition-delay: 4.5s;
    transition-delay: 4.5s;
}

.pb-45,
.pl-45,
.pr-45,
.pt-45 {
    padding-bottom: 45px;
}

.mb-45,
.ml-45,
.mr-45,
.mt-45 {
    margin-bottom: 45px;
}

.animation-delay-46 {
    -webkit-animation-delay: 4.6s;
    animation-delay: 4.6s;
}

.transition-delay-46 {
    -webkit-transition-delay: 4.6s;
    transition-delay: 4.6s;
}

.pb-46,
.pl-46,
.pr-46,
.pt-46 {
    padding-bottom: 46px;
}

.mb-46,
.ml-46,
.mr-46,
.mt-46 {
    margin-bottom: 46px;
}

.animation-delay-47 {
    -webkit-animation-delay: 4.7s;
    animation-delay: 4.7s;
}

.transition-delay-47 {
    -webkit-transition-delay: 4.7s;
    transition-delay: 4.7s;
}

.pb-47,
.pl-47,
.pr-47,
.pt-47 {
    padding-bottom: 47px;
}

.mb-47,
.ml-47,
.mr-47,
.mt-47 {
    margin-bottom: 47px;
}

.animation-delay-48 {
    -webkit-animation-delay: 4.8s;
    animation-delay: 4.8s;
}

.transition-delay-48 {
    -webkit-transition-delay: 4.8s;
    transition-delay: 4.8s;
}

.pb-48,
.pl-48,
.pr-48,
.pt-48 {
    padding-bottom: 48px;
}

.mb-48,
.ml-48,
.mr-48,
.mt-48 {
    margin-bottom: 48px;
}

.animation-delay-49 {
    -webkit-animation-delay: 4.9s;
    animation-delay: 4.9s;
}

.transition-delay-49 {
    -webkit-transition-delay: 4.9s;
    transition-delay: 4.9s;
}

.pb-49,
.pl-49,
.pr-49,
.pt-49 {
    padding-bottom: 49px;
}

.mb-49,
.ml-49,
.mr-49,
.mt-49 {
    margin-bottom: 49px;
}

.animation-delay-50 {
    -webkit-animation-delay: 5s;
    animation-delay: 5s;
}

.transition-delay-50 {
    -webkit-transition-delay: 5s;
    transition-delay: 5s;
}

.pb-50,
.pl-50,
.pr-50,
.pt-50 {
    padding-bottom: 50px;
}

.mb-50,
.ml-50,
.mr-50,
.mt-50 {
    margin-bottom: 50px;
}

br.sp {
    display: none;
}

.tb-0 {
    position: absolute;
    top: 0;
    left: 0;
}

.tb-0,
.tb-1 {
    width: 100%;
    height: 100%;
}

.tb-1 {
    display: table;
}

.tb-2 {
    display: table-cell;
    vertical-align: middle;
}

.tb-3 {
    position: relative;
}

.sp,
.sp-i,
.sp-ib {
    display: none;
}

.pc {
    display: block;
}

.pc-i {
    display: inline;
}

.pc-id {
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .sp {
        display: block;
    }

    .sp-i {
        display: inline;
    }

    .sp-ib {
        display: inline-block;
    }

    .pc,
    .pc-i,
    .pc-id {
        display: none;
    }

    br.sp {
        display: block;
    }

    br.pc {
        display: none;
    }
}

.cols {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.container {
    width: 100%;
    max-width: 1180px;
    padding-left: 40px;
    padding-right: 40px;
}

.container,
.content-section {
    margin-left: auto;
    margin-right: auto;
}

.content-section {
    max-width: 1440px;
}

.content-section .section-title {
    line-height: 1;
}

.content-section .section-title h2 {
    font-size: 36px;
    margin-bottom: 25px;
}

.content-section .section-title p {
    letter-spacing: 0.15em;
    font-size: 14px;
}

.content-section .section-title.lead h2 {
    font-size: 32px;
}

.block-floating {
    position: relative;
}

.block-floating .block-img {
    position: absolute;
    z-index: 1;
}

.block-floating .unit-rect {
    position: relative;
    z-index: 2;
}

.block-floating .num {
    line-height: 1;
    font-size: 16px;
    margin-bottom: 25px;
}

.block-floating .num:before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 1px;
    margin-right: 10px;
    background-color: #fff;
    vertical-align: middle;
}

.block-floating.right .block-img {
    right: 0;
}

.block-floating.left .block-img {
    left: 0;
}

.block-floating.left .unit-rect {
    margin-left: auto;
}

.unit-rect {
    padding: 60px;
    background-color: #020202;
    color: #fff;
}

.unit-rect a {
    color: #fff;
}

.unit-rect .unit-head {
    margin-bottom: 30px;
}

.unit-rect .unit-head h3 {
    line-height: 1.5;
    font-size: 36px;
    margin-bottom: 10px;
}

.unit-rect .unit-head h4 {
    font-size: 14px;
}

.unit-rect .unit-body {
    margin-bottom: 30px;
}

.unit-rect .unit-body:last-child {
    margin-bottom: 0;
}

.unit-rect .unit-body p {
    font-size: 16px;
    line-height: 2.5;
}

.block-floating.in-service {
    margin-bottom: 120px;
}

.block-floating.in-service:last-child {
    margin-bottom: 0;
}

.block-floating.in-service .block-img {
    top: -60px;
}

.block-floating.in-service .block-img img {
    width: 100%;
    height: auto;
}

.block-floating.in-service .num {
    line-height: 1;
    font-size: 16px;
    margin-bottom: 25px;
}

.block-floating.in-service .num:before {
    display: inline-block;
    content: "";
    width: 20px;
    height: 1px;
    margin-right: 10px;
    background-color: #fff;
    vertical-align: middle;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

.block-floating.in-service.right .block-img {
    right: 40px;
}

.block-floating.in-service.left {
    padding-right: 20px;
}

.block-floating.in-service.left .block-img {
    left: 40px;
}

.block-floating.in-service .unit-rect {
    width: 100%;
    max-width: 740px;
    padding: 0;
    background-color: transparent;
}

.block-floating.in-service .unit-rect:hover a {
    background-color: #fff;
    color: #2d2d2d;
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
}

.block-floating.in-service .unit-rect:hover svg .cls-1 {
    stroke: #2d2d2d;
    opacity: 0.3;
}

.block-floating.in-service .unit-rect:hover .btn {
    color: #2d2d2d;
}

.block-floating.in-service .unit-rect:hover .btn:after {
    background-color: #2d2d2d;
}

.block-floating.in-service .unit-rect:hover .btn span:after,
.block-floating.in-service .unit-rect:hover .btn span:before {
    background-color: #2d2d2d;
    right: 0;
}

.block-floating.in-service .unit-rect:hover .num:before {
    background-color: #2d2d2d;
}

.block-floating.in-service .unit-rect a {
    display: block;
    padding: 60px;
    background-color: #020202;
    -webkit-transition: background-color 0.4s, color 0.4s, -webkit-transform 0.4s;
    transition: background-color 0.4s, color 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, background-color 0.4s, color 0.4s;
    transition: transform 0.4s, background-color 0.4s, color 0.4s,
        -webkit-transform 0.4s;
}

.block-floating.in-service .unit-head h3 {
    margin-bottom: 12px;
    font-size: 26px;
    line-height: 1.5;
}

.parallax-wrap {
    overflow: hidden;
}

.parallax-wrap .parallax-inner img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
}

.parallax-wrap .parallax-inner .rect-in-fx {
    height: 100%;
    background: none;
}

@media screen and (max-width: 768px) {
    .container {
        padding-left: 25px;
        padding-right: 25px;
    }

    .content-section .section-title h2 {
        font-size: 26px;
        margin-bottom: 25px;
    }

    .unit-rect {
        padding: 40px 20px 40px 30px;
    }

    .unit-rect .unit-head {
        margin-bottom: 25px;
    }

    .unit-rect .unit-head h3 {
        font-size: 26px;
    }

    .unit-rect .unit-body {
        margin-bottom: 20px;
    }

    .unit-rect .unit-body p {
        line-height: 2;
    }

    .block-floating .container {
        padding-right: 0;
    }

    .block-floating.in-service {
        padding-top: 160px;
        margin-bottom: 60px;
    }

    .block-floating.in-service .unit-rect a {
        padding: 30px;
    }

    .block-floating.in-service .unit-head h3 {
        margin-bottom: 20px;
        line-height: 1.2;
        font-size: 24px;
    }

    .block-floating.in-service .block-img {
        top: 0;
        padding-right: 25px;
    }

    .block-floating.in-service.right .block-img {
        right: auto;
        left: 0;
    }

    .block-floating.in-service.left {
        padding-right: 0;
    }

    .block-floating.in-service.left .block-img {
        left: 0;
    }

    .parallax-wrap {
        height: 100%;
    }

    .parallax-wrap > .inner {
        overflow: hidden;
    }

    .parallax-wrap .parallax-inner {
        height: 100%;
    }

    .parallax-wrap .parallax-inner img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
        -webkit-transform-origin: 50% 0;
        transform-origin: 50% 0;
    }

    .parallax-wrap .parallax-inner > .inner {
        height: 100%;
    }

    .parallax-wrap .parallax-inner .rect-in-fx {
        height: 100%;
        background: 50% 50% no-repeat;
        background-size: cover;
    }
}

.table-group.white td:after,
.table-group.white th:after {
    background-color: #fff;
}

.table-list {
    vertical-align: top;
}

.table-list td,
.table-list th {
    position: relative;
    padding-top: 40px;
    padding-bottom: 20px;
    font-weight: 500;
}

.table-list td:after,
.table-list th:after {
    display: block;
    width: 30px;
    height: 1px;
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #020202;
}

.table-list td.full:after,
.table-list th.full:after {
    width: 100%;
}

.table-list th {
    font-size: 16px;
}

.table-list td {
    font-size: 14px;
}

.table-list td:after {
    opacity: 0.2;
}

.table-list:first-child td,
.table-list:first-child th {
    padding-top: 0;
}

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

    .table-group,
    .table-list {
        display: block;
    }

    .table-list {
        margin-bottom: 30px;
    }

    .table-list td,
    .table-list th {
        display: block;
    }

    .table-list th {
        padding-top: 0;
        padding-bottom: 15px;
    }

    .table-list td {
        padding-bottom: 15px;
    }

    .table-list:first-child td,
    .table-list td {
        padding-top: 15px;
    }
}

.btn-rect {
    max-width: 344px;
    line-height: 1;
    padding: 16px 0;
    border: 2px solid hsla(0, 0%, 100%, 0.2);
    color: #fff;
}

.btn-more,
.btn-rect {
    display: inline-block;
    width: 100%;
    font-size: 16px;
}

.btn-more {
    position: relative;
    line-height: 50px;
    max-width: 220px;
    color: #2d2d2d;
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
}

.btn-more svg {
    position: absolute;
    width: 100%;
    height: 50%;
    top: 75%;
    left: 0;
    pointer-events: none;
}

.btn-more svg .cls-1 {
    fill: none;
    stroke: #2d2d2d;
    stroke-miterlimit: 10;
    stroke-width: 0.5;
    opacity: 1;
    -webkit-transition: stroke 0.4s, opacity 0.4s;
    transition: stroke 0.4s, opacity 0.4s;
}

.btn-more:hover svg .cls-1 {
    opacity: 0.3;
}

.btn-more:hover span:after,
.btn-more:hover span:before {
    right: 6px;
}

.btn-more span {
    position: relative;
    display: block;
    width: 100%;
}

.btn-more span:after,
.btn-more span:before {
    display: block;
    width: 6px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    background-color: #2d2d2d;
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: background-color 0.4s, right 0.4s, left 0.4s;
    transition: background-color 0.4s, right 0.4s, left 0.4s;
}

.btn-more span:before {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

.btn-more span:after {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
}

.btn-more.is-back-arrow span:after,
.btn-more.is-back-arrow span:before {
    right: auto !important;
    left: 20px;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: background-color 0.4s, right 0.4s, left 0.4s !important;
    transition: background-color 0.4s, right 0.4s, left 0.4s !important;
}

.btn-more.is-back-arrow:hover span:after,
.btn-more.is-back-arrow:hover span:before {
    left: 10px;
}

.btn-more.white {
    color: #fff;
}

.btn-more.white svg .cls-1 {
    stroke: #fff;
}

.btn-more.rect.white,
.btn-more.white:after,
.btn-more.white span:after,
.btn-more.white span:before {
    background-color: #fff;
}

.btn-more.rect.white {
    text-align: center;
    color: #2d2d2d;
    line-height: 36px;
    width: auto;
    max-width: 100%;
}

.btn-more.rect.white:after {
    display: none;
}

.btn-more.rect.white span {
    padding: 0 40px;
}

.btn-more.rect.white span:after,
.btn-more.rect.white span:before {
    background-color: #2d2d2d;
}

.btn-more.rect.white.has-border {
    width: 100%;
    background-color: transparent;
    line-height: 70px;
    border: 1px solid #fff;
    color: #fff;
}

.btn-more.rect.white.has-border span:after,
.btn-more.rect.white.has-border span:before {
    right: 20px;
    background-color: #fff;
    -webkit-transition: background-color 0.4s, right 0.4s;
    transition: background-color 0.4s, right 0.4s;
}

.btn-more.rect.white.has-border:hover {
    color: #2d2d2d;
}

.btn-more.rect.white.has-border:hover span:after,
.btn-more.rect.white.has-border:hover span:before {
    right: 10px;
    background-color: #2d2d2d;
}

.btn-more.is-plus span:after,
.btn-more.is-plus span:before {
    width: 12px;
    -webkit-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
}

.btn-more.is-plus span:before {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.btn-more.is-plus span:after {
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
}

.btn-close {
    height: 50px;
    color: #fff;
    background: none;
    border: 0;
    line-height: 1;
    z-index: 11;
}

.btn-close:before {
    display: block;
    width: 38px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -19px;
    background-color: #fff;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

.btn-close span {
    display: inline-block;
    opacity: 0;
    font-size: 16px;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
    -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
}

.btn-close:hover span {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.btn-close:hover:before {
    -webkit-transform: scaleX(0.5) translateX(-65px);
    transform: scaleX(0.5) translateX(-65px);
}

.btn-covering-rect,
.btn-more.btn-covering-rect {
    position: relative;
    -webkit-transition: color 0.4s, border-color 0.4s;
    transition: color 0.4s, border-color 0.4s;
}

.btn-covering-rect:before,
.btn-more.btn-covering-rect:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 1;
    -webkit-transition: color 0.2s, -webkit-transform 0.2s;
    transition: color 0.2s, -webkit-transform 0.2s;
    transition: transform 0.2s, color 0.2s;
    transition: transform 0.2s, color 0.2s, -webkit-transform 0.2s;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

.btn-covering-rect span,
.btn-more.btn-covering-rect span {
    display: inline-block;
    position: relative;
    z-index: 2;
}

.btn-covering-rect:hover,
.btn-more.btn-covering-rect:hover {
    color: #2d2d2d;
    border-color: #fff;
}

.btn-covering-rect.wait-hover-active.wait-hover-active-half,
.btn-more.btn-covering-rect.wait-hover-active.wait-hover-active-half {
    color: #2d2d2d;
}

.btn-covering-rect.wait-hover-active.wait-hover-active-half:before,
.btn-more.btn-covering-rect.wait-hover-active.wait-hover-active-half:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

.btn-covering-rect.wait-hover-active,
.btn-more.btn-covering-rect.wait-hover-active {
    color: #2d2d2d;
}

.btn-covering-rect.wait-hover-active:before,
.btn-more.btn-covering-rect.wait-hover-active:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
}

.btn-covering-rect.wait-hover-hold,
.btn-more.btn-covering-rect.wait-hover-hold {
    color: #2d2d2d;
}

.btn-covering-rect.wait-hover-hold:before,
.btn-more.btn-covering-rect.wait-hover-hold:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

@media screen and (max-width: 768px) {
    .btn-rect {
        max-width: 260px;
    }

    .btn-more {
        max-width: 100%;
    }

    .btn-more.rect.white span {
        padding: 2px 40px 0;
    }

    .btn-more.rect.white.has-border {
        line-height: 50px;
    }

    .btn-more.rect.white.has-border:hover {
        color: #fff;
    }

    .btn-more.rect.white.has-border:hover span:after,
    .btn-more.rect.white.has-border:hover span:before {
        right: 20px;
        background-color: #fff;
    }

    .btn-covering-rect:hover {
        border-color: hsla(0, 0%, 100%, 0.2);
        color: #fff;
    }
}

.tab-body {
    position: relative;
}

.tab-target {
    position: absolute;
    pointer-events: none;
    top: 0;
    left: 0;
    opacity: 0;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

.tab-target.tab-is-active {
    position: relative;
    pointer-events: all;
    opacity: 1;
}

.modal-is-active {
    overflow: hidden;
}

.modal-frame {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 99999;
    text-align: center;
}

.modal-frame .modal-frame-layer-1 {
    position: relative;
    width: 100%;
    height: 100%;
}

.modal-frame .modal-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
}

.modal-frame .modal {
    position: relative;
    height: 100%;
    z-index: 2;
}

.modal-frame .modal-body {
    position: relative;
    height: 100%;
    background: 50% 50% no-repeat;
    background-size: cover;
}

.modal-frame .modal-title {
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.modal-frame .modal-close {
    display: block;
    position: absolute;
    width: 40px;
    height: 40px;
    top: 0;
    right: 0;
}

.modal-frame .modal-close:after,
.modal-frame .modal-close:before {
    display: block;
    content: "";
    position: absolute;
    width: 56px;
    height: 2px;
    top: 50%;
    left: 50%;
    margin-top: -1px;
    margin-left: -28px;
    background-color: #fff;
}

.modal-frame .modal-close:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.modal-frame .modal-close:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#modal-frame-interview .interview-content {
    position: relative;
    height: 100%;
    padding-top: 40px;
    padding-left: 50%;
}

#modal-frame-interview .interview-content > .inner {
    position: relative;
    height: 100%;
}

#modal-frame-interview .interview-content > .inner:after,
#modal-frame-interview .interview-content > .inner:before {
    display: block;
    width: 100%;
    height: 60px;
    content: "";
    position: absolute;
    left: 0;
    pointer-events: none;
    z-index: 2;
}

#modal-frame-interview .interview-content > .inner:before {
    top: 0;
    background: -webkit-gradient(linear,
            left bottom,
            left top,
            from(transparent),
            color-stop(80%, #000));
    background: linear-gradient(0deg, transparent, #000 80%);
}

#modal-frame-interview .interview-content > .inner:after {
    bottom: 0;
    background: -webkit-gradient(linear,
            left top,
            left bottom,
            from(transparent),
            color-stop(80%, #000));
    background: linear-gradient(180deg, transparent, #000 80%);
}

#modal-frame-interview .interview-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: 50% 50% no-repeat;
    background-size: cover;
}

#modal-frame-interview .unit-rect {
    padding-top: 70px;
    position: relative;
    height: 100%;
    text-align: left;
    overflow-y: auto;
    z-index: 1;
    padding: 0;
    letter-spacing: 0.15em;
    -webkit-overflow-scrolling: touch;
}

#modal-frame-interview .unit-rect > .inner {
    padding: 60px;
}

#modal-frame-interview .unit-head {
    margin-bottom: 10px;
}

#modal-frame-interview .unit-head h1 {
    line-height: 1;
    font-size: 36px;
    margin-bottom: 30px;
}

#modal-frame-interview .unit-head h2 {
    font-size: 22px;
}

#modal-frame-interview .interview-list {
    position: relative;
    padding-top: 30px;
    margin-bottom: 10px;
}

#modal-frame-interview .interview-list:before {
    display: block;
    width: 30px;
    height: 1px;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
}

#modal-frame-interview .interview-list h3 {
    font-size: 18px;
    margin-bottom: 30px;
}

#modal-frame-interview .interview-list p {
    font-size: 14px;
}

#modal-frame-interview .interview-list .num {
    font-size: 16px;
}

#modal-frame-interview .interviewer-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    font-size: 14px;
    margin-bottom: 25px;
}

#modal-frame-interview .interviewer-title span {
    margin-right: 20px;
}

#modal-frame-interview .interviewer-title .interview-text {
    margin-right: 10px;
}

#modal-frame-interview .interviewer-title .bar {
    display: inline-block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

#modal-frame-interview .interviewer-title #support #ideal-candidate-section .section-body:before,
#modal-frame-interview .interviewer-title .r-fonts,
#support #ideal-candidate-section #modal-frame-interview .interviewer-title .section-body:before {
    font-size: 16px;
}

#modal-frame-interview .btn-close {
    position: absolute;
    top: 100px;
    right: 40px;
}

#modal-frame-interview .scroll-indicator-nav {
    position: absolute;
    top: 50%;
    right: 40px;
}

@media screen and (max-width: 768px) {
    #modal-frame-interview .interview-content {
        padding-top: 250px;
        padding-left: 0;
    }

    #modal-frame-interview .interview-content > .inner:before {
        height: 60px;
        background: -webkit-gradient(linear,
                left bottom,
                left top,
                from(transparent),
                color-stop(65%, #000));
        background: linear-gradient(0deg, transparent, #000 65%);
    }

    #modal-frame-interview .interview-bg {
        height: 250px;
    }

    #modal-frame-interview .unit-rect > .inner {
        padding: 60px 20px 30px;
    }

    #modal-frame-interview .unit-head {
        margin-bottom: 20px;
    }

    #modal-frame-interview .unit-head h1 {
        font-size: 26px;
        margin-bottom: 10px;
    }

    #modal-frame-interview .unit-head h2 {
        font-size: 18px;
    }

    #modal-frame-interview .unit-head h2 br {
        display: none;
    }

    #modal-frame-interview .unit-head .interviewer-title span {
        margin-right: 10px;
    }

    #modal-frame-interview .unit-head .interviewer-title .interview-text {
        display: none;
    }

    #modal-frame-interview .unit-head .interviewer-title .interview-num {
        margin-right: 0;
    }

    #modal-frame-interview .interview-list {
        margin-bottom: 15px;
    }

    #modal-frame-interview .interview-list h3 {
        margin-bottom: 10px;
    }

    #modal-frame-interview .btn-close {
        top: 254px;
        right: 20px;
    }

    #modal-frame-interview .btn-close span {
        opacity: 1;
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    #modal-frame-interview .btn-close:before {
        -webkit-transform: scaleX(0.5) translateX(-65px);
        transform: scaleX(0.5) translateX(-65px);
    }
}

.form-body pre {
    padding: 20px 15px;
}

.form-require-label {
    color: #ff0060;
    margin-left: 0.5em;
}

.custom-input input[type="email"],
.custom-input input[type="tel"],
.custom-input input[type="text"],
.custom-input textarea {
    width: 100%;
    border: 0;
    padding: 20px 15px;
    background-color: #4a4a4a;
    color: #fff;
}

.custom-input input[type="email"]:-webkit-autofill,
.custom-input input[type="email"]:-webkit-autofill:active,
.custom-input input[type="email"]:-webkit-autofill:focus,
.custom-input input[type="email"]:-webkit-autofill:hover,
.custom-input input[type="tel"]:-webkit-autofill,
.custom-input input[type="tel"]:-webkit-autofill:active,
.custom-input input[type="tel"]:-webkit-autofill:focus,
.custom-input input[type="tel"]:-webkit-autofill:hover,
.custom-input input[type="text"]:-webkit-autofill,
.custom-input input[type="text"]:-webkit-autofill:active,
.custom-input input[type="text"]:-webkit-autofill:focus,
.custom-input input[type="text"]:-webkit-autofill:hover,
.custom-input textarea:-webkit-autofill,
.custom-input textarea:-webkit-autofill:active,
.custom-input textarea:-webkit-autofill:focus,
.custom-input textarea:-webkit-autofill:hover {
    -webkit-box-shadow: 0 0 0 1000px #4a4a4a inset !important;
}

.custom-input input[type="email"]:-webkit-autofill:active:first-line,
.custom-input input[type="email"]:-webkit-autofill:first-line,
.custom-input input[type="email"]:-webkit-autofill:focus:first-line,
.custom-input input[type="email"]:-webkit-autofill:hover:first-line,
.custom-input input[type="tel"]:-webkit-autofill:active:first-line,
.custom-input input[type="tel"]:-webkit-autofill:first-line,
.custom-input input[type="tel"]:-webkit-autofill:focus:first-line,
.custom-input input[type="tel"]:-webkit-autofill:hover:first-line,
.custom-input input[type="text"]:-webkit-autofill:active:first-line,
.custom-input input[type="text"]:-webkit-autofill:first-line,
.custom-input input[type="text"]:-webkit-autofill:focus:first-line,
.custom-input input[type="text"]:-webkit-autofill:hover:first-line,
.custom-input textarea:-webkit-autofill:active:first-line,
.custom-input textarea:-webkit-autofill:first-line,
.custom-input textarea:-webkit-autofill:focus:first-line,
.custom-input textarea:-webkit-autofill:hover:first-line {
    color: #fff !important;
}

.custom-input-select {
    position: relative;
    width: 100%;
    border-bottom: 1px solid #fff;
}

.custom-input-select:after,
.custom-input-select:before {
    display: block;
    width: 1px;
    height: 6px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    background-color: #fff;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
}

.custom-input-select:before {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

.custom-input-select:after {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
}

.custom-input-select label {
    overflow: hidden;
}

.custom-input-select select {
    width: 120%;
    height: 55px;
    line-height: 1;
    outline: none;
    border: 0;
    text-overflow: "";
    background: none transparent;
    vertical-align: bottom;
    font-size: inherit;
    color: #fff;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    cursor: pointer;
}

.custom-input-select select.is-default {
    color: #636363;
}

.custom-input-select .form-error-msg {
    top: -30px;
}

.custom-input-select:hover .custom-input-overlay {
    pointer-events: all;
}

.custom-input-select .custom-input-overlay {
    position: absolute;
    width: 100%;
    height: 55px;
    top: 0;
    left: 0;
    opacity: 0;
    padding-top: 56px;
    z-index: 10;
    -webkit-transition: opacity 0.4s 0.4s;
    transition: opacity 0.4s 0.4s;
    pointer-events: none;
}

.custom-input-select .custom-input-overlay:hover {
    opacity: 1;
    height: auto;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
}

.custom-input-select .custom-input-overlay:hover .input-list {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.custom-input-select .custom-input-overlay .input-list {
    opacity: 0;
    background-color: #020202;
    border-bottom: 1px solid #fff;
    -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
}

.custom-input-select .custom-input-overlay .input-list-0 {
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.custom-input-select .custom-input-overlay .input-list-1 {
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.custom-input-select .custom-input-overlay .input-list-2 {
    -webkit-transform: translateY(-200%);
    transform: translateY(-200%);
}

.custom-input-select .custom-input-overlay .input-list-3 {
    -webkit-transform: translateY(-300%);
    transform: translateY(-300%);
}

.custom-input-select .custom-input-overlay .input-list-4 {
    -webkit-transform: translateY(-400%);
    transform: translateY(-400%);
}

.custom-input-select .custom-input-overlay .input-list-5 {
    -webkit-transform: translateY(-500%);
    transform: translateY(-500%);
}

.custom-input-select .custom-input-overlay .input-list-6 {
    -webkit-transform: translateY(-600%);
    transform: translateY(-600%);
}

.custom-input-select .custom-input-overlay .input-list-7 {
    -webkit-transform: translateY(-700%);
    transform: translateY(-700%);
}

.custom-input-select .custom-input-overlay .input-list-8 {
    -webkit-transform: translateY(-800%);
    transform: translateY(-800%);
}

.custom-input-select .custom-input-overlay .input-list-9 {
    -webkit-transform: translateY(-900%);
    transform: translateY(-900%);
}

.custom-input-select .custom-input-overlay .input-list-10 {
    -webkit-transform: translateY(-1000%);
    transform: translateY(-1000%);
}

.custom-input-select .custom-input-overlay .input-list-11 {
    -webkit-transform: translateY(-1100%);
    transform: translateY(-1100%);
}

.custom-input-select .custom-input-overlay .input-list-12 {
    -webkit-transform: translateY(-1200%);
    transform: translateY(-1200%);
}

.custom-input-select .custom-input-overlay .input-list-13 {
    -webkit-transform: translateY(-1300%);
    transform: translateY(-1300%);
}

.custom-input-select .custom-input-overlay .input-list-14 {
    -webkit-transform: translateY(-1400%);
    transform: translateY(-1400%);
}

.custom-input-select .custom-input-overlay .input-list-15 {
    -webkit-transform: translateY(-1500%);
    transform: translateY(-1500%);
}

.custom-input-select .custom-input-overlay .input-list-16 {
    -webkit-transform: translateY(-1600%);
    transform: translateY(-1600%);
}

.custom-input-select .custom-input-overlay .input-list-17 {
    -webkit-transform: translateY(-1700%);
    transform: translateY(-1700%);
}

.custom-input-select .custom-input-overlay .input-list-18 {
    -webkit-transform: translateY(-1800%);
    transform: translateY(-1800%);
}

.custom-input-select .custom-input-overlay .input-list-19 {
    -webkit-transform: translateY(-1900%);
    transform: translateY(-1900%);
}

.custom-input-select .custom-input-overlay .input-list-20 {
    -webkit-transform: translateY(-2000%);
    transform: translateY(-2000%);
}

.custom-input-select .custom-input-overlay button {
    position: relative;
    width: 100%;
    height: 55px;
    background: none;
    border: 0;
    color: #fff;
    text-align: left;
}

.custom-input-select .custom-input-overlay button:after,
.custom-input-select .custom-input-overlay button:before {
    display: block;
    width: 1px;
    height: 6px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    background-color: #fff;
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
}

.custom-input-select .custom-input-overlay button:before {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

.custom-input-select .custom-input-overlay button:after {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
}

.custom-input-radio label {
    margin-right: 20px;
}

.custom-input-radio input {
    opacity: 0;
    position: absolute;
}

.custom-input-radio input:checked + .radio-wrap .radio-ui:before {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
}

.custom-input-radio .radio-label {
    vertical-align: middle;
}

.custom-input-radio .radio-ui {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 40px;
    margin-right: 5px;
    border-radius: 50%;
    background-color: #4a4a4a;
    vertical-align: middle;
}

.custom-input-radio .radio-ui:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 50%;
    background-color: #fff;
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
}

.custom-input-checkbox {
    margin-top: 20px;
}

.custom-input-checkbox .form-error-msg {
    top: 25px;
}

.form-age {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.form-age .custom-input {
    margin-left: 25px;
    margin-right: 10px;
}

.form-age .custom-input input {
    width: 120px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.form-error-msg {
    top: 0;
    left: 0;
    line-height: 1;
    padding: 8px 20px;
    font-size: 12px;
}

.form-error-msg,
.form-error-msg:before {
    position: absolute;
    background-color: #ff0060;
}

.form-error-msg:before {
    display: block;
    width: 8px;
    height: 8px;
    content: "";
    bottom: -4px;
    left: 10px;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.form-privacy-check {
    padding-top: 7px;
    margin-left: 20px;
    font-size: 12px;
}

@media screen and (max-width: 768px) {
    .custom-input-select .form-error-msg {
        top: -55px;
    }

    .custom-input-select:hover .custom-input-overlay {
        pointer-events: none;
    }

    .custom-input-select .custom-input-overlay {
        display: none;
    }

    .form-error-msg {
        top: -40px;
        left: auto;
        right: 0;
        padding: 8px;
        font-size: 12px;
    }

    .form-error-msg:before {
        left: auto;
        right: 10px;
    }
}

#g-header {
    position: fixed;
    width: 100%;
    height: 110px;
    padding: 40px 40px 0;
    z-index: 100;
}

#g-header > .inner {
    position: relative;
    height: 100%;
}

#g-header .nav-group {
    position: absolute;
    top: 0;
    right: 0;
    line-height: 1;
}

#g-header .nav-list {
    display: inline-block;
    position: relative;
}

#g-header .nav-list:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: -30px;
    left: 0;
    background-color: #fff;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, background-color 0.4s;
    transition: transform 0.4s, background-color 0.4s, -webkit-transform 0.4s;
}

#g-header .nav-list a {
    display: block;
    position: relative;
    padding: 9px 0;
    color: #fff;
    font-size: 14px;
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
    line-height: 1;
    letter-spacing: 0.15em;
}

#g-header .nav-list a:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 10;
    -webkit-transition: background-color 0.4s, -webkit-transform 0.2s;
    transition: background-color 0.4s, -webkit-transform 0.2s;
    transition: transform 0.2s, background-color 0.4s;
    transition: transform 0.2s, background-color 0.4s, -webkit-transform 0.2s;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

#g-header .nav-list a > .inner {
    display: block;
    position: relative;
    height: 100%;
    padding: 0 15px;
}

#g-header .nav-list a > .inner:after {
    display: inline;
    content: attr(data-inner-text);
    position: absolute;
    text-align: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
}

#g-header .nav-list a.wait-hover-active.wait-hover-active-half:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

#g-header .nav-list a.wait-hover-active:before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
}

#g-header .nav-list a.wait-hover-hold .label {
    opacity: 0;
}

#g-header .nav-list a.wait-hover-hold > .inner:after {
    opacity: 1;
}

#g-header .nav-list.has-rect {
    margin-left: 15px;
}

#g-header .nav-list.has-rect a {
    border: 2px solid hsla(0, 0%, 100%, 0.2);
    padding: 9px 0 7px;
    -webkit-transition: border 0.4s, background-color 0.4s, color 0.4s;
    transition: border 0.4s, background-color 0.4s, color 0.4s;
}

#g-header .nav-list.has-rect a:hover {
    border: 2px solid #fff;
    color: #2d2d2d;
}

#g-header .nav-list.has-rect a > .inner {
    z-index: 11;
    padding: 0 20px;
}

#g-header .nav-list.has-rect a.wait-hover-hold {
    color: #2d2d2d;
    border: 2px solid #fff;
}

#g-header .nav-list.has-rect a.wait-hover-hold:before {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

#g-header .nav-list.has-rect a.wait-hover-hold .label {
    opacity: 1;
}

#g-header .nav-list.has-rect a.wait-hover-hold > .inner:after {
    opacity: 0;
}

#g-header .nav-list.is-current {
    pointer-events: none;
}

#g-header .nav-list.is-current:before {
    -webkit-transform: scale(1);
    transform: scale(1);
}

#g-header.is-active .nav-list:before {
    background-color: #2d2d2d;
}

#g-header.is-active .nav-list a {
    color: #2d2d2d;
}

#g-header.is-active .nav-list a:before {
    background-color: #2d2d2d;
}

#g-header.is-active .nav-list.has-rect a {
    border-color: #2d2d2d;
    color: #fff;
    background-color: #2d2d2d;
}

#g-header.is-active .nav-list.has-rect a:before {
    background-color: #fff;
}

#g-header.is-active .nav-list.has-rect a.wait-hover-hold,
#g-header.is-active .nav-list.has-rect a:hover {
    border: 2px solid #2d2d2d;
    color: #2d2d2d;
}

#g-header.is-active #logo .symbol .cls-1 {
    fill: #2d2d2d;
}

#g-header.is-active #logo .text .cls-1 {
    fill: hsla(0, 0%, 100%, 0);
}

#logo,
#logo-nav {
    width: 120px;
    height: 30px;
}

#logo-nav a,
#logo a {
    display: block;
    height: 100%;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

#logo-nav a:hover,
#logo a:hover {
    opacity: 0.5;
}

#logo-nav svg,
#logo svg {
    width: 100%;
    height: auto;
}

#logo-nav .cls-1,
#logo .cls-1 {
    -webkit-transition: fill 0.4s;
    transition: fill 0.4s;
}

#logo-nav .symbol .cls-1,
#logo-nav .text .cls-1,
#logo .symbol .cls-1,
#logo .text .cls-1 {
    fill: #fff;
}

#nav-trigger {
    display: none;
    position: fixed;
}

#g-nav {
    display: none;
}

@media screen and (max-width: 768px) {
    #g-header {
        height: 60px;
        padding: 25px 25px 0;
        -webkit-transition: opacity 0.4s;
        transition: opacity 0.4s;
    }

    #g-header .nav-group {
        right: 50px;
    }

    #g-header .nav-list {
        display: none;
    }

    #g-header .nav-list.has-rect {
        display: inline-block;
        font-weight: 700;
    }

    #g-header .nav-list.has-rect a {
        border-color: hsla(0, 0%, 100%, 0.2);
    }

    #g-header .nav-list.has-rect a.wait-hover-hold,
    #g-header .nav-list.has-rect a:hover {
        border-color: hsla(0, 0%, 100%, 0.2);
        color: #fff;
    }

    #g-header.is-active .nav-list.has-rect a,
    #g-header.is-active .nav-list.has-rect a.wait-hover-hold,
    #g-header.is-active .nav-list.has-rect a:hover {
        border-color: #2d2d2d;
        color: #fff;
    }

    #g-header.nav-is-active {
        opacity: 0;
        pointer-events: none;
    }

    #logo,
    #logo-nav {
        width: 100px;
        height: 25px;
    }

    #logo-nav a:hover,
    #logo a:hover {
        opacity: 1;
    }

    #logo {
        padding-top: 5px;
    }

    #nav-trigger {
        display: block;
        position: fixed;
        width: 50px;
        height: 50px;
        top: 17px;
        right: 12px;
        background: none;
        border: 0;
        z-index: 110;
    }

    #nav-trigger .bars:after,
    #nav-trigger .bars:before,
    #nav-trigger .bars span {
        display: block;
        width: 30px;
        height: 1px;
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        margin-left: -15px;
        background-color: #fff;
        -webkit-transition: background-color 0.4s, -webkit-transform 0.4s;
        transition: background-color 0.4s, -webkit-transform 0.4s;
        transition: transform 0.4s, background-color 0.4s;
        transition: transform 0.4s, background-color 0.4s, -webkit-transform 0.4s;
    }

    #nav-trigger .bars:before {
        -webkit-transform: translateY(-10px);
        transform: translateY(-10px);
    }

    #nav-trigger .bars:after {
        -webkit-transform: translateY(10px);
        transform: translateY(10px);
    }

    #nav-trigger.is-active .bars:after,
    #nav-trigger.is-active .bars:before,
    #nav-trigger.is-active .bars span {
        background-color: #2d2d2d;
    }

    #nav-trigger.nav-is-active .bars:after,
    #nav-trigger.nav-is-active .bars:before,
    #nav-trigger.nav-is-active .bars span {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        background-color: #fff !important;
    }

    #g-nav {
        display: block;
        position: fixed;
        width: 100%;
        height: 100vh;
        height: 100%;
        pointer-events: none;
        opacity: 0;
        -webkit-transition: opacity 0.4s;
        transition: opacity 0.4s;
        z-index: 90;
        padding-top: 50px;
        padding-bottom: 80px;
    }

    #g-nav > .inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 100%;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
    }

    #g-nav .block-body {
        width: 100%;
        padding: 0 25px 40px;
    }

    #g-nav .block-foot {
        position: absolute;
        width: 100%;
        bottom: 40px;
        left: 0;
        padding: 0 25px;
    }

    #g-nav .block-foot:after,
    #g-nav .block-foot:before {
        display: table;
        content: "";
        line-height: 0;
    }

    #g-nav .block-foot:after {
        clear: both;
    }

    #g-nav .block-foot h1 {
        float: left;
    }

    #g-nav .block-foot p {
        float: right;
        font-size: 13px;
        color: hsla(0, 0%, 100%, 0.6);
    }

    #g-nav .nav-list {
        line-height: 1;
    }

    #g-nav .nav-list a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 20px 0;
        font-size: 19px;
        color: #fff;
        text-shadow: 0px 0px 3px black;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }

    #g-nav .nav-list a span {
        display: inline-block;
        -ms-flex-negative: 0;
        flex-shrink: 0;
        margin-right: 15px;
    }

    #g-nav .nav-list a:after {
        display: block;
        content: "";
        height: 1px;
        background-color: #fff;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: 0 50%;
        transform-origin: 0 50%;
        -webkit-transition: -webkit-transform 0.4s;
        transition: -webkit-transform 0.4s;
        transition: transform 0.4s;
        transition: transform 0.4s, -webkit-transform 0.4s;
    }

    #g-nav .nav-list.is-current a:after {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    #g-nav.nav-is-active {
        opacity: 1;
        pointer-events: all;
    }
}

#g-footer {
    position: relative;
    text-align: center;
    padding-top: 70px;
    padding-bottom: 30px;
    z-index: 10;
    background-image: linear-gradient(0deg, rgba(85, 85, 85, 1), rgba(0, 0, 0, 1));
}

#g-footer .block-head {
    margin-bottom: 30px;
}

#g-footer .block-head img {
    width: 92px;
    height: auto;
}

#g-footer .block-head a {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

#g-footer .block-head a:hover {
    opacity: 0.5;
}

#g-footer .block-body {
    margin-bottom: 40px;
}

#g-footer .block-body h2 {
    margin-bottom: 20px;
    font-size: 16px;
    font-weight: 500;
    color: #fff;
}

#g-footer .block-foot p {
    display: inline-block;
    font-size: 10px;
}

#g-footer .block-foot p a {
    color: #fff;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

#g-footer .block-foot p a:hover {
    opacity: 0.5;
}

#g-footer #copyright {
    color: hsla(0, 0%, 100%, 0.6);
}

#g-footer.is-contact-page .block-body {
    display: none;
}

@media screen and (max-width: 768px) {
    #g-footer {
        padding-top: 40px;
        padding-bottom: 40px;
    }

    #g-footer .block-head {
        margin-bottom: 20px;
    }

    #g-footer .block-head img {
        width: 65px;
        height: auto;
    }

    #g-footer .block-head a:hover {
        opacity: 1;
    }

    #g-footer .block-body {
        margin-bottom: 0;
    }

    #g-footer .block-foot,
    #g-footer.is-contact-page {
        display: none;
    }

    #g-footer.nav-is-active {
        opacity: 0;
    }

    #g-footer.nav-is-active .block-head {
        margin-bottom: 0;
    }
}

.scroll-indicator-nav {
    width: 10px;
    height: 420px;
    z-index: 90;
    text-align: center;
}

.scroll-indicator-nav.is-active .scroll-indicator:before {
    background-color: #d0d0d0;
}

.scroll-indicator-nav.is-active .scroll-indicator-knob:after,
.scroll-indicator-nav.is-active .scroll-indicator-knob:before {
    background-color: #6a6a6a;
}

.scroll-indicator {
    position: relative;
    height: 100%;
}

.scroll-indicator:before {
    display: block;
    width: 1px;
    height: 100%;
    content: "";
    position: absolute;
    left: 50%;
    background-color: #3a3a3a;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

.scroll-indicator-knob {
    position: absolute;
    width: 100%;
    left: 0;
}

.scroll-indicator-knob:after,
.scroll-indicator-knob:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    background-color: #bfbfbf;
    -webkit-transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: background-color 0.4s, transform 0.4s;
    transition: background-color 0.4s, transform 0.4s, -webkit-transform 0.4s;
}

.scroll-indicator-knob:before {
    width: 100%;
    left: 0;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

.scroll-indicator-knob:after {
    width: 1px;
    left: 50%;
}

.btn-indicator {
    position: absolute;
    width: 40px;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    border: 0;
    background: none;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

.btn-indicator .bar {
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.btn-indicator .bar:after,
.btn-indicator .bar:before {
    display: block;
    width: 1px;
    height: 8px;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -4px;
    background-color: #747474;
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

.btn-indicator .bar:before {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

.btn-indicator .bar:after {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
}

.btn-indicator .bar.no1 {
    opacity: 0.5;
    -webkit-animation-duration: 2s;
    animation-duration: 2s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.3, 1);
    animation-timing-function: cubic-bezier(0.6, 0, 0.3, 1);
}

.btn-indicator.up {
    top: -40px;
}

.btn-indicator.up .bar {
    -webkit-animation-name: parallelUp;
    animation-name: parallelUp;
}

.btn-indicator.up .bar:after,
.btn-indicator.up .bar:before {
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
}

.btn-indicator.down {
    bottom: -40px;
}

.btn-indicator.down .bar {
    -webkit-animation-name: parallelDown;
    animation-name: parallelDown;
}

.btn-indicator.down .bar:after,
.btn-indicator.down .bar:before {
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
}

#global-scroll-indicator-nav {
    position: fixed;
    top: 50%;
    left: 36px;
    height: 420px;
    margin-top: -210px;
}

#global-scroll-indicator-nav.is-top .btn-indicator.up {
    opacity: 0;
    pointer-events: none;
}

#global-scroll-indicator-nav.is-top .btn-indicator.up .bar {
    -webkit-animation: none;
    animation: none;
}

#global-scroll-indicator-nav.is-bottom .btn-indicator.down {
    opacity: 0;
    pointer-events: none;
}

#global-scroll-indicator-nav.is-bottom .btn-indicator.down .bar {
    -webkit-animation: none;
    animation: none;
}

@-webkit-keyframes parallelDown {
    0% {
        opacity: 0.5;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(15px) scale(0.8);
        transform: translateY(15px) scale(0.8);
    }
}

@keyframes parallelDown {
    0% {
        opacity: 0.5;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(15px) scale(0.8);
        transform: translateY(15px) scale(0.8);
    }
}

@-webkit-keyframes parallelUp {
    0% {
        opacity: 0.5;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(-15px) scale(0.8);
        transform: translateY(-15px) scale(0.8);
    }
}

@keyframes parallelUp {
    0% {
        opacity: 0.5;
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }

    to {
        opacity: 0;
        -webkit-transform: translateY(-15px) scale(0.8);
        transform: translateY(-15px) scale(0.8);
    }
}

@media screen and (max-width: 768px) {
    .scroll-indicator-nav {
        display: none;
    }
}

.rect-in-fx {
    position: relative;
    -webkit-transition: -webkit-transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
    transition: -webkit-transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
    transition: transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
    transition: transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s,
        -webkit-transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

.rect-in-fx .rect-in-fx-inner {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    pointer-events: none;
    z-index: 100;
}

.rect-in-fx .rect-in-fx-strip {
    width: 100%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    background-color: #020202;
    -webkit-transition: background-color 0.4s 0s,
        -webkit-transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
    transition: background-color 0.4s 0s,
        -webkit-transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
    transition: transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s,
        background-color 0.4s 0s;
    transition: transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s,
        background-color 0.4s 0s,
        -webkit-transform 0.4s cubic-bezier(0.6, 0, 0.3, 1) 0s;
}

.rect-in-fx.waypoint-is-active {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.rect-in-fx.waypoint-is-active .rect-in-fx-strip {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

.rect-in-fx.waypoint-is-active .rect-in-fx-strip.is-close {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.rect-in-fx.is-open .rect-in-fx-strip {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

.rect-in-fx.is-close .rect-in-fx-strip {
    -webkit-transform: scale(1);
    transform: scale(1);
}

#contents,
#g-footer,
#global-scroll-indicator-nav {
    -webkit-transition: opacity 0.6s;
    transition: opacity 0.6s;
}

body {
    background-color: #fff;
    -webkit-transition: background-color 0.6s;
    transition: background-color 0.6s;
}

body.is-initial-loading {
    background-color: #020202;
}

body.is-initial-loading #contents,
body.is-initial-loading #footer-bg,
body.is-initial-loading #g-footer,
body.is-initial-loading #g-header,
body.is-initial-loading #global-scroll-indicator-nav,
body.is-initial-loading #main-visual-bg,
body.is-initial-loading #nav-trigger {
    opacity: 0;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
}

body.is-initial-ready #stage {
    opacity: 0;
}

.page-changing {
    overflow: hidden;
    pointer-events: none;
}

.page-changing #contents,
.page-changing #g-footer,
.page-changing #global-scroll-indicator-nav {
    opacity: 0;
}

.page-changing #stage {
    background-color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 500;
}

body.is-waiting,
html.is-waiting {
    background-color: #020202;
}

body {
    position: relative;
    font-weight: 500;
    min-width: 1180px;
    overflow-x: auto;
    letter-spacing: 0.15em;
}

.page-content {
    padding-bottom: 10px;
}

.banner-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 10px;
    padding-right: 10px;
}

.banner-section h2 {
    margin-bottom: 30px;
    font-size: 36px;
    line-height: 1;
}

.banner-section h3 {
    line-height: 2;
    margin-bottom: 15px;
    letter-spacing: 0.15em;
    font-size: 22px;
}

.banner-section p {
    font-size: 16px;
    line-height: 2.5;
    margin-bottom: 35px;
}

.banner-section p:last-child {
    margin-bottom: 0;
}

.banner-section .btn-more {
    line-height: 50px;
}

.banner-section .block {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    padding-top: 80px;
    padding-bottom: 70px;
    margin-right: 10px;
    text-align: center;
    background: 50% 50% no-repeat;
    background-size: cover;
    color: #fff;
    -webkit-transform: none;
    transform: none;
}

.banner-section .block:last-child {
    margin-right: 0;
}

.banner-section .block:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(2, 2, 2, 0.8);
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

.banner-section .block > .inner {
    position: relative;
    z-index: 10;
}

.banner-section .block .rect-in-fx-inner {
    z-index: 5;
}

.banner-section .block .rect-in-fx-strip {
    background-color: rgba(2, 2, 2, 0.5);
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
}

.banner-section .block.support {
    background-image: url("../img/common/banner_support.png");
}

.banner-section .block.about {
    background-image: url("../img/common/banner_about.png");
}

.banner-section .block:hover svg .cls-1 {
    opacity: 0.5;
}

.banner-section .block:hover .rect-in-fx-strip {
    -webkit-transform: scale(1);
    transform: scale(1);
}

.banner-section.is-single .block:before {
    background-color: rgba(2, 2, 2, 0.5);
}

.split-part {
    display: inline-block;
}

.split-part.blank {
    min-width: 0.3em;
}

#content-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    pointer-events: none;
}

#content-bg #footer-bg,
#content-bg #main-visual-bg {
    position: absolute;
    background: url(../img/about/img_01.png);
    width: 100%;
    height: 100%;
    left: 0;
    z-index: 5;
    filter: brightness(0.5);
    background-size: cover;
}

#content-bg #main-visual-bg {
    top: 0;
}

#content-bg #footer-bg {
    bottom: 0;
}

#stage {
    position: fixed;
    -webkit-transition: background-color 0.4s, opacity 0.4s;
    transition: background-color 0.4s, opacity 0.4s;
    background-color: transparent;
    z-index: 3;
    display: none;
}

#stage,
#stage:before {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

#stage:before {
    display: block;
    content: "";
    position: absolute;
    -webkit-transition: border 0.8s cubic-bezier(0.6, 0, 0.3, 1);
    transition: border 0.8s cubic-bezier(0.6, 0, 0.3, 1);
    border: 0 solid #fff;
    z-index: 10;
}

#stage.nav-is-active {
    background-color: #000;
}

#contents {
    position: relative;
    z-index: 10;
}

#contents.nav-is-active {
    opacity: 0;
}

#main-visual {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
    height: 460px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: #fff;
    overflow: hidden;
}

#main-visual h1 {
    line-height: 1;
    /*font-size: 46px; 190308情報セキュリティ方針追加のため調整*/
    font-size: 36px;
}

#main-visual .split-part {
    opacity: 0;
    -webkit-transform: translateX(-200%);
    transform: translateX(-200%);
    -webkit-transition: opacity 1.2s, -webkit-transform 1.2s;
    transition: opacity 1.2s, -webkit-transform 1.2s;
    transition: opacity 1.2s, transform 1.2s;
    transition: opacity 1.2s, transform 1.2s, -webkit-transform 1.2s;
}

#main-visual.is-shown .split-part {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
}

#main-anchor {
    display: none;
}

#loading {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    overflow: hidden;
    z-index: 999999;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

#loading.is-dismissed {
    opacity: 0;
}

#loading #loading-inner {
    position: absolute;
    width: 1px;
    height: 100%;
    top: 0;
    left: 50%;
    background-color: #fff;
    -webkit-transform: scaleY(0);
    transform: scaleY(0);
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
}

@media screen and (max-width: 768px) {
    body {
        min-width: 320px;
    }

    #content-bg #footer-bg,
    #content-bg #main-visual-bg {
        background: url(../img/about/img_01_sp.png);
        background-size: cover;
    }

    .banner-section {
        display: block;
    }

    .banner-section h2 {
        font-size: 31px;
    }

    .banner-section h3 {
        font-size: 22px;
        line-height: 1.8;
    }

    .banner-section p {
        line-height: 2;
    }

    .banner-section .block {
        display: block;
        text-align: left;
        padding: 60px 25px 45px;
        margin-right: 0;
        margin-bottom: 10px;
    }

    .banner-section .block:last-child {
        margin-bottom: 0;
    }

    .banner-section .block.support {
        background-image: url("../img/common/banner_support_sp.png");
    }

    #contents {
        overflow: hidden;
    }

    #main-visual {
        height: 375px;
        text-align: center;
    }

    .is-landing #main-visual {
        height: 250px;
    }

    #main-anchor {
        display: block;
        position: absolute;
        width: 50px;
        height: 50px;
        top: 325px;
        right: 0;
        z-index: 80;
    }

    #main-anchor:after,
    #main-anchor:before {
        display: block;
        width: 1px;
        height: 8px;
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -4px;
        background-color: #fff;
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
    }

    #main-anchor:before {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
    }

    #main-anchor:after {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
    }
}

#top .content-section .section-img {
    position: absolute;
    width: 520px;
    height: 520px;
}

#top .content-section .section-img img {
    width: 100%;
    height: auto;
}

#top #main-visual > .inner {
    padding-top: 30px;
}

#top #main-visual h2 {
    padding-top: 20%;
    margin-bottom: 20px;
    font-size: 18px;
    font-weight: 500;
    font-family: "fot-chiaro-std", Roboto Condensed, sans-serif;
    font-style: normal;
}

#top #main-visual h1 {
    line-height: 1.2;
    font-size: 42px;
}

#top #news-area {
    position: absolute;
    width: 100%;
    max-width: 475px;
    height: 33px;
    line-height: 33px;
    bottom: 30px;
    right: 0;
    padding-left: 30px;
    overflow: hidden;
    background-color: #020202;
    color: #fff;
}

#top #news-area:after {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    background-color: #fff;
    z-index: 10;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

#top #news-area.is-ready:after {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

#top #news-area.is-hiding:after {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
}

#top #news-area a {
    color: #fff;
}

#top #news-area time {
    margin-right: 20px;
    font-size: 14px;
}

#top #news-area p {
    display: inline;
}

#top #news-area span {
    font-size: 12px;
}

#top #about-section {
    position: relative;
    padding-top: 160px;
    padding-bottom: 80px;
    margin-bottom: 80px;
}

#top #about-section .container > .inner {
    position: relative;
    display: inline-block;
}

#top #about-section .section-head {
    position: relative;
    margin-bottom: 60px;
}

#top #about-section .section-head h3 {
    position: absolute;
    line-height: 1.5;
    top: -10px;
    right: -50px;
    font-size: 28px;
    letter-spacing: 0.15em;
    font-weight: 600;
}

#top #about-section .section-body {
    margin-bottom: 30px;
}

#top #about-section .section-body p {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 0.15em;
}

#top #about-section .section-img {
    width: 580px;
    height: 580px;
    top: 80px;
    right: 40px;
}

#top #service-section {
    margin-bottom: 140px;
}

#top #service-section .section-head {
    padding-left: 60px;
    margin-bottom: 100px;
}

@media screen and (max-width: 1080px) {
    #top #main-visual h2 {
        padding-top: 20%;
        margin-bottom: 20px;
        font-size: 16px;
    }

    #top #main-visual h1 {
        font-size: 32px;
    }
}

@media screen and (max-width: 768px) {
    #top #main-visual > .inner {
        text-align: center;
        padding-left: 0;
        padding-right: 0;
    }

    #top #main-visual h2 {
        padding-top: 15%;
        font-size: 4.5vw;
        margin-bottom: 1em;
    }

    #top #main-visual h1 {
        line-height: 2;
        font-size: 7vw;
    }

    #top #main-anchor {
        top: auto;
        bottom: 60px;
        right: 50%;
        margin-right: -25px;
    }

    #top #news-area {
        height: 64px;
        line-height: 1;
        bottom: 0;
        padding-left: 0;
        background-color: transparent;
        color: #fff;
        text-align: left;
    }

    #top #news-area time {
        display: inline-block;
        padding: 10px 20px 0;
        margin-right: 20px;
        font-size: 12px;
        background-color: #020202;
    }

    #top #news-area p {
        display: block;
        padding-top: 15px;
        padding-left: 20px;
        padding-bottom: 15px;
        background-color: #020202;
    }

    #top #about-section {
        padding-top: 100px;
        padding-bottom: 0;
        margin-bottom: 100px;
    }

    #top #about-section .section-head {
        margin-bottom: 25px;
    }

    #top #about-section .section-head h3 {
        position: relative;
        top: 0;
        font-size: 4vw;
        right: 10px;
        font-weight: 600;
    }

    #top #about-section .section-body,
    #top #about-section .section-title {
        margin-bottom: 25px;
    }

    #top #about-section .section-img {
        width: 50%;
        height: 290px;
        top: 0;
        right: -20px;
        overflow: hidden;
    }

    #top #about-section .section-img > .inner {
        height: 100%;
    }

    #top #about-section .section-img .parallax-inner {
        height: 100%;
        background: 50% 50% no-repeat url("../img/top/img_001_001.png");
        background-size: cover;
    }

    #top #about-section .section-img .parallax-inner img {
        -webkit-transform: scale(1.1);
        transform: scale(1.1);
    }

    #top #about-section .section-img img {
        display: none;
    }

    #top #about-section .rect-in-fx {
        width: 100%;
        height: 100%;
    }

    #top #service-section {
        margin-bottom: 100px;
    }

    #top #service-section .section-head {
        padding-left: 0;
        margin-bottom: 50px;
    }

    #top #service-section .block-floating.in-service .block-img {
        width: 100%;
        height: 0;
        padding-bottom: 65.71429%;
        overflow: hidden;
    }

    #top #service-section .block-floating.in-service .block-img > .inner {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: -25px;
    }

    #top #service-section .block-floating.in-service .block-img img {
        display: none;
    }
}

#about {
    padding-bottom: 120px;
}

#about #message-section {
    position: relative;
    margin-bottom: 110px;
}

#about #message-section .section-img {
    width: 50%;
    margin-top: -60px;
    padding-right: 10px;
}

#about #message-section .section-img img {
    width: 100%;
    height: auto;
    -webkit-transform: scale(1);
    transform: scale(1);
}

#about #message-section .section-img .rect-in-fx {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

#about #message-section > .inner {
    position: absolute;
    top: 120px;
    left: 50%;
    padding-left: 50px;
}

#about #message-section .section-title {
    margin-bottom: 30px;
}

#about #message-section .section-head {
    margin-bottom: 40px;
}

#about #message-section .section-head h3 {
    line-height: 1.5;
    font-size: 32px;
    letter-spacing: 0.15em;
}

#about #message-section .section-body p {
    line-height: 2.5;
    font-size: 16px;
    letter-spacing: 0.15em;
}

#about #message-section .unit-rect {
    color: #2d2d2d;
}

#about #organization-section {
    margin-bottom: 500px;
}

#about #organization-section .block-img {
    top: 300px;
    right: 0;
    text-align: center;
}

#about #organization-section .block-img > .inner {
    background-color: #fff;
    padding: 60px 60px 50px;
}

#about #organization-section .unit-rect {
    max-width: 600px;
    margin-left: -60px;
}

#about #organization-section .org-unit-wrap,
#about #organization-section .row {
    font-size: 0;
}

#about #organization-section .row {
    position: relative;
    margin-bottom: 20px;
}

#about #organization-section .row:before {
    display: block;
    width: 2px;
    height: 16px;
    content: "";
    position: absolute;
    bottom: -18px;
    left: 50%;
    margin-left: -1px;
    border-left: 2px solid #809fcc;
}

#about #organization-section .row.last:before {
    display: none;
}

#about #organization-section .org-unit-wrap {
    position: relative;
}

#about #organization-section .org-unit-wrap:before {
    display: block;
    width: 2px;
    height: 6px;
    content: "";
    position: absolute;
    top: -15px;
    left: 50%;
    margin-left: -1px;
    border-left: 2px dotted #c9cce5;
}

#about #organization-section .org-unit-wrap:after {
    display: block;
    width: 610px;
    height: 2px;
    content: "";
    position: absolute;
    top: -6px;
    left: 56px;
    border-bottom: 2px dotted #c9cce5;
}

#about #organization-section .org-unit {
    display: inline-block;
    line-height: 1.5;
    font-size: 14px;
    color: #809fcc;
    vertical-align: top;
}

#about #organization-section .org-unit.level1 {
    line-height: 1;
    padding: 16px 36px;
    border: 2px solid #809fcc;
    border-radius: 2px;
}

#about #organization-section .org-unit.level2 {
    position: relative;
    padding-top: 15px;
    margin-right: 10px;
}

#about #organization-section .org-unit.level2:last-child {
    margin-right: 0;
}

#about #organization-section .org-unit.level2:before {
    display: block;
    width: 2px;
    height: 10px;
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -1px;
    border-left: 2px dotted #c9cce5;
}

#about #organization-section .org-unit.level2 .org-unit-head {
    position: relative;
    width: 112px;
    line-height: 1.25;
    padding: 10px 0;
    margin-bottom: 10px;
}

#about #organization-section .org-unit .org-unit-child {
    position: relative;
    line-height: 1;
    padding: 10px 0;
    margin-bottom: 10px;
}

#about #organization-section .org-unit .org-unit-child:last-child {
    margin-bottom: 0;
}

#about #organization-section .org-unit .org-unit-child:after,
#about #organization-section .org-unit .org-unit-child:before {
    display: block;
    width: 10px;
    height: 100%;
    content: "";
    position: absolute;
    border: 2px solid #c9cce5;
    border-radius: 2px;
    top: 0;
}

#about #organization-section .org-unit .org-unit-child:before {
    left: 0;
    border-right: 0;
}

#about #organization-section .org-unit .org-unit-child:after {
    right: 0;
    border-left: 0;
}

#about #security-section {
    margin-bottom: 80px;
}

#about #security-section .unit-rect {
    max-width: 946px;
    margin-right: -40px;
}

#about #security-section .section-head {
    margin-bottom: 20px;
}

#about #security-section .section-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#about #security-section .section-body .block {
    position: relative;
    /*margin-right: 60px;*/
}

/*#about #security-section .section-body .block:last-child {
  margin-right: 0;
}*/
#about #security-section .section-body .block.no1 {
    padding-top: 30px;
    width: 32%;
}

#about #security-section .section-body .block.no2 {
    /*padding-top: 70px;*/
    margin: 0 2%;
    width: 32%
}

#about #security-section .section-body .block.no3 {
    /*padding-top: 10px;*/
    padding-top: 30px;
    width: 32%;
}

#about #security-section .section-body .block h3 {
    line-height: 1;
    margin-bottom: 15px;
    font-size: 18px;
}

#about #security-section .section-body .block p {
    font-size: 14px;
    color: #606060;
}

#about #security-section .section-body .block-head {
    margin-bottom: 20px;
}

#about #security-section .section-body .block-head img {
    width: 100%;
    height: auto;
    opacity: 0;
    -webkit-transition: opacity 1.6s 0.8s;
    transition: opacity 1.6s 0.8s;
}

#about #security-section .section-body .rect-in-fx.waypoint-is-active img {
    opacity: 1;
}

#about #security-section .rect-in-fx .rect-in-fx-strip {
    background-color: #fff;
}

#about #security-section .rect-in-fx.waypoint-is-active .rect-in-fx-strip {
    opacity: 0.8;
    background-color: #fff;
    -webkit-transition-duration: 0.3s, 0.2s;
    transition-duration: 0.3s, 0.2s;
    -webkit-transform: scale(0, 0.75);
    transform: scale(0, 0.75);
}

#about #security-section .rect-in-fx.waypoint-is-active .rect-in-fx-strip.is-close {
    -webkit-transition-duration: 0.6s, 0.4s;
    transition-duration: 0.6s, 0.4s;
    -webkit-transform: scaleY(0.5);
    transform: scaleY(0.5);
}

#about #security-section .rect-in-fx.waypoint-is-active .rect-in-fx-strip.is-current {
    background-color: rgba(128, 159, 204, 0.5);
}

#about #security-section .rect-in-fx.waypoint-is-active .rect-in-fx-strip.is-black {
    background-color: rgba(2, 2, 2, 0.75);
}

#about #company-section {
    max-width: 100%;
}

#about #company-section .container {
    padding-left: 60px;
    padding-right: 60px;
}

#about #company-section .container > .inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: #fff;
    padding: 80px 60px;
    margin-top: -180px;
    z-index: 2;
}

#about #company-section .section-img {
    position: relative;
    height: 460px;
    padding-right: 75px;
    overflow: hidden;
    z-index: 1;
}

#about #company-section .section-img .parallax-inner {
    height: 110%;
}

#about #company-section .section-img .inner {
    height: 100%;
    background: 50% 50% no-repeat url("../img/about/img_004_001.png");
    background-size: cover;
}

#about #company-section .section-img .inner.is-next {
    background-image: url("../img/about/img_004_002.png");
}

#about #company-section .section-title h2 {
    white-space: nowrap;
}

#about #company-section .section-body {
    padding-left: 60px;
}

#about #company-section .section-foot {
    position: relative;
    height: 0;
    padding-bottom: 53.01887%;
    text-align: center;
}

#about #company-section .section-foot > .inner {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#about #company-section .table-list th {
    width: 160px;
}

#about #company-section .table-list td {
    color: #606060;
}

#about #company-section .btn-more {
    position: relative;
    top: 60px;
    z-index: 2;
}

#about #company-section #gmap {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    background-color: #2d2d2d;
}

@media screen and (max-width: 768px) {
    #about .unit-rect {
        padding-top: 40px;
    }

    #about #message-section {
        margin-bottom: 70px;
    }

    #about #message-section .section-img {
        width: 77%;
        margin-bottom: -50px;
    }

    #about #message-section > .inner {
        position: relative;
        top: 0;
        left: 0;
        padding-left: 25px;
        padding-right: 25px;
    }

    #about #message-section .section-head {
        margin-bottom: 50px;
    }

    #about #message-section .section-head h3 {
        font-size: 6vw;
    }

    #about #organization-section {
        margin-bottom: 80px;
    }

    #about #organization-section .container {
        padding-right: 0;
    }

    #about #organization-section .block-img {
        position: relative;
        width: 100%;
        top: 0;
        right: auto;
        left: 0;
        text-align: left;
    }

    #about #organization-section .block-img > .inner {
        background-color: transparent;
        padding: 60px 45px 50px 0;
    }

    #about #organization-section .row {
        margin-bottom: 15px;
    }

    #about #organization-section .row:before {
        height: 12px;
        bottom: -13px;
    }

    #about #organization-section .org-unit-wrap {
        padding-left: 30px;
    }

    #about #organization-section .org-unit-wrap:before {
        display: none;
    }

    #about #organization-section .org-unit-wrap:after {
        width: 2px;
        height: 755px;
        top: -15px;
        left: 10px;
        border-left: 2px dotted #c9cce5;
        border-bottom: 0;
    }

    #about #organization-section .org-unit {
        display: block;
    }

    #about #organization-section .org-unit.no1 {
        width: 70.90909%;
    }

    #about #organization-section .org-unit.no2 {
        width: 85.45455%;
    }

    #about #organization-section .org-unit.level2 {
        padding-top: 0;
        margin-bottom: 15px;
        margin-right: 0;
    }

    #about #organization-section .org-unit.level2:last-child {
        margin-bottom: 0;
    }

    #about #organization-section .org-unit.level2:before {
        width: 13px;
        height: 2px;
        top: 20px;
        left: -18px;
        margin-left: -1px;
        border-left: 0;
        border-bottom: 2px dotted #c9cce5;
    }

    #about #organization-section .org-unit.level2 .org-unit-head {
        width: 100%;
        padding-left: 20px;
    }

    #about #organization-section .org-unit .org-unit-child {
        padding-left: 20px;
    }

    #about #organization-section .unit-rect {
        margin-bottom: 30px;
        margin-left: 0;
    }

    #about #security-section {
        margin-bottom: 60px;
    }

    #about #security-section .unit-rect {
        margin-right: 0;
    }

    #about #security-section .section-body {
        display: block;
    }

    /*#about #security-section .section-body .block {
    margin-right: 0;
    margin-bottom: 40px;
  }
  #about #security-section .section-body .block:last-child {
    margin-bottom: 0;
  }
  #about #security-section .section-body .block:nth-of-type(odd) {
    padding-right: 25px;
  }
  #about #security-section .section-body .block:nth-of-type(2n) {
    padding-left: 25px;
  }
  #about #security-section .section-body .block.no2,
  #about #security-section .section-body .block.no3 {
    padding-top: 0;
  }*/

    #about #security-section .section-body .block.no1,
    #about #security-section .section-body .block.no2,
    #about #security-section .section-body .block.no3 {
        margin: 10px auto;
        width: 80%;
    }

    #about #company-section .container {
        padding-left: 25px;
        padding-right: 25px;
    }

    #about #company-section .container > .inner {
        display: block;
        padding: 60px 30px;
        margin-top: -80px;
    }

    #about #company-section .section-head {
        margin-bottom: 30px;
    }

    #about #company-section .section-body {
        padding-left: 0;
    }

    #about #company-section .section-foot {
        padding-bottom: 84.61538%;
    }

    #about #company-section .section-img {
        padding-right: 0;
        height: 280px;
    }

    #about #company-section .section-img > .inner {
        background-image: url("../img/about/img_004_001.png");
    }
}

#course .content-section .block-title {
    text-align: center;
    margin-bottom: 60px;
}

#course .content-section .block-title h2 {
    font-size: 36px;
    line-height: 1;
}

#course .block-floating .unit-rect {
    padding: 60px;
    background-color: #020202;
}

#course .block-floating .unit-rect:hover .num:before {
    background-color: #fff;
}

#course .block-floating .block-img {
    width: 620px;
    height: 620px;
}

#course .btn-slide {
    position: absolute;
    width: 50px;
    height: 130px;
    top: 50%;
    border: 0;
    margin-top: -97.5px;
    background-color: #1d1d1d;
    -webkit-transition: width 0.4s, background-color 0.4s;
    transition: width 0.4s, background-color 0.4s;
    z-index: 10;
}

#course .btn-slide:hover {
    width: 80px;
}

#course .btn-slide .bars {
    display: block;
    position: absolute;
    width: 24px;
    height: 24px;
    top: 50%;
    left: 50%;
    margin-top: -12px;
    margin-left: -12px;
}

#course .btn-slide .bars:after,
#course .btn-slide .bars:before {
    display: block;
    width: 18px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    margin-left: -9px;
    background-color: #fff;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

#course .btn-slide .bars:before {
    -webkit-transform: rotate(20deg);
    transform: rotate(20deg);
}

#course .btn-slide .bars:after {
    -webkit-transform: rotate(-20deg);
    transform: rotate(-20deg);
}

#course .btn-slide.prev {
    left: 0;
}

#course .btn-slide.prev .bars:after,
#course .btn-slide.prev .bars:before {
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

#course .btn-slide.next {
    right: 0;
}

#course .btn-slide.next .bars:after,
#course .btn-slide.next .bars:before {
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
}

#course #main-visual {
    margin-bottom: 60px;
}

#course #video-section {
    max-width: 100%;
    margin-bottom: 170px;
}

#course #video-section .section-head {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
}

#course #video-section .section-head .block-img {
    top: -120px;
    z-index: 2;
}

#course #video-section .section-body {
    position: relative;
    padding-top: 170px;
    padding-bottom: 60px;
}

#course #illust-section .section-body {
    position: relative;
    padding-top: 170px;
    padding-bottom: 60px;
}

#course #video-section .section-body:before {
    display: block;
    width: 100%;
    height: 100%;
    content: "";
    position: absolute;
    top: 0;
    left: -50%;
    margin-left: 550px;
    background-color: #fff;
    z-index: 1;
}

#course #video-section .section-body .cols {
    position: relative;
    z-index: 2;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#course #illust-section .section-body .cols {
    position: relative;
    z-index: 2;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

#course #video-section .section-body .block {
    width: 440px;
    margin-right: 60px;
}

#course #illust-section .section-body .block {
    width: 440px;
    margin-right: 60px;
}

#course #video-section .section-body .block:last-child {
    margin-right: 0;
}

#course #video-section .section-body .block img {
    width: 100%;
    height: auto;
}

#course #illust-section .section-body .block img {
    width: 100%;
    height: auto;
}

#course #video-section .section-body .block h3 {
    line-height: 1;
    margin-bottom: 15px;
    font-size: 18px;
}

#course #illust-section .section-body .block h3 {
    line-height: 1;
    margin-bottom: 15px;
    font-size: 18px;
}

#course #video-section .section-body .block p {
    font-size: 14px;
    color: #606060;
}

#course #illust-section .section-body .block p {
    font-size: 14px;
    color: #606060;
}

#course #video-section .section-body .block .block-head {
    margin-bottom: 25px;
}

#course #illust-section .section-body .block .block-head {
    margin-bottom: 25px;
}

#course #illust-section {
    max-width: 100%;
    margin-bottom: 200px;
}

#course #illust-section .section-head {
    position: relative;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 120px;
    z-index: 2;
}

#course #illust-section .section-body {
    position: relative;
    padding-top: 110px;
    padding-bottom: 60px;
    background-color: #fff;
    z-index: 1;
}

#course #illust-section .section-body .block-body {
    position: relative;
}

#course #illust-section #slide-indicator {
    display: none;
}


#course #design-section {
    max-width: 100%;
    margin-bottom: 200px;
}

#course #design-section .section-head {
    position: relative;
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 120px;
    z-index: 2;
}

#course #design-section .section-body {
    position: relative;
    padding-top: 110px;
    padding-bottom: 60px;
    background-color: #fff;
    z-index: 1;
}

#course #design-section .section-body .block-body {
    position: relative;
}

#course #design-section #slide-indicator {
    display: none;
}


#course #coding-section {
    margin-bottom: 230px;
}

#course #vtuber-section {
    margin-bottom: 250px;
}

#course #vtuber-section .block-img {
    left: 0;
}

#course #vtuber-section .section-head {
    margin-bottom: -25px;
}

#course #vtuber-section .section-body {
    padding-top: 180px;
    padding-bottom: 60px;
    background-color: #fff;
}

#course #vtuber-section .col {
    text-align: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    border-right: 1px solid #d2d2d2;
}

#course #vtuber-section .col:first-child {
    border-left: 1px solid #d2d2d2;
}

#course #vtuber-section .col-head {
    margin-bottom: 35px;
}

#course #vtuber-section .col-head p {
    line-height: 1;
}

#course #vtuber-section .col-head span {
    font-size: 100px;
    color: #ccc;
    letter-spacing: 0;
}

#course #vtuber-section .col-head small {
    vertical-align: super;
    font-size: 18px;
}

#course #vtuber-section .col-body h3 {
    font-size: 18px;
    margin-bottom: 5px;
}

#course #vtuber-section .col-body p {
    font-size: 14px;
    color: #606060;
    letter-spacing: 0.15em;
}

#course #carousel-slider {
    padding-left: 20px;
    padding-right: 20px;
}

#course #carousel-slider .slick-track {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

#course #carousel-slider .slick-list {
    overflow: hidden;
}

#course #carousel-slider .slick-slide {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
}

#course #carousel-slider .slick-slide > div {
    height: 100%;
}

#course #carousel-slider .slick-dots {
    position: absolute;
    top: 5px;
    right: 40px;
    font-size: 0;
}

#course #carousel-slider .slick-dots.is-skipped button .indicator {
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform 0.8s;
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
}

#course #carousel-slider .slick-dots li {
    display: inline-block;
    margin-left: 16px;
}

#course #carousel-slider .slick-dots li.slick-active button .indicator {
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
    -webkit-transition: -webkit-transform 0s;
    transition: -webkit-transform 0s;
    transition: transform 0s;
    transition: transform 0s, -webkit-transform 0s;
}

#course #carousel-slider .slick-dots button {
    position: relative;
    width: 40px;
    height: 30px;
    border: 0;
    background: none;
}

#course #carousel-slider .slick-dots button:before {
    display: inline-block;
    content: "";
    width: 100%;
    height: 5px;
    background-color: #d2d2d2;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

#course #carousel-slider .slick-dots button .indicator {
    display: inline-block;
    position: absolute;
    width: 100%;
    height: 5px;
    top: 13px;
    left: 0;
    background-color: #1d1d1d;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
    -webkit-transition: -webkit-transform 0.8s;
    transition: -webkit-transform 0.8s;
    transition: transform 0.8s;
    transition: transform 0.8s, -webkit-transform 0.8s;
}

#course #carousel-slider .btn-slick {
    position: absolute;
}

#course #carousel-slider .cell {
    position: relative;
    height: 100%;
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 45px;
}

#course #carousel-slider .cell a {
    display: block;
    height: 100%;
}

#course #carousel-slider .cell a:hover .cell-img {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}

#course #carousel-slider .cell a:hover .cell-body h3,
#course #carousel-slider .cell a:hover .cell-body p {
    color: #732c8b;
}

#course #carousel-slider .cell a:hover .cell-foot p {
    color: #00b3d8;
}

#course #carousel-slider .cell a:hover .open-cover {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
}

#course #carousel-slider .cell-head {
    margin-bottom: 15px;
    position: relative;
    height: 0;
    padding-bottom: 75%;
    background-color: #f5f5f5;
    text-align: center;
    overflow: hidden;
}

#course #carousel-slider .cell-body h3,
#course #carousel-slider .cell-body p {
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
}

#course #carousel-slider .cell-body h3 {
    margin-bottom: 5px;
    color: #2d2d2d;
    font-size: 18px;
}

#course #carousel-slider .cell-body p {
    color: #606060;
    font-size: 14px;
}

#course #carousel-slider .cell-foot {
    position: absolute;
    width: 100%;
    bottom: 0;
    left: 0;
    padding-left: 20px;
    padding-right: 20px;
}

#course #carousel-slider .cell-foot p {
    color: #ccc;
    font-size: 12px;
    -webkit-transition: color 0.4s;
    transition: color 0.4s;
}

#course #carousel-slider .cell-foot p span {
    margin-right: 10px;
}

#course #carousel-slider .cell-foot p span:before {
    display: inline-block;
    content: "#";
}

#course #carousel-slider .cell-img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
}

#course #carousel-slider .cell-img.is-vertical {
    padding-top: 20px;
    padding-bottom: 20px;
}

#course #carousel-slider .cell-img.is-vertical img {
    width: auto;
    height: 100%;
}

#course #carousel-slider .cell-img.is-horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 20px;
    padding-right: 20px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#course #carousel-slider .cell-img.is-horizontal img {
    width: 100%;
    height: auto;
}

#course #carousel-slider .cell-img.is-webdesign {
    padding-top: 28px;
    padding-left: 20px;
    padding-right: 20px;
}

#course #carousel-slider .cell-img.is-webdesign img {
    width: 100%;
    height: auto;
}

#course #carousel-slider .open-cover {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: rgba(29, 29, 29, 0.8);
    -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
    color: #fff;
    font-size: 16px;
    z-index: 2;
    opacity: 0;
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    pointer-events: none;
}

#course #carousel-slider .open-cover p {
    position: relative;
    display: inline-block;
    padding-left: 22px;
}

#course #carousel-slider .open-cover p:after,
#course #carousel-slider .open-cover p:before {
    display: block;
    width: 15px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    margin-top: -1px;
    background-color: #fff;
}

#course #carousel-slider .open-cover p:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

#course #carousel-slider .btn-slide {
    border: 0;
}

#course #carousel-slider .btn-slide:hover {
    background-color: #fff;
}

#course #carousel-slider .btn-slide:hover .bars:after,
#course #carousel-slider .btn-slide:hover .bars:before {
    background-color: #1d1d1d;
}

#course #overlay-slider {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    padding-top: 10%;
    opacity: 1;
    background-color: #000;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
    z-index: 10;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

#course #overlay-slider > .inner {
    position: relative;
    height: 100%;
}

#course #overlay-slider .col-body {
    width: 33.333%;
    position: relative;
    padding: 55px 40px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

#course #overlay-slider .cell {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: 1;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

#course #overlay-slider .cell .container {
    height: 100%;
    padding-bottom: 60px;
}

#course #overlay-slider .cell.is-active {
    opacity: 1;
    z-index: 10;
}

#course #overlay-slider .cell-head {
    position: relative;
    height: 100%;
    background-color: #f5f5f5;
    text-align: center;
    overflow: hidden;
}

#course #overlay-slider .cell-body h3 {
    margin-bottom: 30px;
    font-size: 18px;
    color: #fff;
}

#course #overlay-slider .cell-body p {
    font-size: 16px;
    color: #fff;
}

#course #overlay-slider .cell-foot {
    position: absolute;
    bottom: 55px;
    left: 40px;
}

#course #overlay-slider .cell-foot p {
    font-size: 12px;
    color: #fff;
}

#course #overlay-slider .cell-foot p span {
    margin-right: 10px;
}

#course #overlay-slider .cell-foot p span:before {
    display: inline-block;
    content: "#";
}

#course #overlay-slider .cell-img {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 1;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
}

#course #overlay-slider .cell-img.is-vertical {
    padding-top: 20px;
    padding-bottom: 20px;
}

#course #overlay-slider .cell-img.is-vertical img {
    width: auto;
    height: 100%;
}

#course #overlay-slider .cell-img.is-horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-left: 20px;
    padding-right: 20px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#course #overlay-slider .cell-img.is-horizontal img {
    width: 100%;
    height: auto;
}

#course #overlay-slider .cell-img.is-webdesign {
    padding-top: 28px;
    padding-left: 20px;
    padding-right: 20px;
}

#course #overlay-slider .cell-img.is-webdesign img {
    width: 100%;
    height: auto;
}

#course #overlay-slider .btn-slide {
    z-index: 12;
}

#course #overlay-slider .btn-slide > .inner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: 50% 50% no-repeat;
    background-size: cover;
    opacity: 0.2;
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
}

#course #overlay-slider .btn-slide:hover > .inner {
    opacity: 0.5;
}

#course #overlay-slider .btn-slide.is-changing > .inner {
    opacity: 0;
}

#course #overlay-slider .btn-close {
    position: absolute;
    top: 100px;
    right: 40px;
}

#course #overlay-slider.is-hidden {
    opacity: 0;
    pointer-events: none;
}

@media screen and (max-width: 768px) {
    #course .block-floating .unit-rect {
        padding: 30px;
    }

    #course .block-floating .block-img {
        width: 80%;
        height: auto;
    }

    #course .block-floating .block-img img {
        width: 100%;
        height: auto;
    }

    #course .btn-slide {
        width: 40px;
        height: 90px;
        top: 0;
        margin-top: 19%;
    }

    #course .btn-slide:hover {
        width: 40px;
    }

    #course #main-visual {
        margin-bottom: -50px;
    }

    #course #video-section {
        margin-bottom: 0;
    }

    #course #video-section .section-head {
        margin-bottom: -2px;
    }

    #course #video-section .section-head .block-img {
        top: 0;
    }

    #course #video-section .section-body {
        padding-top: 0;
        padding-left: 25px;
        color: #fff;
    }

    #course #illust-section .section-body {
        padding-top: 0;
        padding-left: 25px;
        color: #fff;
    }

    #course #video-section .section-body:before {
        display: none;
    }

    #course #video-section .section-body .container {
        padding-bottom: 40px;
        background-color: #020202;
    }

    #course #illust-section .section-body .container {
        padding-bottom: 40px;
        background-color: #020202;
    }

    #course #video-section .section-body .cols {
        display: block;
    }

    #course #illust-section .section-body .cols {
        display: block;
    }

    #course #video-section .section-body .block {
        width: 100%;
        margin-bottom: 40px;
    }

    #course #illust-section .section-body .block {
        width: 100%;
        margin-bottom: 40px;
    }

    #course #video-section .section-body .block:last-child {
        margin-bottom: 0;
    }

    #course #video-section .section-body .block p {
        color: #fff;
    }

    #course #illust-section .section-body .block p {
        color: #fff;
    }

    #course #illust-section,
    #course #illust-section .section-head {
        margin-bottom: 0;
    }

    #course #illust-section .section-body {
        padding-top: 0;
        background-color: transparent;
        padding-left: 25px;
    }

    #course #illust-section .section-body > .inner {
        position: relative;
        background-color: #020202;
        overflow: hidden;
    }

    #course #illust-section .block-title {
        text-align: left;
        padding-left: 30px;
        margin-bottom: 25px;
    }

    #course #illust-section .block-title h2 {
        font-size: 26px;
        color: #fff;
    }

    #course #illust-section #slide-indicator {
        display: block;
        position: absolute;
        top: 2px;
        right: 25px;
        font-size: 14px;
        line-height: 1;
    }

    #course #illust-section #slide-indicator:before {
        display: block;
        width: 24px;
        height: 1px;
        content: "";
        position: absolute;
        top: 12px;
        left: 50%;
        margin-left: -12px;
        background-color: #7d7d7d;
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg);
    }

    #course #illust-section #slide-indicator #numerator {
        display: inline-block;
        color: #fff;
        padding-right: 12px;
        vertical-align: top;
    }

    #course #illust-section #slide-indicator #denominator {
        display: inline-block;
        width: 25px;
        color: #7d7d7d;
        padding-top: 10px;
        text-align: right;
        vertical-align: bottom;
    }


    #course #design-section,
    #course #illust-section .section-head {
        margin-bottom: 0;
    }

    #course #design-section .section-body {
        padding-top: 0;
        background-color: transparent;
        padding-left: 25px;
    }

    #course #design-section .section-body > .inner {
        position: relative;
        background-color: #020202;
        overflow: hidden;
    }

    #course #design-section .block-title {
        text-align: left;
        padding-left: 30px;
        margin-bottom: 25px;
    }

    #course #design-section .block-title h2 {
        font-size: 26px;
        color: #fff;
    }

    #course #design-section #slide-indicator {
        display: block;
        position: absolute;
        top: 2px;
        right: 25px;
        font-size: 14px;
        line-height: 1;
    }

    #course #design-section #slide-indicator:before {
        display: block;
        width: 24px;
        height: 1px;
        content: "";
        position: absolute;
        top: 12px;
        left: 50%;
        margin-left: -12px;
        background-color: #7d7d7d;
        -webkit-transform: rotate(-40deg);
        transform: rotate(-40deg);
    }

    #course #design-section #slide-indicator #numerator {
        display: inline-block;
        color: #fff;
        padding-right: 12px;
        vertical-align: top;
    }

    #course #design-section #slide-indicator #denominator {
        display: inline-block;
        width: 25px;
        color: #7d7d7d;
        padding-top: 10px;
        text-align: right;
        vertical-align: bottom;
    }


    #course #coding-section {
        margin-bottom: 60px;
    }

    #course #vtuber-section {
        margin-bottom: 40px;
    }

    #course #vtuber-section .section-head {
        margin-bottom: 0;
    }

    #course #vtuber-section .section-body {
        padding-top: 0;
        padding-bottom: 60px;
        padding-left: 25px;
        background-color: transparent;
    }

    #course #vtuber-section .section-body > .inner {
        background-color: #020202;
    }

    #course #vtuber-section .block-head {
        padding-left: 30px;
    }

    #course #vtuber-section .block-head h2 {
        text-align: left;
        font-size: 26px;
        color: #fff;
    }

    #course #vtuber-section .block-body {
        display: block;
        padding-left: 25px;
        padding-right: 25px;
        padding-bottom: 45px;
    }

    #course #vtuber-section .col {
        border-right: 0;
        margin-bottom: 30px;
    }

    #course #vtuber-section .col:first-child {
        border-left: 0;
    }

    #course #vtuber-section .col:last-child {
        margin-bottom: 0;
    }

    #course #vtuber-section .col-head {
        margin-bottom: 10px;
    }

    #course #vtuber-section .col-head small {
        color: #fff;
    }

    #course #vtuber-section .col-body {
        text-align: left;
    }

    #course #vtuber-section .col-body h3,
    #course #vtuber-section .col-body p {
        color: #fff;
    }

    #course #carousel-slider {
        position: relative;
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 40px;
    }

    #course #carousel-slider .cell {
        padding-left: 0;
        padding-right: 0;
        pointer-events: none;
    }

    #course #carousel-slider .cell-body {
        margin-bottom: 25px;
    }

    #course #carousel-slider .cell-body h3,
    #course #carousel-slider .cell-body p {
        color: #fff;
    }

    #course #carousel-slider .cell-foot {
        padding-left: 0;
        padding-right: 0;
    }

    #course #carousel-slider .cell-foot span {
        display: block;
    }
}

#support {
    overflow-x: hidden;
}

#support #message-section {
    position: relative;
    padding-top: 100px;
    margin-bottom: 220px;
}

#support #message-section .section-img {
    position: absolute;
    width: 680px;
    height: 680px;
    top: -80px;
    right: 40px;
    z-index: 1;
}

#support #message-section .section-img img {
    width: 100%;
    height: auto;
}

#support #message-section > .inner {
    position: relative;
    padding-left: 50px;
    z-index: 2;
}

#support #message-section .section-title {
    margin-bottom: 30px;
}

#support #message-section .section-head {
    margin-bottom: 50px;
}

#support #message-section .section-head h3 {
    line-height: 1.5;
    font-size: 32px;
    letter-spacing: 0.15em;
}

#support #message-section .section-body p {
    letter-spacing: 0.15em;
    font-size: 16px;
}

#support #interview-section {
    margin-bottom: 190px;
}

#support #interview-section .section-head {
    margin-bottom: 130px;
    padding-left: 60px;
}

#support #interview-section .block-floating .block-img {
    height: auto;
}

#support #interview-section .block-floating .unit-rect {
    max-width: 640px;
    background-color: transparent;
}

#support #interview-section .block-floating .unit-rect:hover a {
    background-color: #fff;
    color: #2d2d2d;
    -webkit-transform: translateX(-40px);
    transform: translateX(-40px);
}

#support #interview-section .block-floating .unit-rect:hover .interviewer-title .bar {
    background-color: #2d2d2d;
}

#support #interview-section .block-floating .unit-rect:hover .ui-label .bars {
    -webkit-transform: translateX(-100%) scale(0.5);
    transform: translateX(-100%) scale(0.5);
}

#support #interview-section .block-floating .unit-rect:hover .ui-label .bars:after,
#support #interview-section .block-floating .unit-rect:hover .ui-label .bars:before {
    background-color: #2d2d2d;
}

#support #ideal-candidate-section #interview-section .block-floating .unit-rect:hover .ui-label .section-body:before,
#support #interview-section .block-floating .unit-rect:hover .ui-label #ideal-candidate-section .section-body:before,
#support #interview-section .block-floating .unit-rect:hover .ui-label .r-fonts {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

#support #interview-section .block-floating .unit-rect a {
    background-color: #020202;
    -webkit-transition: color 0.4s, background-color 0.4s, -webkit-transform 0.4s;
    transition: color 0.4s, background-color 0.4s, -webkit-transform 0.4s;
    transition: color 0.4s, background-color 0.4s, transform 0.4s;
    transition: color 0.4s, background-color 0.4s, transform 0.4s,
        -webkit-transform 0.4s;
}

#support #interview-section .block-floating .unit-head h3 {
    line-height: 1;
    font-size: 36px;
}

#support #interview-section .block-floating .unit-body {
    margin-bottom: 0;
}

#support #interview-section .block-floating .unit-body h2 {
    font-size: 22px;
    line-height: 1.8;
    letter-spacing: 0.15em;
}

#support #interview-section .block-floating .unit-body p {
    letter-spacing: 0.15em;
}

#support #interview-section .block-floating .unit-foot {
    display: none;
}

#support #interview-section .block-floating .interviewer-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    line-height: 1;
    font-size: 14px;
    margin-bottom: 25px;
}

#support #interview-section .block-floating .interviewer-title span {
    margin-right: 20px;
}

#support #interview-section .block-floating .interviewer-title .interview-text {
    margin-right: 5px;
}

#support #interview-section .block-floating .interviewer-title .bar {
    display: inline-block;
    width: 20px;
    height: 1px;
    background-color: #fff;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

#support #ideal-candidate-section #interview-section .block-floating .interviewer-title .section-body:before,
#support #interview-section .block-floating .interviewer-title #ideal-candidate-section .section-body:before,
#support #interview-section .block-floating .interviewer-title .r-fonts {
    font-size: 16px;
}

#support #interview-section .block-floating .ui-label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 50px;
    right: 60px;
    line-height: 1;
    font-size: 16px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#support #interview-section .block-floating .ui-label .bars {
    display: block;
    position: relative;
    width: 38px;
    height: 38px;
    -webkit-transition: -webkit-transform 0.4s;
    transition: -webkit-transform 0.4s;
    transition: transform 0.4s;
    transition: transform 0.4s, -webkit-transform 0.4s;
}

#support #interview-section .block-floating .ui-label .bars:after,
#support #interview-section .block-floating .ui-label .bars:before {
    display: block;
    width: 100%;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    margin-top: -1px;
    background-color: #fff;
    -webkit-transition: background-color 0.4s;
    transition: background-color 0.4s;
}

#support #interview-section .block-floating .ui-label .bars:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

#support #ideal-candidate-section #interview-section .block-floating .ui-label .section-body:before,
#support #interview-section .block-floating .ui-label #ideal-candidate-section .section-body:before,
#support #interview-section .block-floating .ui-label .r-fonts {
    position: absolute;
    display: block;
    top: 50%;
    left: 0;
    margin-top: -0.5em;
    text-align: center;
    opacity: 0;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
    -webkit-transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: opacity 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, opacity 0.4s;
    transition: transform 0.4s, opacity 0.4s, -webkit-transform 0.4s;
}

#support #interview-section .block-floating.no1 {
    margin-bottom: 250px;
}

#support #interview-section .block-floating.no1 .block-img {
    right: -60px;
}

#support #interview-section .block-floating.no2 {
    margin-bottom: 250px;
    padding-left: 40px;
}

#support #interview-section .block-floating.no2 .block-img {
    right: 0;
}

#support #interview-section .block-floating.no3 .block-img {
    right: -120px;
}

#support #ideal-candidate-section {
    padding-top: 80px;
    padding-bottom: 70px;
    margin-bottom: 120px;
    background-color: #fff;
}

#support #ideal-candidate-section .container {
    padding-left: 0;
    padding-right: 0;
}

#support #ideal-candidate-section .section-head {
    margin-bottom: 60px;
    padding-left: 40px;
    padding-right: 40px;
}

#support #ideal-candidate-section .section-body {
    position: relative;
}

#support #ideal-candidate-section .section-body .row {
    position: relative;
    margin-bottom: 60px;
    z-index: 2;
}

#support #ideal-candidate-section .section-body .row:last-child {
    margin-bottom: 0;
}

#support #ideal-candidate-section .section-body .col {
    text-align: center;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    border-right: 1px solid #d2d2d2;
}

#support #ideal-candidate-section .section-body .col:first-child {
    border-left: 1px solid #d2d2d2;
}

#support #ideal-candidate-section .section-body .col h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 120px;
    line-height: 1.2;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: 400;
    font-size: 36px;
    color: #d2d2d2;
}

#support #ideal-candidate-section .section-body .col h4 {
    margin-bottom: 15px;
    line-height: 1;
    font-size: 18px;
}

#support #ideal-candidate-section .section-body .col p {
    font-size: 14px;
    color: #606060;
}

#support #ideal-candidate-section .section-title {
    margin-right: 60px;
}

#support #ideal-candidate-section .section-lead p {
    margin-top: -4px;
    font-size: 16px;
}

#support #job-opening-type-section {
    margin-bottom: 120px;
    overflow: hidden;
}

#support #job-opening-type-section .section-head {
    text-align: center;
    margin-bottom: 60px;
}

#support #job-opening-type-section .section-body.no-employee {
    text-align: center;
}

#support #job-opening-type-section .section-body.no-employee h3 {
    font-size: 18px;
    color: #606060;
}

#support #job-opening-type-section .tab-navigation {
    width: 255px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

#support #job-opening-type-section .tab-select {
    display: none;
}

#support #job-opening-type-section .tab-body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 70px 60px 80px;
    background-color: #020202;
    color: #fff;
}

#support #job-opening-type-section .tab-body > .inner {
    position: relative;
}

#support #job-opening-type-section .tab-list {
    margin-bottom: 10px;
}

#support #job-opening-type-section .tab-list button {
    position: relative;
    width: 100%;
    height: 100px;
    padding-left: 30px;
    max-width: 230px;
    border: 0;
    background-color: #fff;
    text-align: left;
    color: #2d2d2d;
    font-size: 14px;
    -webkit-transition: color 0.4s, background-color 0.4s;
    transition: color 0.4s, background-color 0.4s;
}

#support #job-opening-type-section .tab-list button:after,
#support #job-opening-type-section .tab-list button:before {
    display: block;
    width: 6px;
    height: 1px;
    content: "";
    position: absolute;
    top: 50%;
    right: 10px;
    background-color: #020202;
    -webkit-transform-origin: 100% 50%;
    transform-origin: 100% 50%;
}

#support #job-opening-type-section .tab-list button:before {
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
}

#support #job-opening-type-section .tab-list button:after {
    -webkit-transform: rotate(-30deg);
    transform: rotate(-30deg);
}

#support #job-opening-type-section .tab-list button .arr {
    position: absolute;
    width: 13px;
    height: 100%;
    top: 0;
    right: -12px;
}

#support #job-opening-type-section .tab-list button .arr:after,
#support #job-opening-type-section .tab-list button .arr:before {
    display: block;
    width: 100%;
    height: 50%;
    content: "";
    position: absolute;
    right: 0;
    background-color: #fff;
    -webkit-transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: background-color 0.4s, -webkit-transform 0.4s;
    transition: transform 0.4s, background-color 0.4s;
    transition: transform 0.4s, background-color 0.4s, -webkit-transform 0.4s;
}

#support #job-opening-type-section .tab-list button .arr:before {
    top: 0;
    -webkit-transform-origin: 100% 100%;
    transform-origin: 100% 100%;
}

#support #job-opening-type-section .tab-list button .arr:after {
    bottom: 0;
    -webkit-transform-origin: 100% 0;
    transform-origin: 100% 0;
}

#support #ideal-candidate-section #job-opening-type-section .tab-list button .section-body:before,
#support #job-opening-type-section .tab-list button #ideal-candidate-section .section-body:before,
#support #job-opening-type-section .tab-list button .r-fonts {
    font-size: 16px;
}

#support #job-opening-type-section .tab-list button.is-current,
#support #job-opening-type-section .tab-list button:hover {
    background-color: #020202;
    color: #fff;
}

#support #job-opening-type-section .tab-list button.is-current .arr:after,
#support #job-opening-type-section .tab-list button.is-current .arr:before,
#support #job-opening-type-section .tab-list button:hover .arr:after,
#support #job-opening-type-section .tab-list button:hover .arr:before {
    background-color: #020202;
}

#support #job-opening-type-section .tab-list button.is-current .arr:before,
#support #job-opening-type-section .tab-list button:hover .arr:before {
    -webkit-transform: skew(14deg);
    transform: skew(14deg);
}

#support #job-opening-type-section .tab-list button.is-current .arr:after,
#support #job-opening-type-section .tab-list button:hover .arr:after {
    -webkit-transform: skew(-14deg);
    transform: skew(-14deg);
}

#support #job-opening-type-section .tab-list button.is-current {
    pointer-events: none;
}

#support #job-opening-type-section .table-group {
    margin-bottom: 60px;
}

#support #job-opening-type-section .table-list th {
    width: 160px;
}

@media screen and (max-width: 768px) {
    #support #message-section {
        padding-top: 40%;
        margin-bottom: 60px;
    }

    #support #message-section .section-img {
        width: 77%;
        height: auto;
        left: 0;
    }

    #support #message-section > .inner {
        position: relative;
        top: 0;
        left: 0;
        padding-left: 25px;
        padding-right: 25px;
    }

    #support #message-section .section-head {
        margin-bottom: 30px;
    }

    #support #message-section .section-head h3 {
        font-size: 7vw;
        font-weight: 700;
    }

    #support #interview-section {
        margin-bottom: 90px;
    }

    #support #interview-section .container {
        padding-right: 0;
    }

    #support #interview-section .section-head {
        margin-bottom: 40px;
        padding-left: 0;
    }

    #support #interview-section .block-img {
        width: 92.85714%;
        height: 0;
        left: -25px;
        padding-bottom: 92.85714%;
    }

    #support #interview-section .block-img .parallax-inner {
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        background: 50% 50% no-repeat;
        background-size: cover;
    }

    #support #interview-section .block-img img {
        display: none;
    }

    #support #interview-section .block-floating {
        padding-top: 250px;
    }

    #support #interview-section .block-floating .unit-head {
        margin-bottom: 10px;
    }

    #support #interview-section .block-floating .unit-head h3 {
        font-size: 26px;
        margin-bottom: 0;
    }

    #support #interview-section .block-floating .unit-body h2 {
        margin-bottom: 20px;
    }

    #support #interview-section .block-floating .unit-body h2 br,
    #support #interview-section .block-floating .unit-body p {
        display: none;
    }

    #support #interview-section .block-floating .unit-foot {
        display: block;
    }

    #support #interview-section .block-floating .interviewer-title span {
        margin-right: 10px;
    }

    #support #interview-section .block-floating .interviewer-title .interview-text {
        display: none;
    }

    #support #interview-section .block-floating .interviewer-title .interview-num {
        margin-right: 0;
    }

    #support #interview-section .block-floating .ui-label {
        display: none;
    }

    #support #interview-section .block-floating.no1,
    #support #interview-section .block-floating.no2 {
        padding-left: 10px;
        margin-bottom: 60px;
    }

    #support #interview-section .block-floating.no3 {
        padding-left: 10px;
    }

    #support #ideal-candidate-section {
        padding-top: 60px;
        padding-bottom: 60px;
        margin-bottom: 75px;
    }

    #support #ideal-candidate-section .section-head {
        display: block;
        padding-left: 25px;
        padding-right: 25px;
    }

    #support #ideal-candidate-section .section-title {
        margin-bottom: 30px;
    }

    #support #ideal-candidate-section .section-body .row {
        display: block;
        padding-left: 25px;
        padding-right: 25px;
        margin-bottom: 0;
    }

    #support #ideal-candidate-section .section-body .row:last-child .col:last-child {
        border-bottom: 1px solid #d2d2d2;
    }

    #support #ideal-candidate-section .section-body .col {
        padding-top: 30px;
        padding-bottom: 25px;
        text-align: left;
        border-top: 1px solid #d2d2d2;
        border-right: 0;
    }

    #support #ideal-candidate-section .section-body .col:first-child {
        border-left: 0;
    }

    #support #ideal-candidate-section .section-body .col h3 {
        display: block;
        height: auto;
        margin-bottom: 10px;
    }

    #support #ideal-candidate-section .section-body .col h4 {
        margin-bottom: 10px;
    }

    #support #job-opening-type-section {
        margin-bottom: 90px;
    }

    #support #job-opening-type-section .section-head {
        text-align: left;
        margin-bottom: 35px;
    }

    #support #job-opening-type-section .section-body {
        display: block;
    }

    #support #job-opening-type-section .tab-navigation {
        width: 100%;
    }

    #support #job-opening-type-section .tab-body {
        padding: 40px 30px 45px;
    }

    #support #job-opening-type-section .tab-group {
        display: none;
    }

    #support #job-opening-type-section .tab-select {
        display: block;
        position: relative;
        width: 100%;
        height: 60px;
        margin-bottom: 30px;
        background-color: #020202;
    }

    #support #job-opening-type-section .tab-select select {
        position: relative;
        width: 100%;
        height: 100%;
        line-height: 1;
        color: #fff;
        font-size: 16px;
        padding-left: 30px;
        outline: none;
        border: 0;
        text-overflow: "";
        background: none;
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
        cursor: pointer;
        z-index: 2;
    }

    #support #job-opening-type-section .tab-select:after,
    #support #job-opening-type-section .tab-select:before {
        display: block;
        width: 1px;
        height: 7px;
        content: "";
        position: absolute;
        top: 50%;
        right: 20px;
        background-color: #fff;
        -webkit-transform-origin: 50% 100%;
        transform-origin: 50% 100%;
        z-index: 10;
    }

    #support #job-opening-type-section .tab-select:before {
        -webkit-transform: rotate(30deg);
        transform: rotate(30deg);
        display: none;
    }

    #support #job-opening-type-section .tab-select:after {
        -webkit-transform: rotate(-30deg);
        transform: rotate(-30deg);
        display: none;
    }

    #support #job-opening-type-section .tab-select .arr {
        position: absolute;
        width: 100%;
        height: 30px;
        bottom: -14px;
        right: 0;
        z-index: 1;
    }

    .is-landing #support #job-opening-type-section .tab-select .arr {
        bottom: -27px;
    }

    #support #job-opening-type-section .tab-select .arr:after,
    #support #job-opening-type-section .tab-select .arr:before {
        display: block;
        width: 50%;
        height: 100%;
        content: "";
        position: absolute;
        bottom: 0;
        background-color: #020202;
        z-index: 1;
    }

    #support #job-opening-type-section .tab-select .arr:before {
        right: 1px;
        -webkit-transform-origin: 0 100%;
        transform-origin: 0 100%;
        -webkit-transform: skewY(-5deg);
        transform: skewY(-5deg);
    }

    #support #job-opening-type-section .tab-select .arr:after {
        left: 1px;
        -webkit-transform-origin: 100% 100%;
        transform-origin: 100% 100%;
        -webkit-transform: skewY(5deg);
        transform: skewY(5deg);
    }

    #support #job-opening-type-section .table-group {
        margin-bottom: 0;
    }
}

#contact {
    padding-bottom: 120px;
}

#contact .section-head {
    padding-top: 80px;
    margin-bottom: 80px;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

#contact .section-lead p {
    font-size: 16px;
    margin-bottom: 10px;
}

#contact .section-lead p:last-child {
    margin-bottom: 0;
}

#contact .form-side {
    width: 255px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

#contact .form-side .unit {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100px;
    padding-left: 30px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background-color: #fff;
    line-height: 1;
}

#contact .form-side .unit.is-current {
    background-color: #020202;
    color: #fff;
}

#contact .form-side .unit h2 {
    font-size: 16px;
    margin-bottom: 10px;
}

#contact .form-side .unit p {
    font-size: 14px;
}

#contact .form-body {
    padding: 60px 60px 80px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    background-color: #fff;
}

#contact .form-body .table-list:first-child {
    padding-top: 0;
    vertical-align: middle;
}

#contact .form-body .table-list:first-child th {
    padding-top: 0;
}

#contact .form-body th {
    width: 220px;
    padding-top: 55px;
}

#contact .form-body textarea {
    width: 100%;
}

#contact .form-body pre {
    padding: 0;
}

#contact .form-body .back {
    margin-top: 20px;
}

#contact .table-group {
    margin-bottom: 70px;
}

#contact #form-complete p {
    font-size: 16px;
    margin-bottom: 20px;
}

#contact #form-complete p:last-child {
    margin-bottom: 0;
}

#contact #form-complete .block-body {
    position: relative;
    margin-bottom: 60px;
}

#contact .fade-enter-active,
#contact .fade-leave-active {
    -webkit-transition: opacity 0.5s;
    transition: opacity 0.5s;
}

#contact .fade-enter,
#contact .fade-leave-to {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
}

@media screen and (max-width: 768px) {
    #contact {
        padding-bottom: 0;
    }

    #contact .section-head {
        display: block;
        padding-top: 70px;
        padding-left: 25px;
        padding-right: 25px;
    }

    #contact .section-title {
        margin-bottom: 35px;
    }

    #contact .form-side {
        position: relative;
        width: 100%;
        height: 150px;
    }

    #contact .form-side .unit {
        display: block;
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0;
        left: 0;
        opacity: 0;
        padding-top: 60px;
        padding-left: 25px;
    }

    #contact .form-side .unit h2 {
        font-size: 26px;
        margin-bottom: 20px;
    }

    #contact .form-side .unit.is-current {
        opacity: 1;
    }

    #contact .form-body {
        padding: 40px 25px 80px;
    }

    #contact .form-body th {
        padding-top: 15px;
    }

    #contact .form-body .table-list {
        margin-bottom: 10px;
    }

    #contact #contact-section .container {
        padding-left: 0;
        padding-right: 0;
    }

    #contact #vue-form {
        display: block;
    }
}

#privacy-policy #main-visual {
    margin-bottom: -80px;
}

#privacy-policy #main-visual br {
    display: none;
}

#privacy-policy #privacy-section {
    max-width: 1060px;
    padding: 80px 60px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 120px;
    background-color: #fff;
}

#privacy-policy #privacy-section .block {
    color: #606060;
    font-size: 14px;
    margin-bottom: 40px;
    letter-spacing: 0.15em;
}

#privacy-policy #privacy-section .block:last-child {
    margin-bottom: 0;
}

#privacy-policy #privacy-section .block.no3 {
    margin-bottom: 80px;
}

#privacy-policy #privacy-section .block p {
    line-height: 2.4;
    margin-bottom: 10px;
}

#privacy-policy #privacy-section .block p:last-child {
    margin-bottom: 0;
}

#privacy-policy #privacy-section .block a {
    color: #732c8b;
    text-decoration: underline;
}

#privacy-policy #privacy-section .block table {
    width: 100%;
    margin-bottom: 25px;
}

#privacy-policy #privacy-section .block table:last-child {
    margin-bottom: 0;
}

#privacy-policy #privacy-section .block td,
#privacy-policy #privacy-section .block th {
    width: 50%;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 40px;
    border-bottom: 5px solid #fff;
}

#privacy-policy #privacy-section .block th {
    border-left: 1px solid #2d2d2d;
}

#privacy-policy #privacy-section .block td {
    border-left: 1px solid rgba(45, 45, 45, 0.2);
}

#privacy-policy #privacy-section .block-head {
    position: relative;
    padding-top: 15px;
    padding-bottom: 16px;
    margin-bottom: 30px;
}

#privacy-policy #privacy-section .block-head:after,
#privacy-policy #privacy-section .block-head:before {
    display: block;
    width: 30px;
    height: 1px;
    content: "";
    position: absolute;
    background-color: #2d2d2d;
    left: 0;
}

#privacy-policy #privacy-section .block-head:before {
    top: 0;
}

#privacy-policy #privacy-section .block-head:after {
    bottom: 0;
}

#privacy-policy #privacy-section .block-head h2 {
    line-height: 1.3;
    color: #2d2d2d;
    font-size: 16px;
}

#privacy-policy #privacy-section .block-body {
    margin-bottom: 30px;
}

#privacy-policy #privacy-section .block-body:last-child {
    margin-bottom: 0;
}

#privacy-policy #privacy-section .block-foot.right {
    text-align: right;
}

#privacy-policy #privacy-section .block-foot.right p {
    display: inline-block;
    text-align: left;
    line-height: 2;
}

#privacy-policy #privacy-section .contact-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 30px 40px;
    margin-bottom: 80px;
    border: 1px solid #2d2d2d;
}

#privacy-policy #privacy-section .contact-block p {
    line-height: 2;
    margin-bottom: 20px;
}

#privacy-policy #privacy-section .contact-block .block-head {
    padding-top: 0;
    padding-bottom: 0;
    margin-right: 45px;
    margin-bottom: 25px;
}

#privacy-policy #privacy-section .contact-block .block-head:after,
#privacy-policy #privacy-section .contact-block .block-head:before {
    display: none;
}

#privacy-policy #privacy-section .contact-block .block-head h2 {
    white-space: nowrap;
    color: #2d2d2d;
    font-size: 36px;
}

@media screen and (max-width: 768px) {
    #privacy-policy #main-visual {
        margin-bottom: 0;
    }

    #privacy-policy #main-visual br {
        display: block;
    }

    #privacy-policy #main-visual .split-part.parts9 {
        margin-left: -0.25em;
    }

    #privacy-policy #privacy-section {
        padding: 60px 25px;
        margin-bottom: 60px;
    }

    #privacy-policy #privacy-section .block,
    #privacy-policy #privacy-section .block.no3 {
        margin-bottom: 40px;
    }

    #privacy-policy #privacy-section .block p {
        line-height: 2;
        margin-bottom: 10px;
    }

    #privacy-policy #privacy-section .block a {
        font-size: 13px;
        letter-spacing: 0.05em;
    }

    #privacy-policy #privacy-section .block table {
        display: none;
    }

    #privacy-policy #privacy-section .block .list {
        margin-bottom: 20px;
    }

    #privacy-policy #privacy-section .block .list:last-child {
        margin-bottom: 0;
    }

    #privacy-policy #privacy-section .block .list li {
        position: relative;
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

    #privacy-policy #privacy-section .block .list li:first-child {
        color: #2d2d2d;
    }

    #privacy-policy #privacy-section .block .list li:first-child:after {
        background-color: #2d2d2d;
    }

    #privacy-policy #privacy-section .block .list li:after {
        display: block;
        width: 40px;
        height: 1px;
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        background-color: rgba(45, 45, 45, 0.2);
    }

    #privacy-policy #privacy-section .block-head {
        margin-bottom: 20px;
    }

    #privacy-policy #privacy-section .block-head:after,
    #privacy-policy #privacy-section .block-head:before {
        width: 80px;
        background-color: rgba(45, 45, 45, 0.2);
    }

    #privacy-policy #privacy-section .block-head h2 {
        font-size: 14px;
    }

    #privacy-policy #privacy-section .block-body {
        margin-bottom: 10px;
    }

    #privacy-policy #privacy-section .contact-block {
        display: block;
        padding: 40px 30px;
    }

    #privacy-policy #privacy-section .contact-block .block-head {
        margin-right: 0;
    }

    #privacy-policy #privacy-section .contact-block .block-head h2 {
        font-size: 26px;
    }
}

.hs-input {
    color: #FFF;
}

.fa-twitter:before {
    content: '𝕏';
    font-family: unset;
    font-weight: bold;
}

.x_twi {
    width: 20px;
    background-color: #000;
    fill: #fff;
    border-radius: 5px;
    padding: 2px;
    margin-bottom: -3px;
}

.youtube_font {
    height: 26px;
    margin-bottom: -6px;
}

.kl-sns {
    margin: 10px;
}

.kl-sns a {
    margin: 3px;
}


@media screen and (max-width: 768px) {
    .x_twi {
        background-color: #fff;
        fill: #000;
    }

    .youtube_font {
        fill: #fff;
    }

    .kl-sns {
        width: 100%;
    }

}