:root {
    --blue: #007bff;
    --indigo: #6610f2;
    --purple: #6f42c1;
    --pink: #e83e8c;
    --red: #dc3545;
    --orange: #fd7e14;
    --yellow: #ffc107;
    --green: #28a745;
    --teal: #20c997;
    --cyan: #17a2b8;
    --white: #fff;
    --gray: #6c757d;
    --gray-dark: #343a40;
    --primary: #007bff;
    --secondary: #6c757d;
    --success: #28a745;
    --info: #17a2b8;
    --warning: #ffc107;
    --danger: #dc3545;
    --light: #f8f9fa;
    --dark: #343a40;
    --breakpoint-xs: 0;
    --breakpoint-sm: 576px;
    --breakpoint-md: 768px;
    --breakpoint-lg: 992px;
    --breakpoint-xl: 1200px;
    
}

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

html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent
}

@-ms-viewport {
    width: device-width
}

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

body {
    margin: 0;
  
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fff
}

[tabindex="-1"]:focus {
    outline: 0 !important
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;
    margin-bottom: .5rem
}

p {
    margin-top: 0;
    margin-bottom: 1rem
}

abbr[data-original-title],
abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0
}

address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit
}

dl,
ol,
ul {
    margin-top: 0;
    margin-bottom: 1rem
}

ol ol,
ol ul,
ul ol,
ul ul {
    margin-bottom: 0
}

dt {
    font-weight: 700
}

dd {
    margin-bottom: .5rem;
    margin-left: 0
}

blockquote {
    margin: 0 0 1rem
}

dfn {
    font-style: italic
}

b,
strong {
    font-weight: bolder
}

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

a {
    color: #007bff;
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects
}

a:hover {
    color: #0056b3;
    text-decoration: underline
}

a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none
}

a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
    color: inherit;
    text-decoration: none
}

a:not([href]):not([tabindex]):focus {
    outline: 0
}

code,
kbd,
pre,
samp {
   
    font-size: 1em
}

pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar
}

figure {
    margin: 0 0 1rem
}

img {
    vertical-align: middle;
    border-style: none
}

svg {
    overflow: hidden;
    vertical-align: middle
}

table {
    border-collapse: collapse
}

caption {
    padding-top: .75rem;
    padding-bottom: .75rem;
    color: #6c757d;
    text-align: left;
    caption-side: bottom
}

th {
    text-align: inherit
}

label {
    display: inline-block;
    margin-bottom: .5rem
}

button {
    border-radius: 0
}

button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color
}

button,
input,
optgroup,
select,
textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=reset],
[type=submit],
button,
html [type=button] {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    padding: 0;
    border-style: none
}

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

input[type=date],
input[type=datetime-local],
input[type=month],
input[type=time] {
    -webkit-appearance: listbox
}

textarea {
    overflow: auto;
    resize: vertical
}

fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0
}

legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal
}

progress {
    vertical-align: baseline
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    outline-offset: -2px;
    -webkit-appearance: none
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button
}

output {
    display: inline-block
}

summary {
    display: list-item;
    cursor: pointer
}

template {
    display: none
}

[hidden] {
    display: none !important
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: .5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    color: inherit
}

.h1,
h1 {
    font-size: 2.5rem
}

.h2,
h2 {
    font-size: 2rem
}

.h3,
h3 {
    font-size: 1.75rem
}

.h4,
h4 {
    font-size: 1.5rem
}

.h5,
h5 {
    font-size: 1.25rem
}

.h6,
h6 {
    font-size: 1rem
}


.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

@media (min-width:576px) {
    .container {
        max-width: 540px
    }
}

@media (min-width:768px) {
    .container {
        max-width: 720px
    }
}

@media (min-width:992px) {
    .container {
        max-width: 960px
    }
}

@media (min-width:1200px) {
    .container {
        max-width: 1140px
    }
}

.container-fluid {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto
}

.row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px
}

.no-gutters {
    margin-right: 0;
    margin-left: 0
}

.no-gutters>.col,
.no-gutters>[class*=col-] {
    padding-right: 0;
    padding-left: 0
}

.col,
.col-1,
.col-10,
.col-11,
.col-12,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-auto,
.col-lg,
.col-lg-1,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-auto,
.col-md,
.col-md-1,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-auto,
.col-sm,
.col-sm-1,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-auto,
.col-xl,
.col-xl-1,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 15px;
    padding-left: 15px
}

.col {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%
}

.col-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none
}

.col-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%
}

.col-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%
}

.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%
}

.col-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%
}

.col-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%
}

.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%
}

.col-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%
}

.col-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%
}

.col-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%
}

.col-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%
}

.col-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%
}

.col-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%
}


@media (min-width:576px) {
    .col-sm {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-sm-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none
    }

    .col-sm-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-sm-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-sm-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-sm-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-sm-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-sm-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-sm-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-sm-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-sm-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-sm-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-sm-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-sm-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-sm-first {
        -ms-flex-order: -1;
        order: -1
    }

    .order-sm-last {
        -ms-flex-order: 13;
        order: 13
    }

    .order-sm-0 {
        -ms-flex-order: 0;
        order: 0
    }

    .order-sm-1 {
        -ms-flex-order: 1;
        order: 1
    }

    .order-sm-2 {
        -ms-flex-order: 2;
        order: 2
    }

    .order-sm-3 {
        -ms-flex-order: 3;
        order: 3
    }

    .order-sm-4 {
        -ms-flex-order: 4;
        order: 4
    }

    .order-sm-5 {
        -ms-flex-order: 5;
        order: 5
    }

    .order-sm-6 {
        -ms-flex-order: 6;
        order: 6
    }

    .order-sm-7 {
        -ms-flex-order: 7;
        order: 7
    }

    .order-sm-8 {
        -ms-flex-order: 8;
        order: 8
    }

    .order-sm-9 {
        -ms-flex-order: 9;
        order: 9
    }

    .order-sm-10 {
        -ms-flex-order: 10;
        order: 10
    }

    .order-sm-11 {
        -ms-flex-order: 11;
        order: 11
    }

    .order-sm-12 {
        -ms-flex-order: 12;
        order: 12
    }

    .offset-sm-0 {
        margin-left: 0
    }

    .offset-sm-1 {
        margin-left: 8.333333%
    }

    .offset-sm-2 {
        margin-left: 16.666667%
    }

    .offset-sm-3 {
        margin-left: 25%
    }

    .offset-sm-4 {
        margin-left: 33.333333%
    }

    .offset-sm-5 {
        margin-left: 41.666667%
    }

    .offset-sm-6 {
        margin-left: 50%
    }

    .offset-sm-7 {
        margin-left: 58.333333%
    }

    .offset-sm-8 {
        margin-left: 66.666667%
    }

    .offset-sm-9 {
        margin-left: 75%
    }

    .offset-sm-10 {
        margin-left: 83.333333%
    }

    .offset-sm-11 {
        margin-left: 91.666667%
    }
}

@media (min-width:768px) {
    .col-md {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-md-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none
    }

    .col-md-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-md-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-md-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-md-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-md-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-md-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-md-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-md-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-md-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-md-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-md-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-md-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-md-first {
        -ms-flex-order: -1;
        order: -1
    }

    .order-md-last {
        -ms-flex-order: 13;
        order: 13
    }

    .order-md-0 {
        -ms-flex-order: 0;
        order: 0
    }

    .order-md-1 {
        -ms-flex-order: 1;
        order: 1
    }

    .order-md-2 {
        -ms-flex-order: 2;
        order: 2
    }

    .order-md-3 {
        -ms-flex-order: 3;
        order: 3
    }

    .order-md-4 {
        -ms-flex-order: 4;
        order: 4
    }

    .order-md-5 {
        -ms-flex-order: 5;
        order: 5
    }

    .order-md-6 {
        -ms-flex-order: 6;
        order: 6
    }

    .order-md-7 {
        -ms-flex-order: 7;
        order: 7
    }

    .order-md-8 {
        -ms-flex-order: 8;
        order: 8
    }

    .order-md-9 {
        -ms-flex-order: 9;
        order: 9
    }

    .order-md-10 {
        -ms-flex-order: 10;
        order: 10
    }

    .order-md-11 {
        -ms-flex-order: 11;
        order: 11
    }

    .order-md-12 {
        -ms-flex-order: 12;
        order: 12
    }

    .offset-md-0 {
        margin-left: 0
    }

    .offset-md-1 {
        margin-left: 8.333333%
    }

    .offset-md-2 {
        margin-left: 16.666667%
    }

    .offset-md-3 {
        margin-left: 25%
    }

    .offset-md-4 {
        margin-left: 33.333333%
    }

    .offset-md-5 {
        margin-left: 41.666667%
    }

    .offset-md-6 {
        margin-left: 50%
    }

    .offset-md-7 {
        margin-left: 58.333333%
    }

    .offset-md-8 {
        margin-left: 66.666667%
    }

    .offset-md-9 {
        margin-left: 75%
    }

    .offset-md-10 {
        margin-left: 83.333333%
    }

    .offset-md-11 {
        margin-left: 91.666667%
    }
}

@media (min-width:992px) {
    .col-lg {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-lg-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none
    }

    .col-lg-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-lg-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-lg-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-lg-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-lg-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-lg-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-lg-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-lg-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-lg-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-lg-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-lg-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-lg-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-lg-first {
        -ms-flex-order: -1;
        order: -1
    }

    .order-lg-last {
        -ms-flex-order: 13;
        order: 13
    }

    .order-lg-0 {
        -ms-flex-order: 0;
        order: 0
    }

    .order-lg-1 {
        -ms-flex-order: 1;
        order: 1
    }

    .order-lg-2 {
        -ms-flex-order: 2;
        order: 2
    }

    .order-lg-3 {
        -ms-flex-order: 3;
        order: 3
    }

    .order-lg-4 {
        -ms-flex-order: 4;
        order: 4
    }

    .order-lg-5 {
        -ms-flex-order: 5;
        order: 5
    }

    .order-lg-6 {
        -ms-flex-order: 6;
        order: 6
    }

    .order-lg-7 {
        -ms-flex-order: 7;
        order: 7
    }

    .order-lg-8 {
        -ms-flex-order: 8;
        order: 8
    }

    .order-lg-9 {
        -ms-flex-order: 9;
        order: 9
    }

    .order-lg-10 {
        -ms-flex-order: 10;
        order: 10
    }

    .order-lg-11 {
        -ms-flex-order: 11;
        order: 11
    }

    .order-lg-12 {
        -ms-flex-order: 12;
        order: 12
    }

    .offset-lg-0 {
        margin-left: 0
    }

    .offset-lg-1 {
        margin-left: 8.333333%
    }

    .offset-lg-2 {
        margin-left: 16.666667%
    }

    .offset-lg-3 {
        margin-left: 25%
    }

    .offset-lg-4 {
        margin-left: 33.333333%
    }

    .offset-lg-5 {
        margin-left: 41.666667%
    }

    .offset-lg-6 {
        margin-left: 50%
    }

    .offset-lg-7 {
        margin-left: 58.333333%
    }

    .offset-lg-8 {
        margin-left: 66.666667%
    }

    .offset-lg-9 {
        margin-left: 75%
    }

    .offset-lg-10 {
        margin-left: 83.333333%
    }

    .offset-lg-11 {
        margin-left: 91.666667%
    }
}

@media (min-width:1200px) {
    .col-xl {
        -ms-flex-preferred-size: 0;
        flex-basis: 0;
        -ms-flex-positive: 1;
        flex-grow: 1;
        max-width: 100%
    }

    .col-xl-auto {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: auto;
        max-width: none
    }

    .col-xl-1 {
        -ms-flex: 0 0 8.333333%;
        flex: 0 0 8.333333%;
        max-width: 8.333333%
    }

    .col-xl-2 {
        -ms-flex: 0 0 16.666667%;
        flex: 0 0 16.666667%;
        max-width: 16.666667%
    }

    .col-xl-3 {
        -ms-flex: 0 0 25%;
        flex: 0 0 25%;
        max-width: 25%
    }

    .col-xl-4 {
        -ms-flex: 0 0 33.333333%;
        flex: 0 0 33.333333%;
        max-width: 33.333333%
    }

    .col-xl-5 {
        -ms-flex: 0 0 41.666667%;
        flex: 0 0 41.666667%;
        max-width: 41.666667%
    }

    .col-xl-6 {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%
    }

    .col-xl-7 {
        -ms-flex: 0 0 58.333333%;
        flex: 0 0 58.333333%;
        max-width: 58.333333%
    }

    .col-xl-8 {
        -ms-flex: 0 0 66.666667%;
        flex: 0 0 66.666667%;
        max-width: 66.666667%
    }

    .col-xl-9 {
        -ms-flex: 0 0 75%;
        flex: 0 0 75%;
        max-width: 75%
    }

    .col-xl-10 {
        -ms-flex: 0 0 83.333333%;
        flex: 0 0 83.333333%;
        max-width: 83.333333%
    }

    .col-xl-11 {
        -ms-flex: 0 0 91.666667%;
        flex: 0 0 91.666667%;
        max-width: 91.666667%
    }

    .col-xl-12 {
        -ms-flex: 0 0 100%;
        flex: 0 0 100%;
        max-width: 100%
    }

    .order-xl-first {
        -ms-flex-order: -1;
        order: -1
    }

    .order-xl-last {
        -ms-flex-order: 13;
        order: 13
    }

    .order-xl-0 {
        -ms-flex-order: 0;
        order: 0
    }

    .order-xl-1 {
        -ms-flex-order: 1;
        order: 1
    }

    .order-xl-2 {
        -ms-flex-order: 2;
        order: 2
    }

    .order-xl-3 {
        -ms-flex-order: 3;
        order: 3
    }

    .order-xl-4 {
        -ms-flex-order: 4;
        order: 4
    }

    .order-xl-5 {
        -ms-flex-order: 5;
        order: 5
    }

    .order-xl-6 {
        -ms-flex-order: 6;
        order: 6
    }

    .order-xl-7 {
        -ms-flex-order: 7;
        order: 7
    }

    .order-xl-8 {
        -ms-flex-order: 8;
        order: 8
    }

    .order-xl-9 {
        -ms-flex-order: 9;
        order: 9
    }

    .order-xl-10 {
        -ms-flex-order: 10;
        order: 10
    }

    .order-xl-11 {
        -ms-flex-order: 11;
        order: 11
    }

    .order-xl-12 {
        -ms-flex-order: 12;
        order: 12
    }

    .offset-xl-0 {
        margin-left: 0
    }

    .offset-xl-1 {
        margin-left: 8.333333%
    }

    .offset-xl-2 {
        margin-left: 16.666667%
    }

    .offset-xl-3 {
        margin-left: 25%
    }

    .offset-xl-4 {
        margin-left: 33.333333%
    }

    .offset-xl-5 {
        margin-left: 41.666667%
    }

    .offset-xl-6 {
        margin-left: 50%
    }

    .offset-xl-7 {
        margin-left: 58.333333%
    }

    .offset-xl-8 {
        margin-left: 66.666667%
    }

    .offset-xl-9 {
        margin-left: 75%
    }

    .offset-xl-10 {
        margin-left: 83.333333%
    }

    .offset-xl-11 {
        margin-left: 91.666667%
    }
}

textarea {
    width: 100%;
}

@import url('https://fonts.googleapis.com/css2?family=Anton&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Pinyon+Script&display=swap');
@import url('https://fonts.googleapis.com/css2?family=BIZ+UDPGothic&display=swap');

@import url('https://fonts.cdnfonts.com/css/a-otf-shin-go-pro');


/* @font-face {
    font-family: 'YuminDB';
    src: url('../font/yumindb.ttf') format('truetype');
} */

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'noto-sans-cjk-jp', sans-serif;
    font-size: 18px;
}

/*=======  Common=========*/
.container {
    max-width: 1460px;
}

.sp-show {
    display: none;
}

.pc-none {
    display: none !important;
}

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

.sp-show767 {
    display: none;
}

.sp-none767 {
    display: block;
}

.mgt-10 {
    margin-top: 10px;
}

.mgt-20 {
    margin-top: 20px;
}

.mgt-30 {
    margin-top: 30px;
}

.mgt-40 {
    margin-top: 40px;
}

.mgt-60 {
    margin-top: 60px;
}

.mgt-80 {
    margin-top: 80px;
}

.mgt-100 {
    margin-top: 100px;
}

.mgb-10 {
    margin-bottom: 10px;
}

.mgb-20 {
    margin-bottom: 20px;
}

.mgb-30 {
    margin-bottom: 30px;
}

.mgb-40 {
    margin-bottom: 40px;
}

.mgb-60 {
    margin-bottom: 60px;
}

.mgb-80 {
    margin-bottom: 80px;
}

/*=======  Nav bar & menu =========*/
.menu-pc h1 {
    text-align: left;
    margin-bottom: 0;
}

.logo-header {
    padding-top: 5px;
}

.nav-flex {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding: 10px 0 20px;
    margin-bottom: 0;
}

.nav-item {
    list-style: none;
    padding: 8px 15px 10px 15px;
    position: relative;
    display: inline-block;
}

.nav-item:hover::before,
.nav-item.active::before {
    width: 100%;
    left: 0;
}

.nav-item:hover {
    color: rgba(0, 101, 187, 1);
}

.nav-item.active a {
    color: rgba(0, 101, 187, 1);
}

.active a {
    color: #007bff;
}

.nav-item:last-child {
    border-right: none;
}

.nav-item a {
    color: #000;
}

.nav-item a:hover {
    text-decoration: none;
    color: rgba(0, 101, 187, 1);
}

li.nav-item a img {
    /* height: 50%; */
}

.menu-sp {
    display: none;
}

.menu-pc {
    padding-left: 10px;
}

/*======= Main FV =========*/
#top-head,
#top-bar {
    /* transition: all 0.3s ease; */
}

#top-head {
    background-image: url(../images/bg-header.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    padding: 10px 25px;
}

#blog-head {
    background-image: url(../images/bg-blog_head.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    padding: 10px 25px;
}


#top-head h2 {
    font-size: 16px;
    font-weight: 400;
    font-family: "noto-sans-cjk-jp", sans-serif;
}


#top-head h2 span {
    font-family: 'A-OTF Shin Go Pro', sans-serif;
    font-weight: 700;
}


#top-bar {
    height: 64px;
    padding: 0 40px;
}

/* Add these styles for sticky header */
#top-head {
    position: fixed;
    top: 0px;
    left: 0;
    width: 100%;
    z-index: 1000;

    transition: top 0.3s ease;
}

.top-headline {
    position: fixed;
    top: 48px;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: white;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: top 0.3s ease;
}

.top-headline.sticky-header {
    top: 0;
}

/* Add padding to body when header becomes sticky */
body.has-sticky-header {
    /* padding-top: 140px; a */
    /* Adjust this value to match your header height */
}

#main {
    position: relative;
    height: 100%;
    width: 100%;
    z-index: 2;
    overflow: hidden;
}

#main .container-fluid {
    padding: 0;
}

#main h2 img {
    width: 100%;
}

.main-content-wrapper {
    position: relative;
}

.main-content {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 3%;
    width: 56%;
}

.main-content-text p {
    color: #333;
    font-size: 28px;
    font-weight: 700;
}

.main-content-text h3 {
    color: #333;
    font-size: 50px;
    font-weight: 500;
}

.main-content-btn {
    margin-top: 60px;
    width: 100%;
}

.search-bar {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 10px;
    text-align: center;
    font-family: 'noto sans jp', sans-serif;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    width: 100%;
    border: none;
    cursor: pointer;
    font-size: 20px;
}

.search-bar img {
    margin-right: 10px;
}

.search-content {
    display: flex;

    justify-content: center;
    background: rgba(118, 195, 237, 1);
    padding: 10px 15px;
    border-bottom-left-radius: 5px;
    border-bottom-right-radius: 5px;
}

.search-content-item {
    background: #fff;
    color: #000;
    padding: 10px;
    border-radius: 5px;
    flex: 100%;
    max-width: calc(100% / 4 - 10px);
    margin: 0 10px 0 0;
    text-align: center;
    position: relative;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);
    color: #000;
}

.search-content-item:hover {
    color: #000;
    text-decoration: none;
}

.search-content-item:last-child {
    margin-right: 0;
}

.search-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 100%;
    border: none;
    text-align: center;
    padding-right: 10px;
    background: #fff;
}

.search-content-item::after {
    content: "▼";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    font-size: 12px;
    color: rgba(0, 101, 187, 1);
}

.search-select:focus {
    outline: none;
    border-color: #007bff;
}

/* ========== Job Search Section ==========*/
#job-serach {
    padding: max(4.17vw, 50px) 0;
    background-image: url(../images/bg-light.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    min-height: 400px;
    margin-top: -10px;
}

.title-jp {
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    font-family: 'A-OTF Shin Go Pro', sans-serif;
}

.title-en {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    color: rgba(0, 151, 178, 1);
    font-family: 'noto sans jp', sans-serif;
}

.title-en2 {
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    color: rgba(0, 101, 187, 1);
    font-family: "noto-sans-cjk-jp", sans-serif;
}

#news {
    padding: max(4.17vw, 60px) 0;
    /* background: rgba(51, 51, 51, 1); */
}

.news-wrap {
    margin: 40px auto 0;
    display: flex;
    width: 60%;
    flex-wrap: wrap;
}

.news-date {
    flex: 100%;
    max-width: 15%;
    color: rgba(195, 34, 39, 1);
    font-weight: 700;
    padding-bottom: 20px;
}

.news-date a {
    color: #000;
}

.news-date a:hover {
    text-decoration: none;
    color: #000;
}

.news-title {
    flex: 100%;
    max-width: 85%;
    color: #000;
    padding-bottom: 20px;
}

.news-title a {
    color: #000;
}

.news-title a:hover {
    text-decoration: none;
    color: #000;
}

/* Footer Section */
footer {
    padding: 20px 0;
    background: rgba(235, 246, 252, 1);
    position: relative;
}

.footer-logo {
    margin-top: 35px;
    width: 90%;
}

.footer-logo img {
    max-width: 100%;
    width: 100%;
}

.footer-tel {
    font-size: 24px;
    font-weight: 700;
}

.footer-right {
    color: #000;
}

.footer-info {
    margin-top: 20px;
}

.footer-tel {
    color: #000;
}

.footer-tel:hover {
    text-decoration: none;
    color: #000;
}

.footer-top-text {
    font-family: 'noto-sans-cjk-jp', sans-serif;
}

.footer-company-name {
    font-family: 'A-OTF Shin Go Pro', sans-serif;
    font-weight: 700;
    font-size: 20px;
}

.footer-contact-info a {
    color: #000;
    margin-left: 10px;
}

.footer-contact-info a:hover {
    text-decoration: none;
    color: #000;
}

.footer-sns {
    position: relative;
    top: -15px;
}

.footer-sns a {
    margin-left: 0
}

.footer-sns a:first-child {
    margin-right: 10px;
    margin-left: 20px;
}

.info-tel {
    font-family: 'BIZ UDPGothic', sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.info-mail {
    font-family: 'noto-sans-cjk-jp', sans-serif;
}


/* ========== Lower Banner ==========*/
.banner-lower {
    position: relative;
    padding: 0;
    height: 400px;
}

.banner-img img {
    width: 100%;
    height: 400px;
}

.banner-txt {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 26px;
    font-weight: 700;
}

.banner-btn {
    position: absolute;
    bottom: 40px;
    right: 60px;
}



/* ========== Page 5 Contact =========== */
#contact {
    padding: max(4.17vw, 40px) 0;
}

.contact-form {
    width: 80%;
    margin: 40px auto 0;
    color: #000;
}

.form-group {
    /* display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    gap: 15px;
    flex-wrap: wrap; */
    /* Adds consistent spacing between label and input */
}

.form-group p {
    display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    gap: 15px;
    flex-wrap: wrap;
}

.form-group p label {
    flex: 100%;
    min-width: 280px;
    max-width: 20%;
    /* Adjust based on your longest label */
    white-space: nowrap;
    /* Prevents label from wrapping */
}

.form-group .required {
    color: #fff;
    background: rgba(199, 52, 32, 1);
    border-radius: 25px;
    margin-left: 5px;
    font-size: 18px;
    padding: 5px 30px;
    float: right;
}

.form-group p .wpcf7-form-control-wrap {
    flex: 1;
    padding: 8px;
    border: 1px solid #ccc;
    border-radius: 0;
    background-color: transparent;
    color: #000;
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.form-control {
    background: transparent;
    border: none;
}

textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required.form-control02 {
    background: transparent;
    border: none;
    width: 100%;
}

.form-group .form-control02 {
    flex: 1;
    /* Takes up remaining space */
    padding: 8px;
    border: 1px solid #ccc;
    background-color: transparent;
    color: #000;
}

/* Special styling for textarea */
.form-group textarea {
    height: 140px;
    flex: 1;
    color: #000;
    /* Adjust height as needed */
    resize: vertical;
    /* Allows vertical resizing */
}

.form-control {
    border: none !important;
}

.btn-submit {
    display: block;
    margin: 20px auto 0;
    cursor: pointer;
    background: transparent;
    border: none;
}

.wpcf7-form-control-wrap {
    display: inline-block;
}

.wpcf7-text:focus,
.wpcf7-textarea:focus {
    outline: none !important;
}

/* Remove blue glow/outline from Contact Form 7 inputs */
.wpcf7-form-control:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #ccc !important;
}

/* Specifically target input and textarea elements */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #ccc !important;
}

/* Override autofill background color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* For Firefox */
input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: #000 !important;
}

.btn-submit:focus {
    outline: -webkit-focus-ring-color none;
}


.blog_wrap {
    padding: max(4.17vw, 60px) 0;
    background: #000;
    color: #fff;
}

.blog-wrapper {
    margin-top: 40px;
}

/* ========== Conditions: Tabs =========== */
.tabs-wrap {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    justify-content: flex-start;
    margin-top: 60px;
}

.tab-item {
    flex: 100%;
    width: 200px;
    max-width: 300px;
    margin: 0 8px 0 0;
    color: rgba(0, 101, 187, 1);
    background: rgba(195, 230, 250, 1);
    border-bottom: none;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    padding: 15px 5px;
    text-align: center;
    font-size: 18px;
    cursor: pointer;
    align-content: center;
}

.tab-item img {
    margin-right: 10px;
}

.tab-item.active img,
.tab-item:hover img {
    filter: brightness(0) invert(1);
}

.tab-item:last-child {
    margin: 0;
    max-width: 300px;
}

.tab-item.active {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    position: relative;
}

.tab-item.active::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-top: 10px solid rgba(0, 101, 187, 1);
}

.tab-item:hover {
    background: rgba(0, 101, 187, 1);
    color: #fff;
}

.tabs-content {
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 0 0 70px;
    display: none;
    background: #fff;
}

.tabs-content.active {
    display: block;
}

.conditions-form {
    padding: 60px;
}

.type-form {
    padding: 60px;
}

.salary-form {
    padding: 60px 60px 60px 20px;
}

.checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 10px 15px;
}

.checkbox-wrapper input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.checkbox-wrapper label {
    cursor: pointer;
    margin: 0;
}

.checkbox-wrapper2 {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 10px 15px;
    margin-left: 50px;
    background: rgba(235, 246, 252, 1);
    margin-top: 20px;
}

.checkbox-wrapper2 input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    background: rgba(255, 243, 243, 1);
}

.checkbox-wrapper2 label {
    cursor: pointer;
    margin: 0;
}

.checkbox-wrapper3 {
    padding: 10px 15px;
    margin-left: 50px;
    margin-top: 10px;
    line-height: 2.4em;
}

.checkbox-wrapper3-item {
    margin-right: 7px;
    display: inline-block;
}

.checkbox-wrapper3 input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

input#check5,
input#check8 {
    margin-left: 20px;
}

.checkbox-wrapper3 label {
    cursor: pointer;
    margin: 0 20px 0 5px;
    position: relative;
    top: -2px;
}

.textbox-wrapper {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: 50px;
    margin-top: 10px;
}

.textbox-input {
    width: 25%;
    border: 1px solid rgba(0, 101, 187, 1);
    background: transparent;
    padding: 10px 30px;
}

.textbox-wrapper span {
    padding: 0 5px;
}

.search-btn {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 16px 35px;
    border: 1px solid rgba(0, 101, 187, 1);
    text-align: center;
    border-radius: 35px;
    cursor: pointer;
    margin: 40px auto 0;
    display: block;
    width: fit-content;
    font-weight: 700;
    width: 300px;

}

.arrow-pink {
    margin-left: 10px;
}

.list-btn {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 15px 20px;
    border: 1px solid rgba(0, 101, 187, 1);
    text-align: center;
    border-radius: 30px;
    width: fit-content;
    display: block;
    margin: 40px auto 0;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);

}

#job-serach .list-btn {
    background: #fff;
    color: rgba(0, 101, 187, 1);
    padding: 15px 20px;
    border: 1px solid rgba(0, 101, 187, 1);
    border-radius: 30px;
    width: 300px;

}


.list-btn:hover {
    text-decoration: none;
    color: #fff;
}

.list-btn img {
    margin-left: 10px;
}

.area-form {
    padding: 60px;
}

.area-map {
    padding: 60px;
    text-align: center;
}

.area-map img {
    max-width: 100%;
}

.area-form-item {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 10px 15px;
}

.area-form-item input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.area-form-item label {
    cursor: pointer;
    margin: 0;
}

.area-form-zone {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 10px 15px;
    margin-left: 50px;
    background: rgba(235, 246, 252, 1);
    margin-top: 20px;
}

.area-form-zone label {
    position: relative;
    top: 4px;
}

.area-form-zone input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    background: rgba(235, 246, 252, 1);
}



.area-form-zone1-city label,
.area-form-zone2-city label,
.area-form-zone3-city label,
.area-form-zone4-city label {
    cursor: pointer;
    margin-left: 3px;
    margin-bottom: 15px;
}


.area-form-zone-cities {
    margin-left: 50px;
}

.area-form-zone1-city {
    display: inline-block;
    width: fit-content;
    padding-right: 20px;
}

.area-form-zone2-city {
    display: inline-block;
    width: fit-content;
    padding-right: 20px;
}

.area-form-zone3-city {
    display: inline-block;
    width: fit-content;
    padding-right: 20px;
}

.area-form-zone4-city {
    display: inline-block;
    width: fit-content;
    padding-right: 20px;
}

.department-form {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 10px 15px;
    margin-left: 50px;
    background: rgba(235, 246, 252, 1);
    margin-top: 20px;
}

.department-form label {
    position: relative;
    top: 4px;
}

.department-form input[type="checkbox"] {
    width: 18px;
    height: 18px;
    cursor: pointer;
    background: rgba(235, 246, 252, 1);
}


/* Job Openings Section */
#job-openings {
    padding: max(4.17vw, 60px) 0;
}

#job-openings-list {
    margin: 0 auto;
    padding: 0 15px 60px;
    background-image: url(../images/bg-job.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

.job-opening-wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: center;
    max-width: 1460px;
    margin: 0 auto;
}

.job-opening-item {
    flex: 100%;
    max-width: calc(100% / 3 - 20px);
    margin: 0 20px 0 0;
    color: #000;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);
    background: #fff;
}

.job-opening-item:last-child {
    margin-right: 0;
}

.job-opening-item:hover {
    text-decoration: none;
    color: #000;
}

.job-opening-item-img img {
    width: 100%;
}

.job-opening-item-content {
    padding: 20px;
    background: #fff
}

.job-opening-item-table table {
    width: 100%;
}

.job-opening-item-table table tr {
    margin-bottom: 10px;
    /* Adjust value as needed */
    display: block;
    /* Required for margin to work on tr elements */
}

.job-opening-item-table table th {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    border: 1px solid rgba(0, 101, 187, 1);
    width: 100px;
    padding: 5px 10px;
    text-align: center;
    margin: 0 15px 0 0;
}

.job-opening-item-table table td:first-child {
    border: 1px solid rgba(51, 51, 51, 1);
    color: #000;
    width: 100px;
    padding: 5px 10px;
    text-align: center;
    margin: 0 15px 0 0;
    display: inline-block;
    /* Required for margin to work on td elements */
}

.job-opening-item-table table td:last-child {
    display: inline-block;
    vertical-align: top;
    padding-top: 4px;
    width: calc(100% - 120px);
}

.job-opening-job-details {
    margin: 40px 0;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* Recommended Job Openings Section */
#job-openings2 {
    padding: max(4.17vw, 60px) 0;
}

#job-openings-list2 {
    margin: 0 auto;
    padding: 0 15px 60px;
    background-image: url(../images/bg-job2.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

/* Useful Information Section */
#useful-information {
    padding: max(4.17vw, 40px) 0;
}

#useful-information-list {
    margin: 0 auto;
    padding: 0 15px 80px;
    background-image: url(../images/bg-info.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

.useful-information-wrap {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    justify-content: flex-start;
    max-width: 1460px;
    margin: 0 auto;
}

.useful-information-item {
    flex: 100%;
    max-width: calc(100% / 3 - 20px);
    margin: 0 20px 0 0;
    color: #000;
    background: #fff;
    padding: 15px;
    border: 1px solid rgba(217, 217, 217, 1);
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);
}

.useful-information-item2 {
    max-width: calc(100% / 2 - 20px);
    margin: 0 20px 30px 0;
    border: 1px solid rgba(0, 101, 187, 1);
}

.useful-information-item2 a {
    color: #000;
    text-decoration: none;
}

.useful-information-item2 a:hover {
    text-decoration: none;
    color: #000;
}

.useful-information-item:last-child {
    margin-right: 0;
}

.useful-information-item2:nth-child(2n) {
    margin-right: 0;
}

.useful-information-item:hover {
    text-decoration: none;
    color: #000;
}

.useful-information-item-img img {
    width: 100%;
}

.useful-information-item-img {
    padding: 0 15px;
}

.useful-information-item2 .useful-information-item-img {
    padding: 0;
}

.useful-information-item-content {
    margin-top: 10px;
}

.useful-information-details {
    padding: 0 10px
}

/* Service Introduction Section */
#service_introduction {
    padding: max(4.17vw, 60px) 0;
    background-image: url(../images/bg-service-intro.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

.service-desc {
    margin-top: 40px;
    text-align: center;
}

.service-btn-wrap {
    text-align: center;
}

.service-btn {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 15px 20px;
    border: 1px solid rgba(0, 101, 187, 1);
    text-align: center;
    border-radius: 30px;
    width: fit-content;
    display: inline-block;
    margin: 40px 10px 0 0;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);
    display: inline-flex;
    align-items: center;
    width: 300px;
}

.service-btn:hover {
    text-decoration: none;
    color: #fff;
}

.service-btn img {
    margin-left: 10px;
}

.contact-btn {
    background: rgba(0, 151, 178, 1);
    color: #fff;
    padding: 15px 20px;
    border: 1px solid rgba(0, 151, 178, 1);
    text-align: center;
    border-radius: 30px;
    width: fit-content;
    display: inline-block;
    margin: 40px auto 0;
    box-shadow: 2px 4px 4px rgba(0, 0, 0, 0.2);
    display: inline-flex;
    align-items: center;
}

.contact-btn:hover {
    text-decoration: none;
    color: #fff;
}

.contact-btn img:first-child {
    margin-right: 10px;
}

.contact-btn img::last-child {
    margin-left: 10px;
}

/* Blog/Jobs Main */
#blog-main {
    padding: 40px 0;
}

.blog-wrapper {
    border: 2px solid rgba(0, 101, 187, 1);
    padding: 40px 40px 80px;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 50%,
            rgba(239, 253, 255, 1) 75%,
            rgba(192, 226, 254, 1) 100%);
}

.blog-item .employee-type {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 5px 10px;
    width: 100px;
    text-align: center;
    font-weight: 700;
    margin-bottom: 30px;
}

.blog-item .employee-title {
    font-size: 24px;
    font-weight: 700;
    padding-bottom: 10px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(129, 128, 128, 1);
}

.blog-item .employee-info {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

.blog-item .employee-info-item {
    flex: 100%;
    max-width: calc(70% - 20px);
    margin: 0 20px 30px 0;
}

.blog-item .employee-info-img {
    flex: 100%;
    max-width: 30%;
    margin: 0 0 30px 0;
}

.blog-item .employee-info-img img {
    width: 100%;
}

.blog-item table.jobs-info {
    width: 100%;
}

.blog-item table.jobs-info tr {
    display: block;
    border-bottom: 1px solid rgba(129, 128, 128, 1);
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.blog-item table.jobs-info tr td:first-child {
    border: 1px solid rgba(0, 101, 187, 1);
    background: rgba(235, 246, 252, 1);
    padding: 5px 10px;
    text-align: center;
    width: 100px;
}

.blog-item table.jobs-info tr td:last-child {
    padding: 5px 10px 5px 40px;
}

.blog-item .job-details {
    padding: 20px 20px 40px 20px;
    background: #fff;
    border: 2px solid rgba(0, 101, 187, 1);
}

.blog-item .job-details-label {
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 5px 10px;
    text-align: center;
    width: 100px;
}

.blog-item .job-details-content {
    margin-top: 60px;
    padding: 0 40px;
    margin-bottom: 20px;
}

.single-head {
    padding: max(4.17vw, 60px) 0;
}

.single-head-title {
    border-bottom: 1px solid rgba(129, 128, 128, 1);
    padding-bottom: 15px;
    text-align: center;
    position: relative;
}

.single-head-title .job-type {
    position: absolute;
    top: -25px;
    left: 0;
    transform: translateY(-50%);
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 5px 15px;
    text-align: center;
    font-weight: 700;
}

.single-head-title .job-title {
    font-size: 30px;
    font-weight: 700;
    text-align: center;
}

.single-head-title .job-id {
    font-weight: 700;
}

.single-head-txt-feature {
    text-align: center;
    padding: 15px 0 0 0;
}

.single-head .last-update {
    display: block;
    text-align: right;
}

.single-content {
    padding-bottom: 80px;
}

.table-label {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 20px 40px;
    text-align: center;
    font-weight: 700;
    width: 240px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
}

table.table-single1 {
    width: 100%;
}

table.table-single1 tr td {
    width: 50%;
}

table.table-single1 tr td img {
    width: 100%;
}

table.table-single1 tr td:first-child {
    vertical-align: top;
}

.content__js {
    border: 1px solid rgba(0, 101, 187, 1);
    background: rgba(235, 246, 252, 1);
    padding: 25px 40px;
    display: block;
    margin-left: -1px;
    margin-top: -1px;
}

table.table-single1 tr td:first-child p {
    margin-bottom: 0;
}

table.table-single1 tr td:last-child {
    padding: 0 0 0 40px;
}

#blog-single2 {
    padding: 10px 0 100px;
    background: url(../images/bg-job-details.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
    margin-top: 20px;
}

table.table-single2 {
    width: 100%;
    background: #fff;
}

table.table-single2 tr td {
    padding: 20px;
    border: 1px solid rgba(145, 143, 143, 1);
    vertical-align: middle;
}

table.table-single2 tr td:first-child {
    width: 20%;
    font-weight: 700;
}

table.table-single2 tr td p {
    margin-bottom: 0;
}

.apply-btn {
    margin-top: 60px;
    background: rgba(195, 22, 85, 1);
    border: 1px solid rgba(195, 22, 85, 1);
}

.apply-btn:hover {
    background: #0097B2;
    border: 1px solid #0097B2;
}

.apply-btn2 {
    margin-top: -30px;
    margin-bottom: 80px;
    background: rgba(195, 22, 85, 1);
    border: 1px solid rgba(195, 22, 85, 1);
}

.apply-btn2:hover {
    background: #0097B2;
    border: 1px solid #0097B2;
}



#blog-single3 {
    padding: 40px 0 100px;
    background: url(../images/bg-job3.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

/* Page 3 Useful Information - Main */
.useful-information-main {
    margin-top: 40px;
}

.useful-information-sidebar {
    margin-top: 40px;
}

.useful-information-pagination {
    text-align: center;
    margin-top: 40px;
}

.useful-information-pagination a.page-numbers {
    border: 1px solid rgba(0, 101, 187, 1);
    color: #000;
    padding: 10px 20px;
    border-radius: 10px;
    text-decoration: none;
}

.useful-information-pagination a.page-numbers:hover {
    background: rgba(0, 101, 187, 1);
    color: #fff;
}

.useful-information-pagination .page-numbers.current {
    border: 1px solid rgba(0, 101, 187, 1);
    background: rgba(0, 101, 187, 1);
    color: #fff;
    padding: 10px 20px;
    border-radius: 10px;
    text-decoration: none
}

.useful-information-pagination .page-numbers {
    margin-right: 10px;
}

.useful-information-item-readmore {
    margin-top: 10px;
}

.useful-information-item-readmore a {
    color: #000;
}

.useful-information-item-readmore a:hover {
    color: rgba(0, 101, 187, 1);
    text-decoration: none;
}

.useful-information-item-readmore a img {
    margin-left: 5px;
}

.sidebar-item {
    margin-top: 40px;
    border: 1px solid rgba(0, 101, 187, 1);
    padding: 20px;
    background: rgba(235, 246, 252, 1);
}

.sidebar-item-title {
    position: relative;
    font-size: 21px;
}

.sidebar-item-title::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 80px;
    height: 3px;
    background: rgba(0, 101, 187, 1);
}

.sidebar-banner img {
    width: 100%;
}

.sidebar-item-content-item {
    display: flex;
    flex-wrap: wrap;
    color: rgba(51, 51, 51, 1);
    border-bottom: 1px solid rgba(182, 182, 182, 1);
    padding-top: 30px;
}

.sidebar-item-content-item:hover {
    color: rgba(0, 101, 187, 1);
    text-decoration: none;
}

.sidebar-item-content-item-img {
    flex: 100%;
    max-width: calc(100% / 2 - 10px);
    margin: 0 10px 30px 0;
}

.sidebar-item-content-item-img img {
    width: 100%;
}

.sidebar-item-content-item-title {
    flex: 100%;
    max-width: calc(100% / 2 - 10px);
    margin: 0 10px 30px 0;
}

/* Page 3 Useful Information - Single */
.post-title {
    font-size: 36px;
    font-weight: 700;
    border-bottom: 3px solid rgba(0, 101, 187, 1);
}

.post-date {
    font-weight: 700;
    margin: 10px 0 60px;
}

.post-image img {
    width: 100%;
}

.post-content {
    margin-top: 60px;
}

.table-contents {
    margin-top: 60px;
    border: 1px solid rgba(0, 101, 187, 1);
    background: rgba(235, 246, 252, 1);
    padding: 30px;
}

.table-contents h3 {
    text-align: center;
}

.table-contents h3 {
    font-size: 24px;
    font-weight: 700;
}

.tabel-contents-item {
    margin-top: 40px;
}

.tabel-contents-item a {
    display: block;
    color: #000;
    line-height: 2.4em;
}

.tabel-contents-item a:hover {
    text-decoration: none;
    color: #000;
}

.post-content-body {
    margin-top: 80px;
}

.post-content-body-title h2 {
    padding-bottom: 10px;
    border-bottom: 3px solid rgba(0, 101, 187, 1);
}

.post-content-body-article {
    margin-top: 30px;
}


.related-article {
    margin-top: 80px;
    border: 3px solid rgba(0, 101, 187, 1);
    position: relative;
    min-height: 150px;
}

.related-title {
    position: absolute;
    left: 40px;
    top: -40px;
}

.related-title h3 {
    color: rgba(0, 101, 187, 1);
    font-size: 20px;
    text-align: left;
    background: #fff;
    padding: 0 10px;
}

.related-title h3 img {
    margin-right: 10px;
}

.related-article-item {
    position: absolute;
    left: 60px;
    top: 50%;
}

.related-article-item a {
    font-size: 20px;
    color: #000;
    padding-left: 10px;
}

.related-article-item a:hover {
    color: #000;
    text-decoration: none;
}

.related-article-item ul li {
    list-style: none;
    position: relative;
}

.related-article-item ul li::before {
    content: '';
    position: absolute;
    left: -20px;
    top: 55%;
    transform: translateY(-50%);
    width: 15px;
    height: 15px;
    background: rgba(0, 101, 187, 1);
    border-radius: 50%;
}

.post-content #section1::before,
.post-content #section2::before,
.post-content #section3::before,
.post-content #section4::before {
    display: block;
    content: "";
    margin-top: -100px;
    height: 100px;
    visibility: hidden;
    pointer-events: none;
}

.useful-information-nav {
    margin-top: 80px;
    display: flex;
}

.useful-information-nav {
    margin-left: -10px;
    margin-right: -10px;
}

.useful-information-nav-item {
    width: 50%;
    color: #000;
    padding: 0 10px;
}

.useful-information-nav-item:hover {
    color: #000;
    text-decoration: none;
}

.useful-information-nav-item:first-child {
    border-right: 1px solid rgba(182, 182, 182, 1);
}

.useful-information-nav-item:last-child {
    margin-left: 40px;
}

.useful-information-nav-item:last-child p {
    text-align: right;
}

.useful-information-nav-item-prev {
    display: flex;
    gap: 10px;
}

.useful-information-nav-item-next {
    display: flex;
    gap: 10px;
}

.useful-information-nav-item-img {
    width: 130px;
    height: 100px;
}

.useful-information-nav-item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.useful-information-nav-item-title {}

.useful-information-nav-item .arrow-prev:before {
    font-family: "FontAwesome";
    content: "\f104";
    color: rgba(0, 101, 187, 1);
    margin-right: 15px;
}

.useful-information-nav-item .arrow-next:before {
    font-family: "FontAwesome";
    content: "\f105";
    color: rgba(0, 101, 187, 1);
    margin-left: 15px;
}

/*=========== Page Consultant ============*/
#consultant1 {

    padding: max(4.17vw, 35px) 0 max(5.2vw, 60px);
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 50%,
            rgba(239, 253, 255, 1) 75%,
            rgba(193, 226, 254, 0.5) 100%);
}

.consultant-info-wrap {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
}

.consultant-info {}

.consultant-info2 {
    display: flex;
    justify-content: center;
    margin-top: 10px;
    font-size: 32px;
    color: rgba(0, 101, 187, 1);
}

.consultant-name-jp {
    font-size: 48px;
    font-weight: 700;
    text-align: center;
    color: rgba(0, 101, 187, 1);
}

.consultant-name-en {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(24, 24, 24, 1);
}

.consultant-image {}

.consultant-image img {
    width: 100%;
}


.expertise-wrap {
    margin-top: 80px;
    border: 1px solid rgba(0, 101, 187, 1);
    background: rgba(235, 246, 252, 1);
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: stretch;
    min-height: 200px;
}

.expertise-title {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    font-size: 32px;
    padding: 10px 20px;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 200px;
}

.expertise-content {
    flex: 1;
    padding: 10px 20px;
    display: flex;
    align-items: center;
}

.title-consultant {
    text-align: center;
    color: rgba(0, 101, 187, 1);
    font-size: 40px;
    font-weight: 700;
}

.consultant-details-content {
    margin-top: 20px;
    border: 1px solid rgba(0, 101, 187, 1);
    background: rgba(235, 246, 252, 1);
    padding: 20px;
    min-height: 200px;
    display: flex;
    align-items: center;
}

.consultant-details-content p {
    margin: 0;
}

.contact-btn-wrap {
    text-align: center;
}

#consultant2 {
    padding: max(4.17vw, 35px) 0 max(5.2vw, 60px);
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 50%,
            rgba(239, 253, 255, 1) 75%,
            rgba(193, 226, 254, 0.5) 100%);
}

/*=========== Page Service ============*/
#service {
    padding: 80px 0;
    background: url(../images/bg-service.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

.service-intro-text {
    margin-top: 80px;
    color: rgba(51, 51, 51, 1);
}

#service-flow {
    padding: max(4.17vw, 60px) 0;
    background: linear-gradient(to bottom,
            rgba(255, 255, 255, 1) 30%,
            rgba(239, 253, 255, 1) 50%,
            rgba(193, 226, 254, 0.5) 100%);
}

.service-flow-main-text {
    margin: 40px 0 60px;
    color: rgba(51, 51, 51, 1);
}

.flow-wrapper {
    margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 2px solid rgba(0, 101, 187, 1);
}

.flow-wrapper:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.flow-wrapper-item-title {
    background: rgba(0, 101, 187, 1);
    color: #fff;
    font-size: 24px;
    font-weight: 700;
    padding: 15px 10px;
    border-top-right-radius: 15px;
    border-bottom-right-radius: 15px;
}

.flow-wrapper-body {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    background: #fff;
    border: 1px solid rgba(0, 101, 187, 1);
    border-radius: 10px;
    margin-top: 20px;
    padding: 0 10px;
}

.flow-wrapper-body-img {
    flex: 100%;
    max-width: calc(10% - 20px);
    margin: 0 20px 0 0;
}

.flow-wrapper-body-img img {
    width: 100%;
}

.flow-wrapper-body-text {
    flex: 100%;
    max-width: 90%;
    margin: 0 0 0 0;
    color: rgba(51, 51, 51, 1);
}

#benefits {
    padding: max(4.17vw, 60px) 0;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

.benefits-text {
    margin-top: 40px;
    color: rgba(51, 51, 51, 1);
}

.benefits-content {
    margin-top: 40px;
}

.benefits-content-wrapper {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    align-items: center;
    margin-top: 40px;
}

.benefits-content-img {
    flex: 100%;
    max-width: calc(40% - 30px);
    margin: 0 30px 30px 0;
}

.benefits-content-img img {
    width: 100%;
}

.benefits-content-text {
    flex: 100%;
    max-width: calc(60% - 30px);
    margin: 0 30px 30px 0;
}

.benefits-content-text-title {
    font-size: 24px;
    font-weight: 700;
    color: rgba(0, 151, 178, 1);
    margin-bottom: 20px;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

.benefits-content-text p {
    color: rgba(51, 51, 51, 1);
}

#message {
    padding: max(4.17vw, 60px) 0;
    background: url(../images/bg-message.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
    font-family: "noto-sans-cjk-jp", sans-serif;
}

.message-wrapper {
    max-width: 900px;
    margin: 0 auto;
}

.message-text {
    margin-top: 60px;
    color: rgba(51, 51, 51, 1);
}

.message-sign {
    text-align: right;
    color: rgba(51, 51, 51, 1);
    margin-top: 40px;
}

.ceo-name {
    font-size: 18px;
}

#operator {
    padding: max(4.17vw, 60px) 0;
    background: url(../images/bg-job4.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
    height: auto;
    width: 100%;
}

table.tbl-operator {
    width: 100%;
    border-collapse: collapse;
    margin-top: 80px;
}

table.tbl-operator tr td {
    padding: 20px;
    border: 1px solid rgba(0, 101, 187, 1);
    background: #fff;
}

table.tbl-operator tr td:first-child {
    background: rgba(239, 253, 255, 1);
    color: #000;
    font-weight: 700;
}

table.tbl-operator tr td a {
    color: #000;
}

table.tbl-operator tr td a:hover {
    color: #000;
    text-decoration: none;
}

.google-map {
    margin-top: 40px;
}

/* ========== Page Contact =========== */

.contact-form {
    width: 80%;
    margin: 40px auto 0;
}

.form-group {
    /* display: flex;
    align-items: flex-start;
    margin-bottom: 40px;
    gap: 15px;
    flex-wrap: wrap; */
    /* Adds consistent spacing between label and input */
}

.form-group p {
    display: flex;
    align-items: flex-start;
    margin-bottom: 30px;
    gap: 15px;
    flex-wrap: wrap;
}

.form-group p label {
    flex: 100%;
    min-width: 280px;
    max-width: 20%;
    /* Adjust based on your longest label */
    white-space: nowrap;
    /* Prevents label from wrapping */
}

.form-group3 p label {
    /* min-width: 200px; */
}

.form-group .required {
    color: #fff;
    background: rgba(0, 101, 187, 1);
    border-radius: 25px;
    margin-left: 5px;
    font-size: 18px;
    padding: 3px 40px;
    float: right;
}

.form-group p .wpcf7-form-control-wrap {
    flex: 1;
    padding: 8px;
    border: 1px solid rgba(0, 101, 187, 1);
    border-radius: 0;
    background-color: #fff;
    color: rgba(89, 89, 89, 1);
}

.form-group2 p .wpcf7-form-control-wrap {
    border: none;
}

.form-group3 p .wpcf7-form-control-wrap {
    flex: 1;
    padding: 8px;
    border: none;
    border-radius: 0;
    background-color: transparent;
    color: rgba(89, 89, 89, 1);
}

input.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.form-control {
    background: #fff;
    border: none;
    color: #000;
}

textarea.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required.form-control02 {
    background: #fff;
    border: none;
    width: 100%;
    color: #000;
}

.form-group .form-control02 {
    flex: 1;
    /* Takes up remaining space */
    padding: 8px;
    border: 1px solid #000;
    background-color: transparent;
    color: #000;
}

/* Special styling for textarea */
.form-group textarea {
    height: 140px;
    flex: 1;
    color: #000;
    /* Adjust height as needed */
    resize: vertical;
    /* Allows vertical resizing */
    border: none
}

.wpcf7-list-item {
    width: 210px;
}

.btn-submit {
    /* display: block;
    margin: 20px auto 0; */
    cursor: pointer;
    /* background: transparent;
    border: none; */
}

.wpcf7-form-control-wrap {
    display: inline-block;
}

.wpcf7-text:focus,
.wpcf7-textarea:focus {
    outline: none !important;
}

/* Remove blue glow/outline from Contact Form 7 inputs */
.wpcf7-form-control:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #ccc !important;
}

/* Specifically target input and textarea elements */
.wpcf7 input:focus,
.wpcf7 textarea:focus {
    box-shadow: none !important;
    outline: none !important;
    border-color: #ccc !important;
}

/* Override autofill background color */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 5000s ease-in-out 0s;
}

/* For Firefox */
input:autofill,
input:autofill:hover,
input:autofill:focus,
input:autofill:active {
    box-shadow: 0 0 0 30px transparent inset !important;
    -webkit-text-fill-color: #000 !important;
}

.btn-submit:focus {
    outline: -webkit-focus-ring-color none;
}

.btn-submit {
    background: rgba(0, 151, 178, 1);
    color: #fff;
    font-weight: 700;
    padding: 20px 60px;
    border-radius: 35px;
    text-decoration: none;
    width: fit-content !important;
    margin: 40px auto 0;
    border: none;
}

.btn-submit:hover {
    color: #fff !important;
    text-decoration: none;
}

.btn-submit img {
    margin-left: 20px;
}

input.form-control3 {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    margin-right: 10px;
}

.wpcf7-list-item {
    margin: 0 !important;
}

.btn_fix {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 3;
}

.text-black {
    color: #000 !important;
}

.hight_auto {
    min-height: auto;
}

.service-intro-text,
.benefits-text,
.service-flow-main-text {
    text-align: center;
}

.useful-information-details {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}

.any {
    color: #fff;
    background: #A5A5A5;
    border-radius: 25px;
    margin-left: 5px;
    font-size: 18px;
    padding: 3px 40px;
    float: right;
}

.flex_center {
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.flex_xcenter,
.contact-btn-wrap {
    display: flex;
    justify-content: center;
}

.list-btn img {
    margin-top: 2px;
}

.contact-btn img {
    margin-top: 2px;
}

.service-btn img {
    margin-top: 2px;
}

.btn-submit img {
    margin-top: -2px;
}

.form-group2 .wpcf7-list-item label {
    display: flex;
    align-items: center;
}

.d-inlineb {
    display: inline-block;
}

.container-full {
    width: calc(100% + 80px);
    margin-left: -40px;
}

/* menu button */
#nav-icon1 {
    width: 45px;
    height: 45px;
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    background-color: #fff;
    border: 1px solid rgba(0, 101, 187, 1);
    overflow: hidden;
}

#nav-icon1 span {
    display: block;
    position: absolute;
    height: 2.24px;
    width: 26px;
    background: rgba(0, 101, 187, 1);
    opacity: 1;
    left: 50%;
    -webkit-transform: rotate(0deg) translateX(-50%);
    -moz-transform: rotate(0deg) translateX(-50%);
    -o-transform: rotate(0deg) translateX(-50%);
    transform: rotate(0deg) translateX(-50%);
    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
    transition: .25s ease-in-out;
    border-radius: 999px;
}

#nav-icon1 span:nth-child(1) {
    top: 11px;
}

#nav-icon1 span:nth-child(2) {
    top: 20px;
}

#nav-icon1 span:nth-child(3) {
    top: 30px;
}

#nav-icon1.open span:nth-child(1) {
    top: 21px;
    left: 9px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    -o-transform: rotate(135deg);
    transform: rotate(135deg);
}

#nav-icon1.open span:nth-child(2) {
    opacity: 0;
    left: -60px;
}

#nav-icon1.open span:nth-child(3) {
    top: 21px;
    left: 9px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
    transform: rotate(-135deg);
}

.arrow-pink {
    margin-top: -3px;
}

main {
    margin-top: 112px;
}

.pagination {
    margin-bottom: 0 !important;
}

.list-btn,
.contact-btn {
    width: 300px;
}

.service-btn {
    justify-content: center;
}

#useful-information-list .list-btn {
    padding: 15px 10px;
    letter-spacing: -0.5px;
}

.link_reql {
    position: fixed;
    right: 45px;
    bottom: 50px;
    z-index: 10;
}

.form-group2 p {
    display: block;
}

.form-group2 .wpcf7-list-item-label {
    display: none;
}

.form-group2 p .wpcf7-form-control-wrap .wpcf7-list-item {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
}

.form-group2 p .wpcf7-form-control-wrap label {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
}

.form-group2 p .wpcf7-form-control-wrap {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
}

.d_in {
    display: inline-block;
}

.form-group2 .wpcf7-form-control-wrap {
    position: relative;
}

.form-group2 p .wpcf7-not-valid-tip {
    position: absolute;
    left: 0;
    top: 35px;
    width: 220px;
    left: 25px;
}

/*  */
.cpa h2 {
    position: relative;
    font-size: 28px;
    padding: 12px 0px 12px 24px;
    margin: 80px 0 50px;
}

.cpa h3 {
    position: relative;
    font-size: 22px;
    padding: 0 .5em .5em;
}

.cpa h3 {
    font-size: 22px;
    padding: 0 12px 12px;
    margin: 70px 0 40px;
}

.cpa li {
    line-height: 1.5;
    margin: .25em 0;
    position: relative;
}

.cpa ol {
    list-style: decimal;
    padding-left: 27px;
    margin-bottom: 35px;
}

.cpa h3::before {
    content: "";
    width: 100%;
    height: 2px;
    background: #FF6767;
    background: linear-gradient(90deg, rgba(0, 151, 178, 1) 0%, rgba(0, 151, 178, 1) 30%, rgba(233, 233, 233, 1) 30%);
}

.cpa h3:before {
    bottom: 0;
    display: block;
    left: 0;
    position: absolute;
    z-index: 0;
}

.cpa h2::before {
    position: absolute;
    display: block;
    pointer-events: none;
    content: "";
    left: 0;
    top: 0;
    width: 8px;
    height: 100%;
    background: #FF6767;
    background: linear-gradient(180deg, rgba(0, 151, 178, 1) 0%, rgba(0, 151, 178, 1) 50%, rgba(211, 227, 253, 1) 50%);
}

.cpa a {
    border: 1px solid #0097b2;
    color: #0097b2;
    border-radius: 99px;
    padding: 13px 27px;
    text-align: center;
    min-width: 300px;
}

.cpa a svg {
    fill: #0097b2;
}

.cpa ul {
    margin-bottom: 35px;
}

.cpa p {
    margin-bottom: 30px;
}

#privacy {
    margin-bottom: 90px;
}

.link_reqlsp {
    display: none;
}

.main-content-text {
    margin-left: 2.1vw;
}

.title_big {
    font-weight: bold;
    font-size: 130px !important;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 0 !important;
}

.title_xt {
    font-size: 58px !important;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    margin-bottom: 15px !important;
}

@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@700&display=swap');

.main_ctbanner1 {
    font-size: 20px !important;
    font-weight: bold;
    margin-bottom: 5px;
    background: #C7B864;
    background: linear-gradient(180deg, rgba(199, 184, 100, 1) 9%, rgba(211, 209, 168, 1) 56%, rgba(199, 184, 100, 1) 100%);
    text-align: center;
    color: #fff !important;
    padding: 5px !important;
}

.main_ctbanner2 {
    text-align: center;
    font-size: 20px !important;
    font-weight: bold;
    background-color: #fff;
    font-family: "Noto Serif JP", serif;
    font-weight: 700;
    padding: 6px !important;
}



.content__js span {
    display: inline-block;
}

.dot_line {
    position: relative;
    display: block !important;
    padding-left: 16px;
}

.dot_line::before {
    content: '・';
    position: absolute;
    left: 0;
    top: 0;
}

.row_s {
    display: block !important;
    padding-left: 70px;
}

.col__t {
    margin-left: -72px;
}

@media screen and (max-width:767px) {
    .row_s {
        padding-left: 60px;
    }

    .col__t {
        margin-left: -64px;
    }
}

@media screen and (max-width: 953px) {
    .wpcf7-form-control-wrap {
        width: 100%;
    }

    .form-group p {
        display: block !important;
    }
}


.text-justify {
    text-align: justify !important
}

.text-nowrap {
    white-space: nowrap !important
}

.text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}

.text-left {
    text-align: left !important
}

.text-right {
    text-align: right !important
}

.text-center {
    text-align: center !important
}
.d-inline{
    display: inline-block;
}
.d-none{
    display: none;
}
.jobs-info p{
    margin-bottom: 0;
}
.job_title input{
    width: 100%;
}
.job-id{
    display: inline-block;
}
.last-update{
    margin-top: 16px;
}

