@import url(https://fonts.googleapis.com/css?family=Average&display=swap);
*,
:after,
:before {
    box-sizing: border-box
}

:after,
:before {
    text-decoration: inherit;
    vertical-align: inherit
}

html {
    cursor: default;
    line-height: 1.5;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    -webkit-tap-highlight-color: transparent;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    word-break: break-word
}

body {
    margin: 0
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

dl dl,
dl ol,
dl ul,
ol dl,
ol ol,
ol ul,
ul dl,
ul ol,
ul ul {
    margin: 0
}

hr {
    height: 0;
    overflow: visible
}

main {
    display: block
}

nav ol,
nav ul {
    list-style: none;
    padding: 0
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle
}

audio,
video {
    display: inline-block
}

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

iframe,
img {
    border-style: none
}

svg:not([fill]) {
    fill: currentColor
}

svg:not(:root) {
    overflow: hidden
}

table {
    border-collapse: collapse
}

button,
input,
select {
    margin: 0
}

button {
    overflow: visible;
    text-transform: none
}

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

fieldset {
    border: 1px solid #a0a0a0;
    padding: .35em .75em .625em
}

input {
    overflow: visible
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    white-space: normal
}

progress {
    display: inline-block;
    vertical-align: baseline
}

select {
    text-transform: none
}

textarea {
    margin: 0;
    overflow: auto;
    resize: vertical
}

[type=checkbox],
[type=radio] {
    padding: 0
}

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

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto
}

::-webkit-input-placeholder {
    color: inherit;
    opacity: .54
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

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

::-moz-focus-inner {
    border-style: none;
    padding: 0
}

:-moz-focusring {
    outline: 1px dotted ButtonText
}

:-moz-ui-invalid {
    box-shadow: none
}

details,
dialog {
    display: block
}

dialog {
    background-color: #fff;
    border: solid;
    color: #000;
    height: -moz-fit-content;
    height: -webkit-fit-content;
    height: fit-content;
    left: 0;
    margin: auto;
    padding: 1em;
    position: absolute;
    right: 0;
    width: -moz-fit-content;
    width: -webkit-fit-content;
    width: fit-content
}

dialog:not([open]) {
    display: none
}

summary {
    display: list-item
}

canvas {
    display: inline-block
}

template {
    display: none
}

[tabindex],
a,
area,
button,
input,
label,
select,
summary,
textarea {
    touch-action: manipulation
}

[hidden] {
    display: none
}

[aria-busy=true] {
    cursor: progress
}

[aria-controls] {
    cursor: pointer
}

[aria-disabled=true],
[disabled] {
    cursor: not-allowed
}

[aria-hidden=false][hidden] {
    display: initial
}

[aria-hidden=false][hidden]:not(:focus) {
    clip: rect(0, 0, 0, 0);
    position: absolute
}

.p-top__recruit .list {
    flex-wrap: wrap;
}

.p-top__recruit .list .item {
    margin: 20px;
}

.c-button--doubled a:after {
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%) rotate(45deg) !important;
}


/* エントリーフォームチェックボックス */

.form-privacy {
    border: 1px solid #ccc;
    padding: 15px;
    margin-top: 30px;
}

.form-privacy label {
    cursor: pointer;
}

.form-privacy .required {
    display: inline-block;
    padding: 3px 8px;
    background: #d97037;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    margin-right: .5em;
    position: relative;
    top: -1px;
}

input[type=checkbox] {
    appearance: none;
    display: none;
}

input[type=checkbox]+span {
    display: inline-block;
    position: relative;
    vertical-align: middle;
    cursor: pointer;
    font-size: 22px;
}

input[type=checkbox]+span:before {
    font-family: "Font Awesome 5 Free";
    content: "\f0c8";
    display: inline-block;
    margin-right: 0.5em;
    font-weight: 400;
    top: -2px;
    position: relative;
}

input[type=checkbox]:checked+span:before {
    content: "\f14a";
    font-weight: 400;
}


/*! Flickity v2.2.1
https://flickity.metafizzy.co
---------------------------------------------- */

.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: none
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: transparent;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.flickity-button {
    position: absolute;
    background: hsla(0, 0%, 100%, .75);
    border: none;
    color: #333
}

.flickity-button:hover {
    background: #fff;
    cursor: pointer
}

.flickity-button:focus {
    outline: none;
    box-shadow: 0 0 0 5px #19f
}

.flickity-button:active {
    opacity: .6
}

.flickity-button:disabled {
    opacity: .3;
    cursor: auto;
    pointer-events: none
}

.flickity-button-icon {
    fill: currentColor
}

.flickity-prev-next-button {
    top: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transform: translateY(-50%)
}

.flickity-prev-next-button.previous {
    left: 10px
}

.flickity-prev-next-button.next {
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px
}

.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%
}

.flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -25px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1
}

.flickity-rtl .flickity-page-dots {
    direction: rtl
}

.flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    background: #333;
    border-radius: 50%;
    opacity: .25;
    cursor: pointer
}

.flickity-page-dots .dot.is-selected {
    opacity: 1
}

[data-sal] {
    transition-duration: .2s;
    transition-duration: var(--sal-duration, .2s);
    transition-delay: 0s;
    transition-delay: var(--sal-delay, 0s);
    transition-timing-function: ease;
    transition-timing-function: var(--sal-easing, ease)
}

[data-sal][data-sal-duration="200"] {
    transition-duration: .2s
}

[data-sal][data-sal-duration="250"] {
    transition-duration: .25s
}

[data-sal][data-sal-duration="300"] {
    transition-duration: .3s
}

[data-sal][data-sal-duration="350"] {
    transition-duration: .35s
}

[data-sal][data-sal-duration="400"] {
    transition-duration: .4s
}

[data-sal][data-sal-duration="450"] {
    transition-duration: .45s
}

[data-sal][data-sal-duration="500"] {
    transition-duration: .5s
}

[data-sal][data-sal-duration="550"] {
    transition-duration: .55s
}

[data-sal][data-sal-duration="600"] {
    transition-duration: .6s
}

[data-sal][data-sal-duration="650"] {
    transition-duration: .65s
}

[data-sal][data-sal-duration="700"] {
    transition-duration: .7s
}

[data-sal][data-sal-duration="750"] {
    transition-duration: .75s
}

[data-sal][data-sal-duration="800"] {
    transition-duration: .8s
}

[data-sal][data-sal-duration="850"] {
    transition-duration: .85s
}

[data-sal][data-sal-duration="900"] {
    transition-duration: .9s
}

[data-sal][data-sal-duration="950"] {
    transition-duration: .95s
}

[data-sal][data-sal-duration="1000"] {
    transition-duration: 1s
}

[data-sal][data-sal-duration="1050"] {
    transition-duration: 1.05s
}

[data-sal][data-sal-duration="1100"] {
    transition-duration: 1.1s
}

[data-sal][data-sal-duration="1150"] {
    transition-duration: 1.15s
}

[data-sal][data-sal-duration="1200"] {
    transition-duration: 1.2s
}

[data-sal][data-sal-duration="1250"] {
    transition-duration: 1.25s
}

[data-sal][data-sal-duration="1300"] {
    transition-duration: 1.3s
}

[data-sal][data-sal-duration="1350"] {
    transition-duration: 1.35s
}

[data-sal][data-sal-duration="1400"] {
    transition-duration: 1.4s
}

[data-sal][data-sal-duration="1450"] {
    transition-duration: 1.45s
}

[data-sal][data-sal-duration="1500"] {
    transition-duration: 1.5s
}

[data-sal][data-sal-duration="1550"] {
    transition-duration: 1.55s
}

[data-sal][data-sal-duration="1600"] {
    transition-duration: 1.6s
}

[data-sal][data-sal-duration="1650"] {
    transition-duration: 1.65s
}

[data-sal][data-sal-duration="1700"] {
    transition-duration: 1.7s
}

[data-sal][data-sal-duration="1750"] {
    transition-duration: 1.75s
}

[data-sal][data-sal-duration="1800"] {
    transition-duration: 1.8s
}

[data-sal][data-sal-duration="1850"] {
    transition-duration: 1.85s
}

[data-sal][data-sal-duration="1900"] {
    transition-duration: 1.9s
}

[data-sal][data-sal-duration="1950"] {
    transition-duration: 1.95s
}

[data-sal][data-sal-duration="2000"] {
    transition-duration: 2s
}

[data-sal][data-sal-delay="50"] {
    transition-delay: .05s
}

[data-sal][data-sal-delay="100"] {
    transition-delay: .1s
}

[data-sal][data-sal-delay="150"] {
    transition-delay: .15s
}

[data-sal][data-sal-delay="200"] {
    transition-delay: .2s
}

[data-sal][data-sal-delay="250"] {
    transition-delay: .25s
}

[data-sal][data-sal-delay="300"] {
    transition-delay: .3s
}

[data-sal][data-sal-delay="350"] {
    transition-delay: .35s
}

[data-sal][data-sal-delay="400"] {
    transition-delay: .4s
}

[data-sal][data-sal-delay="450"] {
    transition-delay: .45s
}

[data-sal][data-sal-delay="500"] {
    transition-delay: .5s
}

[data-sal][data-sal-delay="550"] {
    transition-delay: .55s
}

[data-sal][data-sal-delay="600"] {
    transition-delay: .6s
}

[data-sal][data-sal-delay="650"] {
    transition-delay: .65s
}

[data-sal][data-sal-delay="700"] {
    transition-delay: .7s
}

[data-sal][data-sal-delay="750"] {
    transition-delay: .75s
}

[data-sal][data-sal-delay="800"] {
    transition-delay: .8s
}

[data-sal][data-sal-delay="850"] {
    transition-delay: .85s
}

[data-sal][data-sal-delay="900"] {
    transition-delay: .9s
}

[data-sal][data-sal-delay="950"] {
    transition-delay: .95s
}

[data-sal][data-sal-delay="1000"] {
    transition-delay: 1s
}

[data-sal][data-sal-easing=linear] {
    transition-timing-function: linear
}

[data-sal][data-sal-easing=ease] {
    transition-timing-function: ease
}

[data-sal][data-sal-easing=ease-in] {
    transition-timing-function: ease-in
}

[data-sal][data-sal-easing=ease-out] {
    transition-timing-function: ease-out
}

[data-sal][data-sal-easing=ease-in-out] {
    transition-timing-function: ease-in-out
}

[data-sal][data-sal-easing=ease-in-cubic] {
    transition-timing-function: cubic-bezier(.55, .055, .675, .19)
}

[data-sal][data-sal-easing=ease-out-cubic] {
    transition-timing-function: cubic-bezier(.215, .61, .355, 1)
}

[data-sal][data-sal-easing=ease-in-out-cubic] {
    transition-timing-function: cubic-bezier(.645, .045, .355, 1)
}

[data-sal][data-sal-easing=ease-in-circ] {
    transition-timing-function: cubic-bezier(.6, .04, .98, .335)
}

[data-sal][data-sal-easing=ease-out-circ] {
    transition-timing-function: cubic-bezier(.075, .82, .165, 1)
}

[data-sal][data-sal-easing=ease-in-out-circ] {
    transition-timing-function: cubic-bezier(.785, .135, .15, .86)
}

[data-sal][data-sal-easing=ease-in-expo] {
    transition-timing-function: cubic-bezier(.95, .05, .795, .035)
}

[data-sal][data-sal-easing=ease-out-expo] {
    transition-timing-function: cubic-bezier(.19, 1, .22, 1)
}

[data-sal][data-sal-easing=ease-in-out-expo] {
    transition-timing-function: cubic-bezier(1, 0, 0, 1)
}

[data-sal][data-sal-easing=ease-in-quad] {
    transition-timing-function: cubic-bezier(.55, .085, .68, .53)
}

[data-sal][data-sal-easing=ease-out-quad] {
    transition-timing-function: cubic-bezier(.25, .46, .45, .94)
}

[data-sal][data-sal-easing=ease-in-out-quad] {
    transition-timing-function: cubic-bezier(.455, .03, .515, .955)
}

[data-sal][data-sal-easing=ease-in-quart] {
    transition-timing-function: cubic-bezier(.895, .03, .685, .22)
}

[data-sal][data-sal-easing=ease-out-quart] {
    transition-timing-function: cubic-bezier(.165, .84, .44, 1)
}

[data-sal][data-sal-easing=ease-in-out-quart] {
    transition-timing-function: cubic-bezier(.77, 0, .175, 1)
}

[data-sal][data-sal-easing=ease-in-quint] {
    transition-timing-function: cubic-bezier(.755, .05, .855, .06)
}

[data-sal][data-sal-easing=ease-out-quint] {
    transition-timing-function: cubic-bezier(.23, 1, .32, 1)
}

[data-sal][data-sal-easing=ease-in-out-quint] {
    transition-timing-function: cubic-bezier(.86, 0, .07, 1)
}

[data-sal][data-sal-easing=ease-in-sine] {
    transition-timing-function: cubic-bezier(.47, 0, .745, .715)
}

[data-sal][data-sal-easing=ease-out-sine] {
    transition-timing-function: cubic-bezier(.39, .575, .565, 1)
}

[data-sal][data-sal-easing=ease-in-out-sine] {
    transition-timing-function: cubic-bezier(.445, .05, .55, .95)
}

[data-sal][data-sal-easing=ease-in-back] {
    transition-timing-function: cubic-bezier(.6, -.28, .735, .045)
}

[data-sal][data-sal-easing=ease-out-back] {
    transition-timing-function: cubic-bezier(.175, .885, .32, 1.275)
}

[data-sal][data-sal-easing=ease-in-out-back] {
    transition-timing-function: cubic-bezier(.68, -.55, .265, 1.55)
}

[data-sal|=fade] {
    opacity: 0;
    transition-property: opacity
}

[data-sal|=fade].sal-animate,
body.sal-disabled [data-sal|=fade] {
    opacity: 1
}

[data-sal|=slide] {
    opacity: 0;
    transition-property: opacity, transform
}

[data-sal=slide-up] {
    transform: translateY(20%)
}

[data-sal=slide-down] {
    transform: translateY(-20%)
}

[data-sal=slide-left] {
    transform: translateX(20%)
}

[data-sal=slide-right] {
    transform: translateX(-20%)
}

[data-sal|=slide].sal-animate,
body.sal-disabled [data-sal|=slide] {
    opacity: 1;
    transform: none
}

[data-sal|=zoom] {
    opacity: 0;
    transition-property: opacity, transform
}

[data-sal=zoom-in] {
    transform: scale(.5)
}

[data-sal=zoom-out] {
    transform: scale(1.1)
}

[data-sal|=zoom].sal-animate,
body.sal-disabled [data-sal|=zoom] {
    opacity: 1;
    transform: none
}

[data-sal|=flip] {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transition-property: transform
}

[data-sal=flip-left] {
    transform: perspective(2000px) rotateY(-91deg)
}

[data-sal=flip-right] {
    transform: perspective(2000px) rotateY(91deg)
}

[data-sal=flip-up] {
    transform: perspective(2000px) rotateX(-91deg)
}

[data-sal=flip-down] {
    transform: perspective(2000px) rotateX(91deg)
}

[data-sal|=flip].sal-animate,
body.sal-disabled [data-sal|=flip] {
    transform: none
}

body {
    background: #fff;
    color: #000;
    font-family: -apple-system, BlinkMacSystemFont, Hiragino Sans, sans-serif;
    font-feature-settings: "palt";
    font-weight: 300
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-weight: 700
}

p {
    margin: 0
}

img {
    max-width: 100%
}

ol,
ul {
    padding: 0
}

dd,
dl,
ol,
ul {
    margin: 0
}

input,
select,
textarea {
    border-radius: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 1px solid;
    background: #fff
}

input::-webkit-search-decoration,
select::-webkit-search-decoration,
textarea::-webkit-search-decoration {
    display: none
}

input:focus,
select:focus,
textarea:focus {
    outline-offset: -2px
}

input::-webkit-input-placeholder,
select::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
    color: #aaa
}

input::-moz-placeholder,
select::-moz-placeholder,
textarea::-moz-placeholder {
    color: #aaa
}

input::placeholder,
select::placeholder,
textarea::placeholder {
    color: #aaa
}

input:-ms-input-placeholder,
select:-ms-input-placeholder,
textarea:-ms-input-placeholder {
    color: #aaa
}

input::-ms-input-placeholder,
select::-ms-input-placeholder,
textarea::-ms-input-placeholder {
    color: #aaa
}

input[type=email],
input[type=number],
input[type=tel],
input[type=text],
select[type=email],
select[type=number],
select[type=tel],
select[type=text],
textarea[type=email],
textarea[type=number],
textarea[type=tel],
textarea[type=text] {
    line-height: 1
}

input[type=email]::-webkit-input-placeholder,
input[type=number]::-webkit-input-placeholder,
input[type=tel]::-webkit-input-placeholder,
input[type=text]::-webkit-input-placeholder,
select[type=email]::-webkit-input-placeholder,
select[type=number]::-webkit-input-placeholder,
select[type=tel]::-webkit-input-placeholder,
select[type=text]::-webkit-input-placeholder,
textarea[type=email]::-webkit-input-placeholder,
textarea[type=number]::-webkit-input-placeholder,
textarea[type=tel]::-webkit-input-placeholder,
textarea[type=text]::-webkit-input-placeholder {
    padding-top: .1em
}

button,
input[type=button],
input[type=submit] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    cursor: pointer
}

::-moz-selection {
    background: #14485F;
    color: #fff
}

::selection {
    background: #14485F;
    color: #fff
}

@media only screen and (max-width:767px) {
    .u-sp {
        display: inherit!important
    }
}

.c-button,
.c-button--accent,
.c-button--accent-large,
.c-button--back,
.c-button--doubled,
.c-button--invert,
.c-button--invert-border {
    text-align: center
}

.c-button--accent-large a,
.c-button--accent a,
.c-button--back a,
.c-button--doubled a,
.c-button--invert-border a,
.c-button--invert a,
.c-button a {
    display: inline-block;
    min-width: 180px;
    padding: 15px 40px;
    background: #14485F;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    text-decoration: none;
    text-align: center;
    line-height: 1.33;
    transition: all .2s
}

@media only screen and (max-width:767px) {
    .c-button--accent-large a,
    .c-button--accent a,
    .c-button--back a,
    .c-button--doubled a,
    .c-button--invert-border a,
    .c-button--invert a,
    .c-button a {
        min-width: auto;
        padding: 8px 40px;
        font-size: 13px
    }
}

.c-button--accent-large a:hover,
.c-button--accent a:hover,
.c-button--back a:hover,
.c-button--doubled a:hover,
.c-button--invert-border a:hover,
.c-button--invert a:hover,
.c-button a:hover {
    opacity: .7
}

.c-button--accent-large a:after,
.c-button--accent a:after,
.c-button--back a:after,
.c-button--doubled a:after,
.c-button--invert-border a:after,
.c-button--invert a:after,
.c-button a:after {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 5px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg) translateY(-3px);
    content: ""
}

.c-button--accent-large a i,
.c-button--accent a i,
.c-button--back a i,
.c-button--doubled a i,
.c-button--invert-border a i,
.c-button--invert a i,
.c-button a i {
    display: inline-block;
    vertical-align: text-bottom;
    margin-right: 10px
}

.c-button--back a:before {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 5px;
    border-top: 1px solid;
    border-left: 1px solid;
    transform: rotate(-45deg) translateY(-3px);
    content: ""
}

.c-button--back a:after {
    display: none
}

.c-button--invert-border a,
.c-button--invert a {
    background: #fff;
    color: #14485F
}

.c-button--invert-border a {
    border: 1px solid
}

.c-button--doubled a:after {
    transform: rotate(45deg) translateY(-18px)
}

.c-button--accent a {
    background: #d97037
}

.c-button--accent-large a {
    padding-right: 80px;
    padding-left: 80px;
    background: #d97037
}

@media only screen and (max-width:767px) {
    .c-button--accent-large a {
        padding: 12px 60px
    }
}

.c-section {
    padding: 75px 0
}

@media only screen and (max-width:767px) {
    .c-section {
        padding: 40px 0 20px
    }
}

.c-section__heading,
.c-section__heading--invert,
.c-section__heading--invert-white,
.c-section__heading--white {
    position: relative;
    margin-bottom: 80px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .c-section__heading,
    .c-section__heading--invert,
    .c-section__heading--invert-white,
    .c-section__heading--white {
        margin-bottom: 40px
    }
}

.c-section__heading--invert-white:before,
.c-section__heading--invert:before,
.c-section__heading--white:before,
.c-section__heading:before {
    display: block;
    width: 72px;
    height: 37px;
    margin: 0 auto 20px;
    background: url(images/common/icon_heading-logo.png) 50%/contain no-repeat;
    content: ""
}

@media only screen and (max-width:767px) {
    .c-section__heading--invert-white:before,
    .c-section__heading--invert:before,
    .c-section__heading--white:before,
    .c-section__heading:before {
        width: 51.43px;
        height: 26.43px;
        margin-bottom: 10px
    }
}

.c-section__heading--invert-white:after,
.c-section__heading--invert:after,
.c-section__heading--white:after,
.c-section__heading:after {
    display: block;
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0;
    width: 20px;
    height: 3px;
    margin: 0 auto;
    background: #14485F;
    content: ""
}

@media only screen and (max-width:767px) {
    .c-section__heading--invert-white:after,
    .c-section__heading--invert:after,
    .c-section__heading--white:after,
    .c-section__heading:after {
        bottom: -14px;
        width: 12px;
        height: 2px
    }
}

.c-section__heading--invert-white .en,
.c-section__heading--invert .en,
.c-section__heading--white .en,
.c-section__heading .en {
    display: block;
    margin-bottom: 15px;
    color: #000;
    font-family: Average, 游ゴシック, Yu Gothic, Meiryo, sans-serif;
    font-size: 30px;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .c-section__heading--invert-white .en,
    .c-section__heading--invert .en,
    .c-section__heading--white .en,
    .c-section__heading .en {
        margin-bottom: 10px;
        font-size: 22px
    }
}

.c-section__heading--invert-white .ja,
.c-section__heading--invert .ja,
.c-section__heading--white .ja,
.c-section__heading .ja {
    display: block;
    color: #000;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .c-section__heading--invert-white .ja,
    .c-section__heading--invert .ja,
    .c-section__heading--white .ja,
    .c-section__heading .ja {
        font-size: 10px
    }
}

.c-section__heading--white .en,
.c-section__heading--white .ja {
    color: #fff
}

.c-section__heading--invert:before {
    background-image: url(images/common/icon_heading-logo--white.png)
}

.c-section__heading--invert:after {
    background: #fff
}

.c-section__heading--invert-white:before {
    background-image: url(images/common/icon_heading-logo--invert.png)
}

.c-section__heading--invert-white:after {
    background: #fff
}

.c-section__heading--invert-white .en,
.c-section__heading--invert-white .ja {
    color: #fff
}

.c-section__subheading {
    display: flex;
    align-items: center;
    position: relative;
    margin-bottom: 15px;
    font-size: 20px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .c-section__subheading {
        margin-bottom: 0;
        font-size: 14px
    }
}

.c-section__subheading:before {
    display: inline-block;
    width: 3px;
    height: 20px;
    background: #14485F;
    margin-right: 15px;
    content: ""
}

@media only screen and (max-width:767px) {
    .c-section__subheading:before {
        height: 16px;
        margin-right: 10px
    }
}

.c-contact {
    background: #dbe8f0
}

.c-contact .c-section {
    padding-bottom: 60px
}

@media only screen and (max-width:767px) {
    .c-contact .c-section {
        padding-top: 30px;
        padding-bottom: 30px
    }
}

.c-contact .wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 210px
}

@media only screen and (max-width:767px) {
    .c-contact .wrapper {
        padding: 0
    }
}

.c-contact .tel {
    display: flex;
    align-items: center;
    color: #000;
    text-decoration: none
}

@media only screen and (max-width:767px) {
    .c-contact .tel {
        justify-content: center;
        width: 100%
    }
}

@media only screen and (max-width:767px) {
    .c-contact .tel .icon-tel {
        width: 20px;
        height: auto
    }
}

.c-contact .tel .number {
    margin-left: 20px;
    font-size: 50px;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .c-contact .tel .number {
        margin-left: 5px;
        font-size: 25px
    }
}

.c-contact .fax {
    display: flex;
    align-items: center;
    margin-left: 35px
}

@media only screen and (max-width:767px) {
    .c-contact .fax {
        justify-content: center;
        width: 100%;
        margin-left: 0
    }
}

@media only screen and (max-width:767px) {
    .c-contact .fax .icon-fax {
        width: 20px;
        height: auto
    }
}

.c-contact .fax .number {
    margin-left: 20px;
    font-size: 40px;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .c-contact .fax .number {
        margin-left: 5px;
        font-size: 20px
    }
}

.c-contact .number {
    font-family: Average, 游ゴシック, Yu Gothic, Meiryo, sans-serif;
    letter-spacing: .02em
}

.c-contact .mail {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin-top: 20px;
    padding: 20px;
    background: #fff;
    color: #000;
    font-size: 20px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    transition: all .2s
}

@media only screen and (max-width:767px) {
    .c-contact .mail {
        width: 90%;
        margin-top: 10px;
        padding: 8px;
        font-size: 13px
    }
}

.c-contact .mail:hover {
    opacity: .7
}

@media only screen and (max-width:767px) {
    .c-contact .mail .icon-mail {
        width: 20px;
        height: auto
    }
}

.c-contact .mail .text {
    margin-left: 15px
}

@media only screen and (max-width:767px) {
    .c-contact .mail .text {
        margin-left: 8px
    }
}

.c-contact__menu {
    padding: 15px 0 20px;
    background: #14485F;
    color: #fff
}

@media only screen and (max-width:767px) {
    .c-contact__menu {
        padding: 15px 0
    }
}

.c-contact__menu .text {
    margin-bottom: 15px;
    font-size: 16px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .c-contact__menu .text {
        margin-bottom: 15px;
        font-size: 12px
    }
}

.c-contact__menu .list {
    position: relative;
    padding: 0 170px
}

@media only screen and (max-width:767px) {
    .c-contact__menu .list {
        padding: 0 0 0 120px
    }
}

.c-contact__menu .list:before {
    position: absolute;
    bottom: -20px;
    left: -55px;
    width: 202.5px;
    height: 193px;
    background: url(images/common/contact_figure.png) 50%/contain no-repeat;
    content: ""
}

@media only screen and (max-width:767px) {
    .c-contact__menu .list:before {
        bottom: -15px;
        left: -15px;
        width: 149px;
        height: 164.5px;
        background-image: url(images/common/contact_figure_sp.png)
    }
}

.c-contact__menu .list ul {
    display: flex;
    list-style: none
}

@media only screen and (max-width:767px) {
    .c-contact__menu .list ul {
        display: block;
        margin: -6px 0
    }
}

.c-contact__menu .list ul li {
    width: calc(50% - 10px);
    margin: 0 10px
}

@media only screen and (max-width:767px) {
    .c-contact__menu .list ul li {
        width: 100%;
        margin: 6px 0
    }
}

.c-contact__menu .list ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 80px;
    border: 1px solid;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    transition: all .2s
}

@media only screen and (max-width:767px) {
    .c-contact__menu .list ul li a {
        justify-content: flex-start;
        height: 40px;
        padding: 0 40px;
        font-size: 13px
    }
}

.c-contact__menu .list ul li a:hover {
    opacity: .7
}

.c-contact__menu .list ul li a:after {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: 10px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg);
    content: ""
}

@media only screen and (max-width:767px) {
    .c-contact__menu .list ul li a:after {
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
        right: 40px;
        width: 6px;
        height: 6px
    }
}

.c-sitemap {
    padding: 60px 0 50px;
    background: #f7f6f6
}

@media only screen and (max-width:767px) {
    .c-sitemap {
        display: none
    }
}

.c-sitemap .wrapper {
    display: flex;
    padding: 0 150px
}

@media only screen and (max-width:767px) {
    .c-sitemap .wrapper {
        padding: 0
    }
}

.c-sitemap .list+.list {
    margin-left: 100px
}

@media only screen and (max-width:767px) {
    .c-sitemap .list+.list {
        margin-left: 0
    }
}

.c-sitemap .list ul {
    list-style: none
}

.c-sitemap .list ul li+li,
.c-sitemap .list ul li ul {
    margin-top: 10px
}

.c-sitemap .list ul li ul li:before {
    margin-right: 5px;
    content: "-"
}

.c-sitemap .list ul li a {
    color: #000;
    font-size: 15px;
    letter-spacing: .04em;
    text-decoration: none
}

.c-sitemap .list ul li a:hover {
    text-decoration: underline
}

.c-company {
    background: #f7f6f6
}

.c-company .list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: -20px
}

@media only screen and (max-width:767px) {
    .c-company .list {
        justify-content: flex-start;
        margin: -4px
    }
}

.c-company .list .item {
    width: calc(25% - 40px);
    margin: 20px
}

@media only screen and (max-width:767px) {
    .c-company .list .item {
        width: calc(50% - 8px);
        margin: 10px 4px
    }
}

.c-company .list .item .logo {
    display: block;
    margin-bottom: 18px;
    transition: opacity .2s
}

@media only screen and (max-width:767px) {
    .c-company .list .item .logo {
        margin-bottom: 10px
    }
}

.c-company .list .item .logo:hover {
    opacity: .7
}

.c-company .list .item .company {
    display: block;
    margin-bottom: 5px;
    font-size: 17px;
    font-weight: 600;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .c-company .list .item .company {
        font-size: 14px;
        line-height: 1.38
    }
}

.c-company .list .item .business {
    display: block;
    font-size: 15px;
    line-height: 1.73
}

@media only screen and (max-width:767px) {
    .c-company .list .item .business {
        font-size: 11px;
        line-height: 1.5
    }
}

@-webkit-keyframes scale {
    0% {
        transform: scale(.95)
    }
    to {
        transform: scale(2)
    }
}

@keyframes scale {
    0% {
        transform: scale(.95)
    }
    to {
        transform: scale(2)
    }
}

.c-outline {
    position: relative;
    margin-bottom: 60px;
    padding: 0 12px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .c-outline {
        margin-bottom: 30px;
        padding: 0
    }
}

.c-outline .links {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0
}

.c-outline .links a {
    display: block;
    transition: all .2s ease-in-out
}

.c-outline .links a.is-hover,
.c-outline .links a:hover {
    z-index: 2;
    -webkit-animation: scale .8s cubic-bezier(.39, .575, .565, 1) infinite alternate both;
    animation: scale .8s cubic-bezier(.39, .575, .565, 1) infinite alternate both
}

.c-outline .links img {
    height: 140px;
    width: auto
}

@media only screen and (max-width:767px) {
    .c-outline .links img {
        height: 32vw
    }
}

.c-outline .links .cat01 {
    position: absolute;
    top: 0;
    left: 18px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat01 {
        top: -2px;
        left: 1px;
        z-index: 1
    }
}

.c-outline .links .cat02 {
    position: absolute;
    top: 142px;
    left: 14px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat02 {
        top: 19%;
        left: 4px
    }
}

.c-outline .links .cat03 {
    position: absolute;
    top: 315px;
    left: 12px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat03 {
        top: 50%;
        left: 4px
    }
}

.c-outline .links .cat04 {
    position: absolute;
    bottom: 0;
    left: 83px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat04 {
        bottom: -2px;
        left: 20%
    }
}

.c-outline .links .cat05 {
    position: absolute;
    top: 0;
    right: 162px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat05 {
        top: -2px;
        right: 20%;
        z-index: 1
    }
}

.c-outline .links .cat06 {
    position: absolute;
    top: 141px;
    right: 13px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat06 {
        top: 19%;
        right: 3px
    }
}

.c-outline .links .cat07 {
    position: absolute;
    top: 316px;
    right: 13px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat07 {
        top: 50%;
        right: 2px
    }
}

.c-outline .links .cat08 {
    position: absolute;
    bottom: 0;
    right: 124px
}

@media only screen and (max-width:767px) {
    .c-outline .links .cat08 {
        bottom: -2px;
        right: 22.5%
    }
}

.entry-content {
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .entry-content {
        font-size: 13px
    }
}

.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-weight: 600
}

.entry-content h2 {
    margin: 40px 0 10px;
    font-size: 18px
}

.entry-content h3 {
    margin: 30px 0 10px;
    color: #14485F;
    font-size: 15px
}

.entry-content h4 {
    display: flex;
    align-items: center;
    position: relative;
    margin: 30px 0 20px;
    padding-bottom: 6px;
    padding-left: 20px;
    border-bottom: 1px dotted #626262;
    font-size: 18px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .entry-content h4 {
        margin-top: 25px;
        margin-bottom: 10px;
        padding-left: 15px;
        font-size: 14px
    }
}

.entry-content h4:before {
    display: inline-block;
    width: 3px;
    height: 20px;
    background: #14485F;
    margin-right: 15px;
    content: ""
}

@media only screen and (max-width:767px) {
    .entry-content h4:before {
        height: 16px;
        margin-right: 10px
    }
}

.entry-content h5 {
    background: #ffff71
}

.entry-content h5,
.entry-content h6 {
    display: inline-block;
    padding: 0 .4em;
    font-size: 1em
}

.entry-content h6 {
    background: #b5e3f8
}

.entry-content .p,
.entry-content p {
    line-height: 2
}

@media only screen and (max-width:767px) {
    .entry-content .p,
    .entry-content p {
        line-height: 1.77
    }
}

.entry-content ul {
    list-style: disc inside;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .entry-content ul {
        line-height: 1.77
    }
}

.entry-content table td,
.entry-content table th {
    padding: 10px;
    border: 1px solid #e5e5e5
}

.entry-content table th {
    background: #f5f5f5;
    white-space: nowrap
}

.entry-content table td {
    background: #fff
}

.entry-content img {
    height: auto
}

.l-wrapper {
    min-width: 1280px;
    overflow-x: hidden
}

@media only screen and (max-width:767px) {
    .l-wrapper {
        min-width: inherit
    }
}

.l-container {
    margin: 0 auto;
    width: 1160px
}

@media only screen and (max-width:767px) {
    .l-container {
        width: 100%;
        padding: 0 17.5px
    }
}

.l-header {
    position: relative
}

@media only screen and (max-width:767px) {
    .l-header {
        height: 37.5px
    }
}

.l-header:after {
    position: absolute;
    top: 0;
    right: 0;
    width: calc((100vw - 1160px)/2);
    min-width: 80px;
    height: 70px;
    background: #14485F;
    content: ""
}

@media only screen and (max-width:767px) {
    .l-header:after {
        display: none
    }
}

.l-header .l-container {
    position: relative
}

.l-header .l-container:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -93px;
    z-index: 1;
    width: 93px;
    height: 59px;
    background: url(images/common/figure_car_01.png) 0/contain no-repeat;
    content: ""
}

@media only screen and (max-width:767px) {
    .l-header .l-container:before {
        display: none
    }
}

.l-header__wrapper {
    display: flex;
    align-items: center
}

@media only screen and (max-width:767px) {
    .l-header__wrapper {
        height: 37.5px
    }
}

@media only screen and (max-width:767px) {
    .l-header__logo img {
        width: auto;
        height: 32.5px
    }
}

.l-header__menu {
    margin-left: auto
}

@media only screen and (max-width:767px) {
    .l-header__menu {
        display: none
    }
}

.l-header__menu ul {
    display: flex
}

.l-header__menu ul li {
    position: relative
}

.l-header__menu ul li a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 70px;
    padding: 0 18px;
    color: #000;
    font-size: 14px;
    text-decoration: none;
    letter-spacing: .04em
}

.l-header__menu ul li:last-child {
    background: #14485F
}

.l-header__menu ul li:last-child a {
    color: #fff;
    font-weight: 700
}

.l-header__menu ul li:not(:nth-last-child(-n+2)):after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 0;
    height: 22px;
    border-right: 1px solid #dcdcdc;
    content: ""
}

.l-header__fixedtrigger {
    display: none
}

.l-header__fixedtrigger:checked+* {
    display: block
}

.l-header__fixedtrigger:checked+* span {
    background: #fff
}

.l-header__fixedtrigger:checked+* span:first-of-type {
    transform: translateY(7.5px) rotate(-315deg)
}

.l-header__fixedtrigger:checked+* span:nth-of-type(2) {
    opacity: 0
}

.l-header__fixedtrigger:checked+* span:nth-of-type(3) {
    transform: translateY(-8px) rotate(315deg)
}

.l-header__fixedtrigger:checked~.l-header__overlay {
    opacity: 1;
    pointer-events: auto
}

.l-header__fixedmenu {
    display: none;
    position: fixed;
    top: 10px;
    right: 17.5px;
    z-index: 100;
    width: 25px;
    height: 18px;
    cursor: pointer
}

@media only screen and (max-width:767px) {
    .l-header__fixedmenu {
        display: block
    }
}

.l-header__fixedmenu span {
    display: inline-block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    border-radius: 10px;
    background: #000;
    transition: all .2s
}

.l-header__fixedmenu span:first-of-type {
    top: 0
}

.l-header__fixedmenu span:nth-of-type(2) {
    top: 8px
}

.l-header__fixedmenu span:nth-of-type(3) {
    bottom: 0
}

.l-header__overlay {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 99;
    padding: 60px 0;
    background: rgba(87, 156, 186, .95);
    background: rgba(20, 72, 95, .95);
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s
}

@media only screen and (max-width:767px) {
    .l-header__overlay {
        padding: 40px 0
    }
}

.l-header__overlay a {
    color: #fff;
    text-decoration: none
}

.l-header__overlay .container {
    width: 100%;
    padding: 0 17.5px 40px;
    height: 100%;
    overflow: auto
}

.l-header__overlay .container .list {
    margin-bottom: 20px
}

.l-header__overlay .container .list ul {
    list-style: none
}

.l-header__overlay .container .list ul li {
    position: relative
}

.l-header__overlay .container .list ul li ul li a:before {
    margin-right: .5em;
    content: "-"
}

.l-header__overlay .container .list ul li a {
    display: block;
    position: relative;
    padding: 10px;
    border-bottom: 1px dotted
}

.l-header__overlay .container .list ul li a:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 10px;
    transform: rotate(45deg) translateY(-50%);
    width: 6px;
    height: 6px;
    border-top: 1px solid;
    border-right: 1px solid;
    content: ""
}

.l-header__overlay .contact .text {
    margin-bottom: 25px;
    color: #fff;
    font-size: 12px;
    text-align: center
}

.l-header__overlay .contact .list {
    position: relative;
    padding: 0 10px
}

.l-header__overlay .contact .list ul {
    display: block;
    margin: -10px 0
}

.l-header__overlay .contact .list ul li {
    width: 100%;
    margin: 10px 0
}

.l-header__overlay .contact .list ul li a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    position: relative;
    height: 50px;
    padding: 0 40px;
    border: 1px solid;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    line-height: 1;
    transition: all .2s
}

.l-header__overlay .contact .list ul li a:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    right: 40px;
    width: 6px;
    height: 6px;
    border-top: 1px solid;
    border-right: 1px solid;
    content: ""
}

.l-mainvisual {
    display: flex;
    align-items: center;
    height: 130px;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #333
}

@media only screen and (max-width:767px) {
    .l-mainvisual {
        height: 65px
    }
}
.p-about .l-mainvisual {
    background-image: url(images/history/mainvisual_bg.jpg)
}

@media only screen and (max-width:767px) {
    .p-about .l-mainvisual {
        background-image: url(images/history/mainvisual_bg_sp.jpg)
    }
}

.p-news .l-mainvisual {
    background-image: url(images/news/mainvisual_bg.jpg)
}

@media only screen and (max-width:767px) {
    .p-news .l-mainvisual {
        background-image: url(images/news/mainvisual_bg_sp.jpg)
    }
}

.p-404 .l-mainvisual,
.p-service .l-mainvisual {
    background-image: url(images/service/mainvisual_bg.jpg)
}

@media only screen and (max-width:767px) {
    .p-404 .l-mainvisual,
    .p-service .l-mainvisual {
        background-image: url(images/service/mainvisual_bg_sp.jpg)
    }
}

.p-history .l-mainvisual {
    background-image: url(images/history/mainvisual_bg.jpg)
}

@media only screen and (max-width:767px) {
    .p-history .l-mainvisual {
        background-image: url(images/history/mainvisual_bg_sp.jpg)
    }
}

.p-contact.p-recruit .l-mainvisual,
.p-recruit .l-mainvisual {
    background-image: url(images/recruit/mainvisual_bg.jpg)
}

@media only screen and (max-width:767px) {
    .p-contact.p-recruit .l-mainvisual,
    .p-recruit .l-mainvisual {
        background-image: url(images/recruit/mainvisual_bg_sp.jpg)
    }
}

.p-contact .l-mainvisual {
    background-image: url(images/contact/mainvisual_bg.jpg)
}

@media only screen and (max-width:767px) {
    .p-contact .l-mainvisual {
        background-image: url(images/contact/mainvisual_bg_sp.jpg)
    }
}

.l-mainvisual__title>* {
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .l-mainvisual__title>* {
        font-size: 13px
    }
}

.l-breadcrumb {
    position: relative;
    border-bottom:1px solid #dcdcdc;

}

@media only screen and (max-width:767px) {
    .l-breadcrumb {
        overflow-x: scroll;
        white-space: nowrap
    }
}

.l-breadcrumb:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    min-width: 160px;
    width: calc((100vw - 1160px)/2);
    background: #666;
    content: ""
}

@media only screen and (max-width:767px) {
    .l-breadcrumb:before {
        left: 0;
        width: 17.5px;
        min-width: auto
    }
}

.l-breadcrumb .breadcrumb {
    position: relative;
}

.l-breadcrumb .breadcrumb ol {
    display: flex;
    list-style: none
}

.l-breadcrumb .breadcrumb ol li:first-child {
    background: #666;
}

.l-breadcrumb .breadcrumb ol li:first-child a {
    padding-left: 0;
    color: #fff
}

.l-breadcrumb .breadcrumb ol li:first-child a:after {
    border-left-color: #666;
}

.l-breadcrumb .breadcrumb ol li:nth-child(2) {
    background: #dcdcdc
}

.l-breadcrumb .breadcrumb ol li:nth-child(2) a:after {
    border-left-color: #dcdcdc
}

.l-breadcrumb .breadcrumb ol li:last-child {
    background: #fff
}

.l-breadcrumb .breadcrumb ol li a,
.l-breadcrumb .breadcrumb ol li span:not([property]) {
    display: flex;
    align-items: center;
    position: relative;
    height: 36px;
    padding: 0 10px 0 30px;
    color: #000;
    font-size: 15px;
    letter-spacing: .04em;
    text-decoration: none
}

@media only screen and (max-width:767px) {
    .l-breadcrumb .breadcrumb ol li a,
    .l-breadcrumb .breadcrumb ol li span:not([property]) {
        height: 20px;
        padding: 0 4px 0 15px;
        font-size: 11px
    }
}

.l-breadcrumb .breadcrumb ol li a:after,
.l-breadcrumb .breadcrumb ol li span:not([property]):after {
    display: block;
    position: absolute;
    top: 0;
    right: -15px;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 18px 0 18px 15px;
    content: ""
}

@media only screen and (max-width:767px) {
    .l-breadcrumb .breadcrumb ol li a:after,
    .l-breadcrumb .breadcrumb ol li span:not([property]):after {
        right: -8px;
        border-width: 10px 0 10px 8px
    }
}

.l-footer {
    padding: 10px 0
}

@media only screen and (max-width:767px) {
    .l-footer {
        padding-top: 30px
    }
}

.l-footer__wrapper {
    display: flex;
    padding: 0 75px
}

@media only screen and (max-width:767px) {
    .l-footer__wrapper {
        display: block;
        padding: 0 20px;
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    .l-footer__logo {
        margin-bottom: 10px
    }
}

@media only screen and (max-width:767px) {
    .l-footer__logo img {
        width: 60px;
        height: auto
    }
}

.l-footer__information {
    display: flex;
    align-items: center;
    position: relative;
    padding-left: 20px
}

@media only screen and (max-width:767px) {
    .l-footer__information {
        display: block;
        padding-left: 0
    }
}

.l-footer__information .address {
    font-size: 15px;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .l-footer__information .address {
        display: block;
        font-size: 13px
    }
}

@media only screen and (max-width:767px) {
    .l-footer__information .address>span {
        display: block;
        margin-bottom: 5px
    }
}

.l-footer__information .copyright {
    position: absolute;
    bottom: 10px;
    left: 20px
}

@media only screen and (max-width:767px) {
    .l-footer__information .copyright {
        position: static;
        margin-top: 25px;
        font-size: 10px
    }
}

.p-top__mainvisual {
    position: relative;
    z-index: 1;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 400px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual {
        height: auto
    }
}

.p-top__mainvisual:before {
    opacity: 1;
    background-color: rgba(0, 0, 0, .25);
    background-image: url(images/top/movie_image.png);
    background-repeat: repeat;
    background-position: 0 0;
    background-size: 5px 5px;
    z-index: 1
}

.p-top__mainvisual:after,
.p-top__mainvisual:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0
}

.p-top__mainvisual:after {
    opacity: 0;
    background-color: #fff;
    background-image: none;
    background-repeat: no-repeat;
    background-position: 50% 50%
}

.p-top__mainvisual .content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    z-index: 2;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    max-width: 1160px;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    color: #fff;
    text-align: center
}

.p-top__mainvisual .content .slider {
    width: 100%;
    height: 100%
}

.p-top__mainvisual .content .slide {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .slide {
        padding-right: 17.5px;
        padding-bottom: 20px;
        padding-left: 17.5px
    }
}

.p-top__mainvisual .content .title {
    font-size: 18px;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .title {
        padding: 0 40px;
        font-size: 13px;
        text-align: left
    }
}

.p-top__mainvisual .content .more {
    margin-top: 20px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .more {
        margin-top: 10px
    }
}

.p-top__mainvisual .content .more a {
    display: inline-block;
    padding: 5px 50px;
    border: 1px solid;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    text-decoration: none;
    transition: all .2s
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .more a {
        font-size: 13px
    }
}

.p-top__mainvisual .content .more a:hover {
    opacity: .7
}

.p-top__mainvisual .content .more a:after {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-left: 5px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg) translateY(-3px);
    content: ""
}

.p-top__mainvisual .content .image {
    margin-bottom: 20px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .image {
        margin-bottom: 10px
    }
}

.p-top__mainvisual .content .image img {
    width: auto;
    max-height: 100px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .image img {
        max-height: 35px
    }
}

.p-top__mainvisual .content .text {
    font-family: Average, 游ゴシック, Yu Gothic, Meiryo, sans-serif;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .12em;
    line-height: 1.64
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .content .text {
        font-size: 13px
    }
}

.p-top__mainvisual .visual {
    position: relative;
    top: 50%
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .visual {
        top: auto
    }
}

.p-top__mainvisual .visual video {
    width: 100%;
    margin: 0 auto;
    padding: 0;
    display: block;
    border: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    background-color: #fff;
    color: #fff;
    -o-object-fit: cover;
    object-fit: cover
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .visual video {
        position: relative;
        top: auto;
        left: auto;
        transform: none
    }
}

.p-top__groups {
    margin-bottom: -60px;
    background: #f7f6f6
}

@media only screen and (max-width:767px) {
    .p-top__groups {
        margin-bottom: -10px
    }
}

.p-top__groups .l-container {
    position: relative
}

.p-top__groups .container {
    position: relative;
    top: -80px;
    right: 0;
    left: 0;
    z-index: 1;
    padding: 22px 16px;
    background: #f7f6f6
}

@media only screen and (max-width:767px) {
    .p-top__groups .container {
        top: -30px;
        padding: 10px
    }
}

.p-top__groups .slide {
    width: 250px;
    margin: 0 7px;
    color: #000;
    text-decoration: none;
    transition: opacity .2s
}

@media only screen and (max-width:767px) {
    .p-top__groups .slide {
        width: calc(50% + 30px);
        margin: 0 3px
    }
}

.p-top__groups .slide:hover {
    opacity: .7
}

.p-top__groups .slide .banner {
    margin-bottom: 5px
}

@media only screen and (max-width:767px) {
    .p-top__groups .slide .banner {
        margin-bottom: 2px
    }
}

.p-top__groups .slide .text {
    display: block;
    font-size: 14px;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-top__groups .slide .text {
        font-size: 10px
    }
}

.p-top__news {
	padding-top:3em;
    background: #f7f6f6;
}

.p-top__news .container {
    padding: 40px 45px;
    background: #fff
}
.p-top__news .col__box{
	position:relative;
}
.p-top__news h2{
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
	white-space: nowrap;
	text-align: center;
}
.p-top__news h2 span{
	display: block;
	margin-bottom: 15px;
	font-family: Average, 游ゴシック, Yu Gothic, Meiryo, sans-serif;
	font-size: 30px;
	line-height: 1;
}
.p-top__news h2 small{
	display: block;
	font-size: 15px;
	font-weight:600;
	letter-spacing: .04em;
}
.p-top__news .c-button--invert a {
	color:#000;
}

@media only screen and (max-width:767px) {
    .p-top__news .container {
        padding: 15px 10px;
    }
    .p-top__news h2{
	    position: static;
	    transform:translate(0,0);
    }
    .p-top__news h2 span{
    margin-bottom: 10px;
    font-size: 22px;
    }
    .p-top__news h2 small{
	    font-size: 10px;
    }
}

.p-top__news .list {
    padding: 12px 0;
    display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
}

@media only screen and (max-width:767px) {
    .p-top__news .list {
        margin-bottom: 15px;
        padding: 0
    }
}

.p-top__news .list .item {
    display: flex;
    align-items: center;
    font-size: 15px;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-top__news .list .item {
        flex-wrap: wrap;
        font-size: 13px
    }
}

.p-top__news .list .item+* {
    margin-top: 12px
}

@media only screen and (max-width:767px) {
    .p-top__news .list .item+* {
        margin-top: 18px
    }
}

.p-top__news .list .item>:not(:last-child) {
    margin-right: 10px
}

.p-top__news .list .item a {
    text-decoration: none
}

.p-top__news .list .time {
    flex-shrink: 0;
    width: 6.1em;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-top__news .list .time {
        font-size: 13px
    }
}

.p-top__news .list .category {
    display: block;
    flex-shrink: 0;
    width: 20em;
    padding: 2px 0;
    background: #14485F;
    color: #fff;
    font-size: 11px;
    text-align: center;
    line-height: 1.5;
    white-space: nowrap;
}

@media only screen and (max-width:767px) {
    .p-top__news .list .category {
        padding: 3px 6px;
        font-size: 12px
    }
}

.p-top__news .list .category.infomation {
    background: #e60012
}

.p-top__news .list .title {
    color: #000;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-top__news .list .title {
        width: 100%;
        margin-top: 3px;
        font-size: 13px
    }
}

.p-top__news .list .title:hover {
    text-decoration: underline
}

.p-top__business {
    padding-bottom: 100px;
    background-image: url(images/top/business_bg.webp);
    background-color: #f6f6f6;
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover
}

@media only screen and (max-width:767px) {
    .p-top__business {
        padding-bottom: 50px
    }
}

.p-top__business .list {
    display: flex;
    flex-wrap: wrap;
    margin: -20px -20px 120px
}

@media only screen and (max-width:767px) {
    .p-top__business .list {
        display: block;
        margin: -20px 0 60px
    }
}

.p-top__business .list .item {
    width: calc(33.33333% - 40px);
    margin: 20px
}

@media only screen and (max-width:767px) {
    .p-top__business .list .item {
        width: 100%;
        margin: 25px 0
    }
}

.p-top__business .list .item:first-child .thumbnail {
    background-image: url(images/top/business_thumbnail_01.jpg)
}

.p-top__business .list .item:nth-child(2) .thumbnail {
    background-image: url(images/top/business_thumbnail_02.jpg)
}

.p-top__business .list .item:nth-child(3) .thumbnail {
    background-image: url(images/top/business_thumbnail_03.jpg)
}

.p-top__business .list .item:nth-child(4) .thumbnail {
    background-image: url(images/top/business_thumbnail_04.jpg)
}

.p-top__business .list .item:nth-child(5) .thumbnail {
    background-image: url(images/top/business_thumbnail_05.jpg)
}

.p-top__business .list .item:nth-child(6) .thumbnail {
    background-image: url(images/top/business_thumbnail_06.jpg)
}

.p-top__business .list .item .thumbnail {
    position: relative;
    height: 0;
    padding-bottom: 58.3%;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover;
    margin-bottom: 18px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-top__business .list .item .thumbnail {
        margin-bottom: 10px
    }
}

.p-top__business .list .item .thumbnail>span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 18px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-top__business .list .item .thumbnail>span {
        font-size: 17px
    }
}

.p-top__business .list .item .text {
    display: block;
    font-size: 15px;
    line-height: 1.73
}

@media only screen and (max-width:767px) {
    .p-top__business .list .item .text {
        font-size: 13px;
        line-height: 1.54
    }
}

.p-top__greeting {
    padding: 95px 0 85px;
    /*
    background: url(images/top/greeting_bg.jpg) 50%/cover no-repeat;
    */
}

@media only screen and (max-width:767px) {
    .p-top__greeting {
        padding: 30px 0 60px;
        /*
        background-image: url(images/top/greeting_bg_sp.webp)
        */
    }
}

.p-top__greeting .wrapper {
    display: flex;
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-top__greeting .wrapper {
        padding: 0;
        flex-direction: column-reverse
    }
}

.p-top__greeting .content {
    padding-right: 55px;
    padding-left: 45px
}

@media only screen and (max-width:767px) {
    .p-top__greeting .content {
        padding: 0
    }
}

.p-top__greeting .image {
    flex-shrink: 0;
    width: 310px
}

@media only screen and (max-width:767px) {
    .p-top__greeting .image {
        width: 60%;
        margin: 0 auto 30px;
        text-align: center
    }
}

.p-top__greeting .heading {
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-top__greeting .heading {
        margin-bottom: 15px;
        font-size: 15px
    }
}

.p-top__greeting .text {
    margin-bottom: 40px;
    font-size: 15px;
    letter-spacing: .04em;
    line-height: 2.4
}

@media only screen and (max-width:767px) {
    .p-top__greeting .text {
        margin-bottom: 10px;
        font-size: 13px;
        line-height: 1.77
    }
}

.p-top__greeting .signature {
    text-align: right
}

@media only screen and (max-width:767px) {
    .p-top__greeting .signature {
        padding-right: 10px
    }
}

@media only screen and (max-width:767px) {
    .p-top__greeting .title {
        font-size: 13px
    }
}

.p-top__greeting .name {
    margin-left: .4em;
    font-family: serif;
    font-size: 22px;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-top__greeting .name {
        font-size: 15px
    }
}

.p-top__philosophy {
    padding: 85px 0 95px;
    background: #14485F;
    color: #fff
}

@media only screen and (max-width:767px) {
    .p-top__philosophy {
        padding: 35px 0
    }
}

.p-top__philosophy .wrapper {
    padding: 15px 150px 0;
    font-size: 20px;
    letter-spacing: .04em;
    line-height: 2.25;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-top__philosophy .wrapper {
        padding: 0;
        font-size: 15px;
        text-align: left;
        line-height: 1.33
    }
}
.p-top__philosophy .c-section__heading--invert .en,.p-top__philosophy .c-section__heading--invert .ja{
	color:#fff;
}




@media only screen and (max-width:767px) {
    .p-top__information {
        padding: 40px 0
    }
}

.p-top__information .table {
    margin-top: -30px;
    padding: 0 150px
}

@media only screen and (max-width:767px) {
    .p-top__information .table {
        margin-top: -10px;
        padding: 0
    }
}

.p-top__information .table dl {
    display: flex
}

.p-top__information .table dl:nth-child(2n-1) {
    background: #f7f6f6
}

.p-top__information .table dl dd,
.p-top__information .table dl dt {
    padding: 12px 20px;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-top__information .table dl dd,
    .p-top__information .table dl dt {
        padding: 10px;
        font-size: 13px
    }
}

.p-top__information .table dl dt {
    flex-shrink: 0;
    width: 10em;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-top__information .table dl dt {
        width: 7.5em
    }
}

.p-top__information .table dl dd {
    line-height: 1.73
}

@media only screen and (max-width:767px) {
    .p-top__information .table dl dd {
        line-height: 1.54
    }
}

.p-top__information .table .map {
    margin-top: 10px;
    margin-bottom: 25px
}

@media only screen and (max-width:767px) {
    .p-top__information .table .map {
        height: 100px;
        margin-bottom: 0
    }
}

.p-top__recruit {
    padding: 85px 0 90px;
    background: #a3c4d8
}

@media only screen and (max-width:767px) {
    .p-top__recruit {
        padding: 40px 0
    }
}

.p-recruit .p-top__recruit {
    background: #fff
}

.p-top__recruit .container {
    margin-top: 110px;
    margin-bottom: 40px
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container {
        margin-top: 0
    }
}

.p-top__recruit .container>:last-child {
    margin-top: 40px
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container>:last-child {
        margin-top: 20px
    }
}

.p-top__recruit .container .heading {
    margin-top: 50px;
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container .heading {
        font-size: 15px
    }
}

.p-top__recruit .container .subheading {
    margin-bottom: 10px;
    color: #fff;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container .subheading {
        font-size: 16px
    }
}

.p-top__recruit .container .subcontainer {
    padding: 30px 40px;
    border: 1px solid #fff
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container .subcontainer {
        padding: 15px 20px
    }
}

.p-top__recruit .container .subcontainer+* {
    margin-top: 20px
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container .subcontainer+* {
        margin-top: 15px
    }
}

.p-top__recruit .container .text {
    font-size: 15px;
    line-height: 1.73
}

@media only screen and (max-width:767px) {
    .p-top__recruit .container .text {
        font-size: 14px
    }
}

.p-top__recruit .heading {
    margin-top: 40px;
    margin-bottom: 10px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-top__recruit .heading {
        font-size: 15px
    }
}

.p-top__recruit .list {
    display: flex;
    margin: 0 -20px;
    padding-top: 10px
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list {
        display: block;
        margin: -20px 0 -10px
    }
}

.p-top__recruit .list .item {
    display: block;
    position: relative;
    width: calc(33.33333% - 40px);
    margin: 20px;
    color: #000;
    text-decoration: none;
    box-shadow: 0 1px 7px rgba(91, 91, 91, .5);
    transition: all .2s
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item {
        width: 100%;
        margin: 20px 0
    }
}

.p-top__recruit .list .item:hover {
    opacity: .7
}

.p-top__recruit .list .item .tag {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    padding: 8px 20px;
    color: #fff;
    font-size: 18px;
    font-weight: 600;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item .tag {
        padding: 6px 20px;
        font-size: 12px
    }
}

.p-top__recruit .list .item .tag.tag-01 {
    background: #8d8d8d
}

.p-top__recruit .list .item .tag.tag-02 {
    background: #7cacd3
}

.p-top__recruit .list .item .tag.tag-03 {
    background: #e1b341
}

.p-top__recruit .list .item .tag.tag-04 {
    background: #a7cf3b
}

.p-top__recruit .list .item .tag.tag-05 {
    background: #d494a5
}

.p-top__recruit .list .item .tag.tag-06 {
    background: #808cc0
}

.p-top__recruit .list .item .thumbnail {
    height: 210px;
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: cover
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item .thumbnail {
        height: 140px
    }
}

.p-top__recruit .list .item .content {
    padding: 15px;
    background: #fff
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item .content {
        padding: 10px
    }
}

.p-top__recruit .list .item .heading {
    display: block;
    height: 3em;
    overflow: hidden;
    margin: 0 0 4px;
    color: #14485F;
    font-size: 18px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item .heading {
        height: auto;
        font-size: 15px
    }
}

.p-top__recruit .list .item .text {
    display: block;
    font-size: 15px;
    line-height: 1.33
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item .text {
        font-size: 13px;
        line-height: 1.4
    }
}

.p-top__recruit .list .item .location {
    display: inline-block;
    margin-top: 10px;
    padding: 3px 15px;
    background: #a3c4d8;
    color: #fff;
    font-size: 15px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-top__recruit .list .item .location {
        margin-top: 6px;
        padding: 2px 10px;
        font-size: 12px
    }
}

.p-top__movie {
    padding: 80px 0 90px
}

@media only screen and (max-width:767px) {
    .p-top__movie {
        padding: 50px 0
    }
}

.p-top__movie .wrapper {
    display: flex;
    justify-content: center;
    margin: 0 -15px
}

@media only screen and (max-width:767px) {
    .p-top__movie .wrapper {
        display: block;
        margin: -20px 0;
        padding: 0 30px
    }
}

.p-top__movie .movie {
    width: calc(50% - 30px);
    margin: 0 15px
}

@media only screen and (max-width:767px) {
    .p-top__movie .movie {
        position: relative;
        width: 100%;
        height: 0;
        padding-bottom: 56.25%;
        margin: 20px 0
    }
}

@media only screen and (max-width:767px) {
    .p-top__movie .movie iframe {
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 100%
    }
}

.p-news__wrapper {
    padding: 50px 0;
    background: #fff
}

@media only screen and (max-width:767px) {
    .p-news__wrapper {
        padding: 20px 0
    }
}

.p-news__categories {
    margin-bottom: 60px;
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-news__categories {
        margin-bottom: 40px;
        padding: 0
    }
}

.p-news__categories .categories ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: -3px
}

@media only screen and (max-width:767px) {
    .p-news__categories .categories ul {
        margin: -2px
    }
}

.p-news__categories .categories ul li {
    margin: 3px
}

@media only screen and (max-width:767px) {
    .p-news__categories .categories ul li {
        margin: 2px
    }
}

@media only screen and (max-width:767px) {
    .p-news__categories .categories ul li:first-child {
        margin-right: 0;
        width:100%;
    }
}

@media only screen and (max-width:767px) {
    .p-news__categories .categories ul li:not(:first-child) {
        width: calc(50% - 4px)
    }
}

.p-news__categories .categories ul li a {
    display: block;
    padding: 2px 14px;
    border:1px solid #ddd;
    background: #fff;
    color: #5e5e5e;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: .04em;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media only screen and (max-width:767px) {
    .p-news__categories .categories ul li a {
        font-size: 13px;
        text-align: center
    }
}

.p-news__articles {
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-news__articles {
        padding: 0
    }
}

.p-news__articles .articles .item {
    display: flex;
    align-items: center;
    font-size: 15px;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-news__articles .articles .item {
        flex-wrap: wrap;
        font-size: 13px
    }
}

.p-news__articles .articles .item+* {
    margin-top: 24px
}

@media only screen and (max-width:767px) {
    .p-news__articles .articles .item+* {
        margin-top: 20px
    }
}

.p-news__articles .articles .item>:not(:last-child) {
    margin-right: 14px
}

.p-news__articles .articles .item a {
    text-decoration: none
}

.p-news__articles .articles .time {
    flex-shrink: 0;
    width: 6.1em;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-news__articles .articles .time {
        font-size: 13px
    }
}

.p-news__articles .articles .category {
    display: block;
    flex-shrink: 0;
    width: 20em;
    padding: 2px 0;
    background: #14485F;
    color: #fff;
    font-size: 11px;
    text-align: center;
    line-height: 1.5;
    white-space:nowrap;
}

@media only screen and (max-width:767px) {
    .p-news__articles .articles .category {
        padding: 3px 6px;
        font-size: 12px
    }
}
.p-news__articles .articles .category.information{
    background: #e60012
}
.p-news__articles .articles .title {
    color: #000;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-news__articles .articles .title {
        width: 100%;
        margin-top: 3px;
        font-size: 13px
    }
}

.p-news__articles .articles .title:hover {
    text-decoration: underline
}

.p-news__article {
    padding: 0 60px 50px
}

@media only screen and (max-width:767px) {
    .p-news__article {
        padding: 0 0 30px
    }
}

.p-news__article .header {
    margin-bottom: 45px
}

@media only screen and (max-width:767px) {
    .p-news__article .header {
        margin-bottom: 20px
    }
}

.p-news__article .category {
    display: block;
    width: 15em;
    margin-bottom: 20px;
    padding: 4px 6px;
    background: #14485F;
    color: #fff;
    font-size: 14px;
    text-align: center;
    line-height: 1;
    white-space: nowrap;
}

@media only screen and (max-width:767px) {
    .p-news__article .category {
        margin-bottom: 10px;
        padding: 3px 6px;
        font-size: 12px
    }
}

.p-news__article .category.information {
    background: #e60012
}


.p-news__article .title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-news__article .title {
        font-size: 17px
    }
}

.p-news__article .time {
    display: block;
    font-size: 15px;
    letter-spacing: .04em
}

.p-news__pagination {
    padding: 50px 0 60px
}

@media only screen and (max-width:767px) {
    .p-news__pagination {
        padding: 24px 0
    }
}

.p-news__pagination .pagination ul {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    margin: -4px
}

.p-news__pagination .pagination ul li {
    margin: 4px
}

.p-news__pagination .pagination ul li a,
.p-news__pagination .pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border: 1px solid #d2d2d2;
    color: #000;
    font-size: 15px;
    text-decoration: none;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .p-news__pagination .pagination ul li a,
    .p-news__pagination .pagination ul li span {
        font-size: 13px
    }
}

.p-news__pagination .pagination ul li a.is-current,
.p-news__pagination .pagination ul li span.is-current {
    border: none;
    background: #636464;
    color: #fff
}

.p-news__pagination .pagination ul li a.next,
.p-news__pagination .pagination ul li a.prev,
.p-news__pagination .pagination ul li span.next,
.p-news__pagination .pagination ul li span.prev {
    width: auto;
    border: none
}

.p-news__pagination .pagination ul li a:not(.next):not(.prev):hover,
.p-news__pagination .pagination ul li span:not(.next):not(.prev):hover {
    border: none;
    background: #636464;
    color: #fff
}

.p-news__links {
    padding: 40px 0;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-news__links {
        padding: 20px 0
    }
}

.p-service__wrapper {
    background: #f7f6f6
}

@media only screen and (max-width:767px) {
    .p-service__outline {
        padding-bottom: 50px
    }
}

.p-service__outline .c-outline {
    margin-bottom: 160px;
    padding: 0 10px
}

@media only screen and (max-width:767px) {
    .p-service__outline .c-outline {
        margin-bottom: 100px;
        padding: 0
    }
}

.p-service__outline .list .item {
    display: flex
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item {
        flex-wrap: wrap
    }
}

.p-service__outline .list .item:nth-child(2n-1) {
    padding-left: 60px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item:nth-child(2n-1) {
        padding-left: 0
    }
}

.p-service__outline .list .item:nth-child(2n-1) .content {
    padding-right: 120px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item:nth-child(2n-1) .content {
        padding-right: 0
    }
}

.p-service__outline .list .item:nth-child(2n) {
    flex-direction: row-reverse;
    padding-right: 60px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item:nth-child(2n) {
        flex-direction: row;
        padding-right: 0
    }
}

.p-service__outline .list .item:nth-child(2n) .content {
    padding-left: 120px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item:nth-child(2n) .content {
        padding-left: 0
    }
}

.p-service__outline .list .item+.item {
    margin-top: 70px;
    padding-top: 80px;
    border-top: 1px solid #dcdcdc
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item+.item {
        margin-top: 50px;
        padding-top: 40px
    }
}

.p-service__outline .list .item .content {
    padding-top: 10px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .content {
        padding-top: 0
    }
}

.p-service__outline .list .item .header {
    margin-bottom: 30px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .header {
        margin-bottom: 20px
    }
}

.p-service__outline .list .item .heading {
    margin-bottom: 5px;
    font-size: 24px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .heading {
        margin-bottom: 0;
        font-size: 17px
    }
}

.p-service__outline .list .item .category {
    display: inline-block;
    margin-right: 4px;
    padding: 4px 12px;
    background: #000;
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    text-align: center;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .category {
        padding: 4px 10px;
        font-size: 13px
    }
}

.p-service__outline .list .item .category.cat-01 {
    background: #8d8d8d
}

.p-service__outline .list .item .category.cat-02 {
    background: #7cacd3
}

.p-service__outline .list .item .category.cat-03 {
    background: #e1b341
}

.p-service__outline .list .item .category.cat-04 {
    background: #a7cf3b
}

.p-service__outline .list .item .category.cat-05 {
    background: #d494a5
}

.p-service__outline .list .item .category.cat-06 {
    background: #808cc0
}

.p-service__outline .list .item .category.cat-07 {
    background: #a55dad
}


.p-service__outline .list .item .category.cat-10 {
    background: #00a1e9
}
.p-service__outline .list .item .category.cat-11 {
    background: #02376f
}

.p-service__outline .list .item .text {
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .text {
        font-size: 13px;
        line-height: 1.77
    }
}

.p-service__outline .list .item .text strong {
    font-weight: 600
}

.p-service__outline .list .item .subheading {
    display: flex;
    align-items: center;
    margin-bottom: 6px;
    font-size: 18px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .subheading {
        flex-wrap: wrap;
        font-size: 15px
    }
}

.p-service__outline .list .item .subheading:not(:first-of-type) {
    margin-top: 22px
}

.p-service__outline .list .item .subheading span {
    display: inline-block
}

.p-service__outline .list .item .subheading span:first-child {
    margin-left: 20px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .subheading span:first-child {
        margin-left: 10px
    }
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .subheading span img {
        width: 90px;
        height: auto
    }
}

.p-service__outline .list .item .image {
    flex-shrink: 0;
    width: 380px
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .image {
        width: 100%;
        margin-top: 40px
    }
}

@media only screen and (max-width:767px) {
    .p-service__outline .list .item .image img {
        width: 100%
    }
}

.p-service__history {
    padding: 100px 0 90px;
    background: url(images/service/history_bg.jpg) 50%/cover no-repeat;
    color: #fff
}

@media only screen and (max-width:767px) {
    .p-service__history {
        padding: 40px 0
    }
}

.p-service__history .wrapper {
    padding: 0 290px
}

@media only screen and (max-width:767px) {
    .p-service__history .wrapper {
        padding: 0
    }
}

.p-service__history .heading {
    margin-top: -20px;
    margin-bottom: 50px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .04em;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-service__history .heading {
        margin-top: 0;
        margin-bottom: 20px;
        font-size: 17px
    }
}

.p-service__history .text {
    margin-bottom: 50px;
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-service__history .text {
        margin-bottom: 30px;
        font-size: 13px;
        line-height: 1.77
    }
}

.p-history__intro {
    background: #f7f6f6
}

@media only screen and (max-width:767px) {
    .p-history__intro {
        padding-bottom: 60px
    }
}

.p-history__intro .visual {
    margin-bottom: 60px
}

@media only screen and (max-width:767px) {
    .p-history__intro .visual {
        margin-bottom: 18px
    }
}

.p-history__intro .wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 45px;
    padding: 0 180px
}

@media only screen and (max-width:767px) {
    .p-history__intro .wrapper {
        margin: 0 -1px 30px;
        padding: 0
    }
}

.p-history__intro .wrapper .item {
    width: 33.33333%;
    margin: 0 2px
}

@media only screen and (max-width:767px) {
    .p-history__intro .wrapper .item {
        margin: 0 1px
    }
}

.p-history__intro .text {
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    line-height: 2.4;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-history__intro .text {
        font-size: 13px;
        line-height: 1.77;
        text-align: left
    }
}

.p-history__story .story {
    padding: 120px 0 95px
}

@media only screen and (max-width:767px) {
    .p-history__story .story {
        padding: 60px 0
    }
}

.p-history__story .story:nth-child(2n-1) {
    background: #e5e5e5
}

.p-history__story .story:nth-child(2n-1) .container {
    padding-left: 60px
}

@media only screen and (max-width:767px) {
    .p-history__story .story:nth-child(2n-1) .container {
        padding-left: 0
    }
}

.p-history__story .story:nth-child(2n-1) .image {
    padding-left: 120px
}

@media only screen and (max-width:767px) {
    .p-history__story .story:nth-child(2n-1) .image {
        padding-left: 0
    }
}

.p-history__story .story:nth-child(2n) .container {
    padding-right: 60px
}

@media only screen and (max-width:767px) {
    .p-history__story .story:nth-child(2n) .container {
        padding-right: 0
    }
}

.p-history__story .story:nth-child(2n) .content {
    flex-direction: row-reverse
}

@media only screen and (max-width:767px) {
    .p-history__story .story:nth-child(2n) .content {
        flex-direction: column-reverse
    }
}

.p-history__story .story:nth-child(2n) .image {
    padding-right: 120px
}

@media only screen and (max-width:767px) {
    .p-history__story .story:nth-child(2n) .image {
        padding-right: 0
    }
}

.p-history__story .story .heading {
    display: flex;
    align-items: center;
    padding-bottom: 25px;
    margin-bottom: 60px;
    border-bottom: 1px solid #636464;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .p-history__story .story .heading {
        flex-wrap: wrap;
        padding-bottom: 10px;
        margin-bottom: 40px
    }
}

.p-history__story .story .heading .en {
    margin-top: -4px;
    font-size: 40px;
    font-weight: 400;
    font-family: Average, 游ゴシック, Yu Gothic, Meiryo, sans-serif
}

@media only screen and (max-width:767px) {
    .p-history__story .story .heading .en {
        margin-top: -6px;
        font-size: 25px
    }
}

.p-history__story .story .heading .separator {
    vertical-align: text-top
}

.p-history__story .story .heading .ja {
    margin-left: 20px;
    font-size: 24px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-history__story .story .heading .ja {
        margin-left: 10px;
        font-size: 17px
    }
}

.p-history__story .story .heading .sub {
    margin-left: 10px;
    font-size: 20px;
    font-weight: 300
}

@media only screen and (max-width:767px) {
    .p-history__story .story .heading .sub {
        display: block;
        width: 100%;
        margin-top: 8px;
        margin-left: 0;
        font-size: 14px
    }
}

.p-history__story .story .content {
    display: flex
}

@media only screen and (max-width:767px) {
    .p-history__story .story .content {
        flex-wrap: wrap;
        flex-direction: column-reverse
    }
}

.p-history__story .story .text {
    flex: 1;
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-history__story .story .text {
        flex: 1 auto;
        font-size: 13px;
        line-height: 1.77
    }
}

.p-history__story .story .text>*+* {
    margin-top: 30px
}

@media only screen and (max-width:767px) {
    .p-history__story .story .text>*+* {
        margin-top: 15px
    }
}

.p-history__story .story .table dl {
    display: flex
}

.p-history__story .story .table dl:nth-child(2n-1) {
    background: #f7f6f6
}

.p-history__story .story .table dl:nth-child(2n) {
    background: #fff
}

.p-history__story .story .table dl dd,
.p-history__story .story .table dl dt {
    padding: 15px 25px
}

@media only screen and (max-width:767px) {
    .p-history__story .story .table dl dd,
    .p-history__story .story .table dl dt {
        padding: 10px 15px
    }
}

.p-history__story .story .table dl dt {
    flex-shrink: 0;
    width: 9.5em
}

@media only screen and (max-width:767px) {
    .p-history__story .story .table dl dt {
        width: 7.5em;
        padding-right: 0
    }
}

.p-history__story .story .table dl dd {
    padding-left: 0
}

.p-history__story .story .image {
    flex-shrink: 0
}

@media only screen and (max-width:767px) {
    .p-history__story .story .image {
        width: 100%;
        margin-bottom: 30px;
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    .p-history__story .story .image img {
        width: auto;
        max-height: 240px
    }
}

.p-history__history {
    background: #e5e5e5
}

@media only screen and (max-width:767px) {
    .p-history__history {
        padding-bottom: 40px
    }
}

.p-history__history .table {
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-history__history .table {
        padding: 0
    }
}

.p-history__history .table dl {
    display: flex
}

.p-history__history .table dl:nth-child(2n-1) {
    background: #f7f6f6
}

.p-history__history .table dl:nth-child(2n) {
    background: #fff
}

.p-history__history .table dl dd,
.p-history__history .table dl dt {
    padding: 18px 15px
}

@media only screen and (max-width:767px) {
    .p-history__history .table dl dd,
    .p-history__history .table dl dt {
        padding: 10px 15px;
        font-size: 13px;
        line-height: 1.77
    }
}

.p-history__history .table dl dt {
    flex-shrink: 0;
    width: 8.2em
}

@media only screen and (max-width:767px) {
    .p-history__history .table dl dt {
        width: 7.7em;
        padding-right: 0
    }
}

.p-history__history .table dl dd {
    padding-left: 0
}

.p-contact__wrapper {
    background: #f7f6f6
}

.p-contact .wrapper {
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-contact .wrapper {
        padding: 0
    }
}

.p-contact .heading {
    margin-bottom: 30px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-contact .heading {
        margin-bottom: 20px;
        font-size: 17px
    }
}

.p-contact .table dl {
    display: flex
}

@media only screen and (max-width:767px) {
    .p-contact .table dl {
        display: block
    }
}

.p-contact .table dl:nth-child(2n-1) {
    background: #e5e5e5
}

@media only screen and (max-width:767px) {
    .p-contact .table dl:nth-child(2n-1) {
        background: none
    }
}

.p-contact .table dl:nth-child(2n) {
    background: #fff
}

@media only screen and (max-width:767px) {
    .p-contact .table dl:nth-child(2n) {
        background: none
    }
}

.p-contact .table dl.required input:not([type=radio]),
.p-contact .table dl.required select,
.p-contact .table dl.required textarea {
    background: #ffebe0
}

.p-contact .table dl dd,
.p-contact .table dl dt {
    padding: 22px 35px;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-contact .table dl dd,
    .p-contact .table dl dt {
        display: block;
        padding: 8px 10px;
        font-size: 13px
    }
}

.p-contact .table dl dt {
    flex-shrink: 0;
    position: relative;
    width: 16.5em;
    padding-top: 33px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-contact .table dl dt {
        width: 100%;
        padding-top: 8px;
        background: #e5e5e5
    }
}

.p-contact .table dl dt .required {
    display: inline-block;
    position: absolute;
    top: 2.4em;
    right: 35px;
    padding: 3px 8px;
    background: #d97037;
    color: #fff;
    font-size: 14px;
    line-height: 1
}

@media only screen and (max-width:767px) {
    .p-contact .table dl dt .required {
        position: static;
        margin-left: 10px;
        font-size: 12px
    }
}

.p-contact .table dl dd {
    display: flex;
    flex-wrap: wrap;
    flex: 1 auto;
    align-items: center;
    margin: -5px;
    padding-left: 0
}

@media only screen and (max-width:767px) {
    .p-contact .table dl dd {
        display: block;
        margin: 0;
        padding-left: 10px;
        background: #fff
    }
}

.p-contact .table dl dd>* {
    margin: 5px
}

@media only screen and (max-width:767px) {
    .p-contact .table dl dd>* {
        margin: 0
    }
}

.p-contact .table dl dd .note {
    display: block
}

@media only screen and (max-width:767px) {
    .p-contact .table dl dd .note {
        display: none
    }
}

.p-contact .table input,
.p-contact .table select,
.p-contact .table textarea {
    padding: 10px 20px;
    border: 1px solid #c9c9c9;
    font-size: 15px
}

@media only screen and (max-width:767px) {
    .p-contact .table input,
    .p-contact .table select,
    .p-contact .table textarea {
        font-size: 16px
    }
}

.p-contact .table input,
.p-contact .table select {
    width: 250px
}

.p-contact .table select {
    padding-right: 40px
}

.p-contact .table input[name=your-name] {
    width: 400px
}

@media only screen and (max-width:767px) {
    .p-contact .table input[name=your-name] {
        width: 100%
    }
}

.p-contact .table input[name=your-email] {
    width: 625px
}

@media only screen and (max-width:767px) {
    .p-contact .table input[name=your-email] {
        width: 100%
    }
}

.p-contact .table input[type=file] {
    width: 400px
}

@media only screen and (max-width:767px) {
    .p-contact .table input[type=file] {
        width: 100%
    }
}

.p-contact .table input[type=radio] {
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    opacity: 0
}

.p-contact .table input[type=radio]:checked+label:after {
    opacity: 1
}

.p-contact .table input[type=radio]:focus+label:before {
    box-shadow: 0 0 2px #c9c9c9
}

.p-contact .table .mwform-file-delete {
    display: none
}

.p-contact .table .select {
    position: relative
}

@media only screen and (max-width:767px) {
    .p-contact .table .select {
        display: inline-block
    }
}

.p-contact .table .select.large,
.p-contact .table .select.large select {
    width: 100%
}

.p-contact .table .select:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 20px;
    width: 0;
    height: 0;
    border-color: #000 transparent transparent;
    border-style: solid;
    border-width: 8px 5px 0;
    pointer-events: none;
    content: ""
}

.p-contact .table .radio {
    display: inline-block;
    position: relative;
    margin-top: 8px;
    line-height: 1;
    cursor: pointer
}

@media only screen and (max-width:767px) {
    .p-contact .table .radio {
        margin-top: 0
    }
}

.p-contact .table .radio+* {
    margin-left: 20px
}

.p-contact .table .radio label {
    padding-left: 24px;
    letter-spacing: .05em
}

.p-contact .table .radio label:after,
.p-contact .table .radio label:before {
    position: absolute;
    content: ""
}

.p-contact .table .radio label:before {
    top: 0;
    left: 0;
    width: 16px;
    height: 16px;
    border: 1px solid #c9c9c9;
    border-radius: 50%;
    background: #fff
}

.p-contact .table .radio label:after {
    top: 4px;
    left: 4px;
    border: 4px solid;
    border-radius: 50%;
    opacity: 0;
    transition: opacity .2s ease-in-out
}

.p-contact .table textarea {
    width: 100%;
    min-height: 150px
}

.p-contact .table .submit {
    margin-top: 45px;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-contact .table .submit {
        margin-top: 20px
    }
}

.p-contact .table .submit .note {
    display: block;
    margin-top: 20px;
    font-size: 15px;
    letter-spacing: .04em;
    text-align: center
}

.p-contact .table .button {
    display: inline-block;
    position: relative;
    color: #fff
}

.p-contact .table .button:after {
    display: inline-block;
    position: absolute;
    top: 50%;
    right: 20px;
    width: 6px;
    height: 6px;
    margin-left: 5px;
    border-top: 1px solid;
    border-right: 1px solid;
    transform: rotate(45deg) translateY(calc(-50% - 2px));
    content: ""
}

.p-contact .table .button button {
    display: inline-block;
    width: 320px;
    padding: 15px 40px;
    background: #d97037;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: .04em;
    text-decoration: none;
    text-align: center;
    transition: all .2s
}

@media only screen and (max-width:767px) {
    .p-contact .table .button button {
        width: auto;
        padding: 8px 40px;
        font-size: 13px
    }
}

.p-contact .table .button button:focus,
.p-contact .table .button button:hover {
    opacity: .7
}

.p-recruit__wrapper {
    background: #f7f6f6
}

.p-recruit__intro .main {
    margin-bottom: 60px
}

@media only screen and (max-width:767px) {
    .p-recruit__intro .main {
        margin-bottom: 30px
    }
}

.p-recruit__intro .text {
    margin-top: -30px;
    padding: 0 130px
}

@media only screen and (max-width:767px) {
    .p-recruit__intro .text {
        margin-top: -10px;
        padding: 0
    }
}

.p-recruit__intro .text>*+* {
    margin-top: 40px
}

@media only screen and (max-width:767px) {
    .p-recruit__intro .text>*+* {
        margin-top: 30px
    }
}

.p-recruit__intro .text p {
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-recruit__intro .text p {
        font-size: 13px;
        line-height: 1.77
    }
}

.p-recruit__intro .text p:not(.image) {
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-recruit__intro .text p:not(.image) {
        padding: 0
    }
}

.p-recruit__intro .text p.centered {
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-recruit__intro .text p.centered {
        text-align: left
    }
}

.p-recruit__attraction {
    padding: 80px 0 130px;
    background: url(images/recruit/attraction_bg.jpg) 50%/cover no-repeat;
    color: #fff
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction {
        padding: 50px 0;
        background-image: url(images/recruit/attraction_bg_sp.jpg)
    }
}

.p-recruit__attraction .wrapper {
    padding: 0 200px
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .wrapper {
        padding: 0
    }
}

.p-recruit__attraction .list {
    margin-bottom: 60px;
    padding: 50px 155px;
    border: 1px solid
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .list {
        padding: 20px 15px
    }
}

.p-recruit__attraction .list ul {
    list-style: none
}

.p-recruit__attraction .list ul li {
    display: flex;
    align-items: center;
    font-size: 20px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .list ul li {
        font-size: 15px
    }
}

.p-recruit__attraction .list ul li+li {
    margin-top: 15px
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .list ul li+li {
        margin-top: 8px
    }
}

.p-recruit__attraction .list ul li:before {
    display: inline-block;
    width: 32px;
    height: 25px;
    margin-right: 20px;
    background: url(images/recruit/icon_checked.png) 50%/contain no-repeat;
    content: ""
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .list ul li:before {
        width: 21.33px;
        height: 16.67px;
        margin-right: 10px
    }
}

.p-recruit__attraction .heading {
    margin-bottom: 30px;
    font-size: 20px;
    font-weight: 600;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .heading {
        margin-bottom: 20px;
        font-size: 15px
    }
}

.p-recruit__attraction .text {
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-recruit__attraction .text {
        font-size: 13px;
        line-height: 1.54
    }
}

.p-recruit__detail {
    background: #f7f6f6
}

@media only screen and (max-width:767px) {
    .p-recruit__detail {
        padding-bottom: 40px
    }
}

.p-recruit__detail .wrapper {
    padding: 0 60px
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .wrapper {
        padding: 0
    }
}

.p-recruit__detail .header {
    position: relative;
    margin-bottom: 60px;
    padding-right: 350px;
    padding-bottom: 30px;
    border-bottom: 1px solid #8d8d8d
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .header {
        margin-bottom: 40px;
        padding-right: 0
    }
}

.p-recruit__detail .heading {
    margin-bottom: 25px;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .04em
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .heading {
        margin-bottom: 10px;
        font-size: 17px
    }
}

.p-recruit__detail .meta {
    display: flex;
    align-items: center;
    color: #14485F;
    font-weight: 600;
    letter-spacing: .04em
}

.p-recruit__detail .category {
    font-size: 20px
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .category {
        font-size: 15px
    }
}

.p-recruit__detail .tag {
    margin-left: 20px
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .tag {
        margin-left: 10px
    }
}

.p-recruit__detail .tag>span {
    display: inline-block;
    margin: 0 2px;
    padding: 2px 20px;
    border: 1px solid;
    background: #fff;
    font-size: 16px
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .tag>span {
        font-size: 13px
    }
}

.p-recruit__detail .entry {
    position: absolute;
    top: 0;
    right: 0
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .entry {
        position: static;
        margin-top: 20px
    }
}

.p-recruit__detail .content h2 {
    display: flex;
    align-items: center;
    position: relative;
    margin: 34px 0 18px;
    padding-bottom: 6px;
    padding-left: 20px;
    border-bottom: 1px dotted #626262;
    font-size: 18px;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content h2 {
        margin-top: 25px;
        margin-bottom: 10px;
        padding-left: 15px;
        font-size: 14px
    }
}

.p-recruit__detail .content h2:before {
    display: inline-block;
    width: 3px;
    height: 20px;
    background: #14485F;
    margin-right: 15px;
    content: ""
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content h2:before {
        height: 16px;
        margin-right: 10px
    }
}

.p-recruit__detail .content p {
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content p {
        padding: 0 10px;
        font-size: 13px;
        line-height: 1.77
    }
}

.p-recruit__detail .content .table {
    margin-top: 60px;
    margin-bottom: 40px
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table {
        margin-top: 30px;
        margin-bottom: 30px
    }
}

.p-recruit__detail .content .table dl {
    display: flex
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table dl {
        display: block
    }
}

.p-recruit__detail .content .table dl:nth-child(2n-1) {
    background: #e5e5e5
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table dl:nth-child(2n-1) {
        background: none
    }
}

.p-recruit__detail .content .table dl:nth-child(2n) {
    background: #fff
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table dl:nth-child(2n) {
        background: none
    }
}

.p-recruit__detail .content .table dl dd,
.p-recruit__detail .content .table dl dt {
    padding: 15px 25px;
    font-size: 15px;
    line-height: 2
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table dl dd,
    .p-recruit__detail .content .table dl dt {
        font-size: 13px;
        line-height: 1.77
    }
}

.p-recruit__detail .content .table dl dt {
    flex-shrink: 0;
    width: 12em;
    font-weight: 600
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table dl dt {
        width: 100%;
        padding: 10px 15px;
        background: #e5e5e5
    }
}

.p-recruit__detail .content .table dl dd {
    padding-left: 0
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .table dl dd {
        padding: 10px 15px;
        background: #fff
    }
}

.p-recruit__detail .content .cta {
    display: flex;
    align-items: center;
    justify-content: center
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .cta {
        display: block
    }
}

.p-recruit__detail .content .cta>* {
    margin: 0 10px
}

@media only screen and (max-width:767px) {
    .p-recruit__detail .content .cta>* {
        margin: 15px 0
    }
}

.p-page__wrapper {
    padding: 50px 0;
    background: #fff
}

@media only screen and (max-width:767px) {
    .p-page__wrapper {
        padding: 20px 0
    }
}

.is-locked {
    overflow: hidden!important
}

.p-top__mainvisual .flickity-button {
    background: none
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .flickity-prev-next-button {
        width: 20px;
        height: 20px
    }
}

.p-top__mainvisual .flickity-prev-next-button .flickity-button-icon {
    fill: #fff
}

.p-top__mainvisual .flickity-prev-next-button.previous {
    left: -40px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .flickity-prev-next-button.previous {
        left: 10px
    }
}

.p-top__mainvisual .flickity-prev-next-button.next {
    right: -40px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .flickity-prev-next-button.next {
        right: 10px
    }
}

.p-top__mainvisual .flickity-page-dots {
    bottom: 100px
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .flickity-page-dots {
        bottom: 38px
    }
}

.p-top__mainvisual .flickity-page-dots .dot {
    background: #fff;
    opacity: 1
}

@media only screen and (max-width:767px) {
    .p-top__mainvisual .flickity-page-dots .dot {
        width: 5px;
        height: 5px;
        margin: 0 2px
    }
}

.p-top__groups .flickity-button,
.p-top__mainvisual .flickity-page-dots .dot.is-selected {
    background: #14485F
}

.p-top__groups .flickity-button:hover {
    background: #14485F;
    opacity: .7
}

.p-top__groups .flickity-button-icon {
    fill: #fff!important
}

.p-top__groups .flickity-prev-next-button {
    transform: translateY(calc(-50% - 10px));
    width: 22px;
    height: 22px
}

.p-top__groups .flickity-prev-next-button .flickity-button-icon {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 8px;
    height: 8px
}

.p-top__groups .flickity-prev-next-button.previous {
    left: -11px
}

.p-top__groups .flickity-prev-next-button.next {
    right: -11px
}

@media only screen and (max-width:767px) {
    .u-pc {
        display: none!important
    }
}

.u-sp {
    display: none!important
}

@media only screen and (max-width:767px) {
    .u-sp {
        display: initial!important
    }
}


/*multi colum*/
.col {
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-box;
  /*Android 4.3>=*/
  display: -webkit-flex;
  /*Safari, Chrome, Opera*/
  display: flex;
  /*IE11, Firefox*/
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.col__box {
  position: relative;
}
.col3-7 .col__box {
  width: 23.5%;
  margin-right: 3%;
}
@media (max-width: 767px) {
  .col3-7 .col__box {
    width: 100%;
    margin-right: 0;
  }
}
.col3-7 .col__box + .col__box {
  width: 73.5%;
  margin-right: 0;
}
@media (max-width: 767px) {
  .col3-7 .col__box + .col__box {
    width: 100%;
    margin-top: 2em;
  }
}




/*sdgs*/
.alt-title {
  position: absolute;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(0px 0px 99.9% 99.9%);
  clip-path: inset(0px 0px 99.9% 99.9%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  padding: 0;
  border: 0;
}
.p-sdgs__desc {
    padding: 15px 150px 0;
    font-size: 20px;
    letter-spacing: .04em;
    line-height: 2.25;
    text-align: center
}

@media only screen and (max-width:767px) {
    .p-sdgs__desc {
        padding: 0;
        font-size: 15px;
        text-align: left;
        line-height: 1.85;
    }
}

.p-sdgs__cont {
    padding: 0 130px
}
@media only screen and (max-width:767px) {
   .p-sdgs__cont {
        padding: 0
    }
}
.p-sdgs__cont h3{
	text-align:center;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.42;
	margin: 0 -50px 1em -50px;
	padding:0.5em 0;
	background:#14485F;
	color:#fff;
}
.p-sdgs__cont h3 + p{
	text-align:center;
	font-size: 20px;
	line-height: 1.9;
	font-weight: 400;
}
.p-sdgs__cont section{
	border:1px solid #14485F;
	padding:0 50px 50px 50px;
}

.p-sdgs__cont section + section{
	margin-top:4em;
}
.p-sdgs__cont ul{
	margin:1em 0 1em 2em;
}
@media only screen and (max-width:767px) {
	.p-sdgs__cont section{
		padding:0 10px 10px 10px;
	}
	.p-sdgs__cont section + section{
		margin-top:2em;
	}
   .p-sdgs__cont h3{
	   margin-left:-10px;
	   margin-right:-10px;
	   font-size:18px;
   }
   .p-sdgs__cont h3 + p{
	font-size:15px;
	}

}

.sdgs-relationships {
  margin: 2em 0 0 0;
}
.sdgs-relationships dt {
  font-weight: bold;
  font-size: 110%;
  margin: 0;
}
.sdgs-relationships dd {
  margin: 1em 0 0 0;
  padding: 0;
}
.sdgs-relationships dd + dt{
	margin-top:2em;
}
.sdgs-icons {
  margin: 0  !important;
  padding: 0 !important;
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-box;
  /*Android 4.3>=*/
  display: -webkit-flex;
  /*Safari, Chrome, Opera*/
  display: flex;
  /*IE11, Firefox*/
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.sdgs-icons li {
  list-style: none;
  width: calc( 16.6666% - 12px );
  margin: 0 10px 0 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
}
.sdgs-icons li:nth-child(8n) {
  margin-right: 0;
}
.sdgs-icons li:before {
  content: '';
  display: block;
  padding-top: 100%;
}
.sdgs-icons--1 {
  background-image: url(images/about/sdgs/icon1.svg);
}
.sdgs-icons--2 {
  background-image: url(images/about/sdgs/icon2.svg);
}
.sdgs-icons--3 {
  background-image: url(images/about/sdgs/icon3.svg);
}
.sdgs-icons--4 {
  background-image: url(images/about/sdgs/icon4.svg);
}
.sdgs-icons--5 {
  background-image: url(images/about/sdgs/icon5.svg);
}
.sdgs-icons--6 {
  background-image: url(images/about/sdgs/icon6.svg);
}
.sdgs-icons--7 {
  background-image: url(images/about/sdgs/icon7.svg);
}
.sdgs-icons--8 {
  background-image: url(images/about/sdgs/icon8.svg);
}
.sdgs-icons--9 {
  background-image: url(images/about/sdgs/icon9.svg);
}
.sdgs-icons--10 {
  background-image: url(images/about/sdgs/icon10.svg);
}
.sdgs-icons--11 {
  background-image: url(images/about/sdgs/icon11.svg);
}
.sdgs-icons--12 {
  background-image: url(images/about/sdgs/icon12.svg);
}
.sdgs-icons--13 {
  background-image: url(images/about/sdgs/icon13.svg);
}
.sdgs-icons--14 {
  background-image: url(images/about/sdgs/icon14.svg);
}
.sdgs-icons--15 {
  background-image: url(images/about/sdgs/icon15.svg);
}
.sdgs-icons--16 {
  background-image: url(images/about/sdgs/icon16.svg);
}
.sdgs-icons--17 {
  background-image: url(images/about/sdgs/icon17.svg);
}


/*anchor*/

.c_button {
  overflow: hidden;
  position: relative;
  background-color: #14485F;
  height: 4em;
  line-height: 4em;
  max-width: 30em;
  text-align: left;
  font-size: 105%;
  font-weight: bold;
  padding: 0 2em 0 2em;
  margin-left: auto;
  margin-right: auto;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .c_button {
    max-width: 80%;
    height: 3.5em;
    line-height: 3.5em;
  }
}
.c_button_single {
  min-width: 250px;
  font-weight: bold;
  letter-spacing: 0.01em;
}
@media (max-width: 767px) {
  .c_button_single {
    min-width: 220px;
    width: 100%;
  }
}
.c_button + .c_button {
  margin-left: 20px;
}
.c_button:before {
  content: '';
  position: absolute;
  z-index: 1;
  top: -10%;
  left: 190%;
  height: 120%;
  width: 140%;
  opacity: .15;
  background-color: #000;
  -webkit-transform: skew(-45deg) translateX(20px);
  -ms-transform: skew(-45deg) translateX(20px);
  transform: skew(-45deg) translateX(20px);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
}
.c_button:after {
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: translateX(-5px) rotate(45deg);
  position: absolute;
  top: 50%;
  right: 2em;
  margin-top: -4px;
  transition: transform .3s;
}
@media (max-width: 767px) {
  .c_button:after {
    right: 1em;
  }
}
.c_button:hover {
  text-decoration: none !important;
}
.c_button:hover:before {
  left: -250%;
  -webkit-transition: all 1s;
  transition: all 1s;
}
.c_button:hover:after {
  transform: translateX(0) rotate(45deg);
}
.c_button_text {
  color: #fff;
}
.c_button_wrapper {
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-box;
  /*Android 4.3>=*/
  display: -webkit-flex;
  /*Safari, Chrome, Opera*/
  display: flex;
  /*IE11, Firefox*/
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c_button_plus {
  position: relative;
  display: block;
  min-width: 0;
  width: 2.5em;
  height: 100%;
  margin: 0 0 0 auto;
  padding: 0;
  background-color: #14485F;
}
.c_button_plus:after {
  left: 50%;
  transform: translateX(-50%) rotate(135deg);
}
.c_button_plus:hover:after {
  transform: translateX(-50%) rotate(135deg);
}
.c_anchorlink {
  color: #231815 !important;
  text-decoration: none !important;
  width: calc( 50% - 10px );
  margin-right: 20px;
  background: #d4d4d4;
  line-height: 1.4;
  min-height: 2.5em;
  padding-left: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.c_anchorlink:nth-child(2n) {
  margin-right: 0;
}
.c_anchorlink:nth-child(n+3) {
  margin-top: 1.5em;
}
@media (max-width: 767px) {
  .c_anchorlink {
    width: 100%;
    margin-right: 0;
  }
  .c_anchorlink:nth-child(n+2) {
    margin-top: 1em;
  }
}
.c_anchorlink:hover .c_button:before {
  left: -250%;
  -webkit-transition: all 1s;
  transition: all 1s;
}
.c_anchorlink_text {
  padding: 2px 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0px;
  flex: 1 1 0;
}
.c_anchorlink_button {
  padding-left: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
.c_anchorlink_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top:3em;
  margin-bottom:3em;
}
@media (max-width: 767px) {
.c_anchorlink_wrap {
  margin-top:1.33em;
  margin-bottom:1.33em;
}
}

.badges{
	display:block;
	font-size:14px;
}
@media only screen and (max-width:767px) {
.badges{
	font-size:13px;
}
}

.badge{
	display:inline-block;
}
.badge + .badge{
	margin-left:10px;
}
@media only screen and (max-width:767px) {
.badge + .badge{
	margin-left:5px;
}
}
.badges a{
	color:inherit;
	display:inline-block;
	text-decoration: none;
	border:0 none;
}
.badge span{
	line-height: 28px;
	font-size:100%;
	letter-spacing:0;
	padding:0 1em;
	display:inline-block;
}
@media only screen and (max-width:767px) {
.badge span{
	padding:0 0.5em;
	line-height: 20px;
}
}
.badge-category{
	background-color:#14485F;
	color:#fff;
	border:1px solid #14485F;
}
.badge-tag{
	background:transparent;
	color:#14485F;
	border:1px solid #14485F;
}
.news__article{
	border-top:1px solid #ddd;
}
.news__article:last-child{
	border-bottom:1px solid #ddd;
}
.news__article a{
	display:block;
	position: relative;
	padding: 1em 0 0 0;
	text-decoration: none;
	color:#000;
}
@media only screen and (max-width:767px) {
.news__article a{
padding-top:0.66em;
}
}
.news__article a:hover{
	text-decoration: none:
}
.news__article__badges{
	width:100%;	
}
.news__article__badges time{
	margin-right:5px;
	width:7.5em;
	display:inline-block;
	white-space: nowrap;
}
@media only screen and (max-width:767px) {
.news__article__badges time{
display:block;
margin:0 0 5px 0;
}
}
.news__article__title{
	width:100%;
	display: block;
	padding:1em 0;
}
@media only screen and (max-width:767px) {
.news__article__title{
padding:0.66em 0;
}
}
.news__article a:hover .news__article__title{
	text-decoration: underline;
}
.js-fileds{
display: -ms-flexbox;
display: -webkit-box;
display: -webkit-flex;
display: flex;
-webkit-flex-wrap: wrap;
-ms-flex-wrap: wrap;
flex-wrap: wrap;
margin:0 60px 30px 60px;
padding:30px;
background: #f0f3f5;
}
@media only screen and (max-width:767px) {
.js-fileds{
padding: 10px;
margin:0 0 20px 0;
}
}
.js-filed{
width: calc( 33.333% - 8px );
margin-right:12px;
position:relative;
}
.js-filed:last-child{
margin-right:0;
}
@media only screen and (max-width:767px) {
.js-filed{
width:100%;
margin-right:0;
}
.js-filed + .js-filed{
margin-top:10px;
}
}

.js-filed select{
position:absolute;
opacity: 0;
position: absolute;
top: 0;
left: 0;
z-index: 2;
width: 100%;
height: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
box-sizing: border-box;
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border: 0 none;
border-radius: 0;
font-size: 16px;
padding:0;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.js-filed__dropdown{
display: block;
z-index: 1;
position: relative;
width: 100%;
border-radius: 50px;
background-color: #fff;
box-shadow: 0 1px 7px 1px rgba(0, 0, 0, 0.1);
border-radius: 50px;
padding:0.5em 1em;
box-sizing:border-box;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.js-filed__dropdown:after{
content: "";
z-index: 0;
position: absolute;
top: 50%;
right: 18px;
border-width: 8px 6px 0;
width: 0;
height: 0;
margin-top: -4px;
border-style: solid;
border-color: #14485F transparent transparent transparent;
}
.js-filed:hover .js-filed__dropdown{
background-color: #14485F;
color:#fff;
}
.js-filed:hover .js-filed__dropdown:after{
border-color: #fff transparent transparent transparent;
}
#ajax{
position:relative;
}
#ajax > *{
transition:opacity 0.3s;
}
#ajax.loading > *{
opacity: 0;
}
#ajax.loading .ajaxloading {
display: block;
}
.ajaxloading {
display: none;
opacity: 1 !important;
height: 100%;
width: 100%;
position: absolute;
top:0;
left:0;
cursor: progress;
}
.ajaxloading:before {
content: "";
position: absolute;
top: 0;
left: 50%;
width: 5em;
height: 5em;
margin-left: -2.5em;
border-radius: 50%;
border: 0.25em solid #ccc;
border-top-color: #14485F;
animation: spinner 1s linear infinite;
}


@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

    .c-sitemap .wrapper > ul {
        list-style: none;
        margin: 0;
        padding: 2em 0;
        display: -ms-flexbox;
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width:100%;
    }
    .c-sitemap .wrapper > ul > li {
        line-height: 1.4;
        letter-spacing: 0.01;
        width: 32%;
        margin: 0 2% 0 0;
        padding: 0;
    }
    .c-sitemap .wrapper > ul > li:nth-child(3n) {
        margin-right: 0;
    }
    .c-sitemap .wrapper > ul > li a {
        display: block;
        padding: 0.5em 0;
        color: #000;
        font-size: 15px;
        letter-spacing: .04em;
        text-decoration: none
    }
    .c-sitemap .wrapper > ul > li a img {
        vertical-align: middle;
    }

    .c-sitemap .wrapper > ul > li a span {
        margin-left: 0.5em;
    }

    @media only screen and (max-width: 767px) {
        .c-sitemap {
            display: block;
            padding: 10px 0;
        }

        .c-sitemap .wrapper > ul {
            padding: 0.5em 0;
            display: block;
            width: 100%;
        }

        .c-sitemap .wrapper > ul > li {
            width: 100%;
            margin-right: 0;
            text-align: center;
        }

        .c-sitemap .wrapper > ul > li:not(.sns) {
            display: none;
        }

        .c-sitemap .wrapper > ul > li a {
            font-size: 4vw;
        }
    }


.c-sitemap .wrapper > .lang {
  margin: 0 auto;
  padding: 0;
  width: 200px;
  height: 40px;
  line-height: 40px;
  list-style: none;
  text-align: center;
  position: relative;
  display: -ms-flexbox;
  display: -webkit-box;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.c-sitemap .wrapper > .lang li {
  width: calc( 50% - 5px );
  margin:0;
  display: block;
  line-height: inherit;
}
.c-sitemap .wrapper > .lang li + li {
  margin-left: 10px;
}
.c-sitemap .wrapper > .lang a {
  display: block;
  padding: 0 1em;
  color: #14485F;
  text-decoration: none;
  white-space: nowrap;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-size:12px;
}
.c-sitemap .wrapper > .lang a:hover,
html:lang(ja) .c-sitemap .wrapper .lang .lang--ja a,
html:lang(en) .c-sitemap .wrapper .lang .lang--en a{
  color: #fff !important;
  background-color: #14485F;
  border-radius: 2em;
}
@media only screen and (max-width: 767px) {
.c-sitemap .wrapper > .lang li {display: block !important;}
}


/**
 * Swiper 6.8.4
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: August 23, 2021
 */

@font-face{font-family:swiper-icons;src:url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA') format('woff');font-weight:400;font-style:normal}:root{--swiper-theme-color:#007aff}.swiper-container{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1}.swiper-container-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-container-android .swiper-slide,.swiper-wrapper{transform:translate3d(0px,0,0)}.swiper-container-multirow>.swiper-wrapper{flex-wrap:wrap}.swiper-container-multirow-column>.swiper-wrapper{flex-wrap:wrap;flex-direction:column}.swiper-container-free-mode>.swiper-wrapper{transition-timing-function:ease-out;margin:0 auto}.swiper-container-pointer-events{touch-action:pan-y}.swiper-container-pointer-events.swiper-container-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform}.swiper-slide-invisible-blank{visibility:hidden}.swiper-container-autoheight,.swiper-container-autoheight .swiper-slide{height:auto}.swiper-container-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-container-3d{perspective:1200px}.swiper-container-3d .swiper-cube-shadow,.swiper-container-3d .swiper-slide,.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top,.swiper-container-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-container-3d .swiper-slide-shadow-bottom,.swiper-container-3d .swiper-slide-shadow-left,.swiper-container-3d .swiper-slide-shadow-right,.swiper-container-3d .swiper-slide-shadow-top{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-container-3d .swiper-slide-shadow-left{background-image:linear-gradient(to left,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-right{background-image:linear-gradient(to right,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-top{background-image:linear-gradient(to top,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,rgba(0,0,0,.5),rgba(0,0,0,0))}.swiper-container-css-mode>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none}.swiper-container-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-container-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-container-horizontal.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-container-vertical.swiper-container-css-mode>.swiper-wrapper{scroll-snap-type:y mandatory}:root{--swiper-navigation-size:44px}.swiper-button-next,.swiper-button-prev{position:absolute;top:50%;width:calc(var(--swiper-navigation-size)/ 44 * 27);height:var(--swiper-navigation-size);margin-top:calc(0px - (var(--swiper-navigation-size)/ 2));z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color,var(--swiper-theme-color))}.swiper-button-next.swiper-button-disabled,.swiper-button-prev.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}.swiper-button-next:after,.swiper-button-prev:after{font-family:swiper-icons;font-size:var(--swiper-navigation-size);text-transform:none!important;letter-spacing:0;text-transform:none;font-variant:initial;line-height:1}.swiper-button-prev,.swiper-container-rtl .swiper-button-next{left:10px;right:auto}.swiper-button-prev:after,.swiper-container-rtl .swiper-button-next:after{content:'prev'}.swiper-button-next,.swiper-container-rtl .swiper-button-prev{right:10px;left:auto}.swiper-button-next:after,.swiper-container-rtl .swiper-button-prev:after{content:'next'}.swiper-button-next.swiper-button-white,.swiper-button-prev.swiper-button-white{--swiper-navigation-color:#ffffff}.swiper-button-next.swiper-button-black,.swiper-button-prev.swiper-button-black{--swiper-navigation-color:#000000}.swiper-button-lock{display:none}.swiper-pagination{position:absolute;text-align:center;transition:.3s opacity;transform:translate3d(0,0,0);z-index:10}.swiper-pagination.swiper-pagination-hidden{opacity:0}.swiper-container-horizontal>.swiper-pagination-bullets,.swiper-pagination-custom,.swiper-pagination-fraction{bottom:10px;left:0;width:100%}.swiper-pagination-bullets-dynamic{overflow:hidden;font-size:0}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transform:scale(.33);position:relative}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main{transform:scale(1)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev{transform:scale(.33)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next{transform:scale(.66)}.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next{transform:scale(.33)}.swiper-pagination-bullet{width:8px;height:8px;display:inline-block;border-radius:50%;background:#000;opacity:.2}button.swiper-pagination-bullet{border:none;margin:0;padding:0;box-shadow:none;-webkit-appearance:none;appearance:none}.swiper-pagination-clickable .swiper-pagination-bullet{cursor:pointer}.swiper-pagination-bullet:only-child{display:none!important}.swiper-pagination-bullet-active{opacity:1;background:var(--swiper-pagination-color,var(--swiper-theme-color))}.swiper-container-vertical>.swiper-pagination-bullets{right:10px;top:50%;transform:translate3d(0px,-50%,0)}.swiper-container-vertical>.swiper-pagination-bullets .swiper-pagination-bullet{margin:6px 0;display:block}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{top:50%;transform:translateY(-50%);width:8px}.swiper-container-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{display:inline-block;transition:.2s transform,.2s top}.swiper-container-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet{margin:0 4px}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic{left:50%;transform:translateX(-50%);white-space:nowrap}.swiper-container-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s left}.swiper-container-horizontal.swiper-container-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet{transition:.2s transform,.2s right}.swiper-pagination-progressbar{background:rgba(0,0,0,.25);position:absolute}.swiper-pagination-progressbar .swiper-pagination-progressbar-fill{background:var(--swiper-pagination-color,var(--swiper-theme-color));position:absolute;left:0;top:0;width:100%;height:100%;transform:scale(0);transform-origin:left top}.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill{transform-origin:right top}.swiper-container-horizontal>.swiper-pagination-progressbar,.swiper-container-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite{width:100%;height:4px;left:0;top:0}.swiper-container-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-container-vertical>.swiper-pagination-progressbar{width:4px;height:100%;left:0;top:0}.swiper-pagination-white{--swiper-pagination-color:#ffffff}.swiper-pagination-black{--swiper-pagination-color:#000000}.swiper-pagination-lock{display:none}.swiper-scrollbar{border-radius:10px;position:relative;-ms-touch-action:none;background:rgba(0,0,0,.1)}.swiper-container-horizontal>.swiper-scrollbar{position:absolute;left:1%;bottom:3px;z-index:50;height:5px;width:98%}.swiper-container-vertical>.swiper-scrollbar{position:absolute;right:3px;top:1%;z-index:50;width:5px;height:98%}.swiper-scrollbar-drag{height:100%;width:100%;position:relative;background:rgba(0,0,0,.5);border-radius:10px;left:0;top:0}.swiper-scrollbar-cursor-drag{cursor:move}.swiper-scrollbar-lock{display:none}.swiper-zoom-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;text-align:center}.swiper-zoom-container>canvas,.swiper-zoom-container>img,.swiper-zoom-container>svg{max-width:100%;max-height:100%;object-fit:contain}.swiper-slide-zoomed{cursor:move}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;animation:swiper-preloader-spin 1s infinite linear;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{100%{transform:rotate(360deg)}}.swiper-container .swiper-notification{position:absolute;left:0;top:0;pointer-events:none;opacity:0;z-index:-1000}.swiper-container-fade.swiper-container-free-mode .swiper-slide{transition-timing-function:ease-out}.swiper-container-fade .swiper-slide{pointer-events:none;transition-property:opacity}.swiper-container-fade .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-fade .swiper-slide-active,.swiper-container-fade .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube{overflow:visible}.swiper-container-cube .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1;visibility:hidden;transform-origin:0 0;width:100%;height:100%}.swiper-container-cube .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-cube.swiper-container-rtl .swiper-slide{transform-origin:100% 0}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-cube .swiper-slide-active,.swiper-container-cube .swiper-slide-next,.swiper-container-cube .swiper-slide-next+.swiper-slide,.swiper-container-cube .swiper-slide-prev{pointer-events:auto;visibility:visible}.swiper-container-cube .swiper-slide-shadow-bottom,.swiper-container-cube .swiper-slide-shadow-left,.swiper-container-cube .swiper-slide-shadow-right,.swiper-container-cube .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}.swiper-container-cube .swiper-cube-shadow{position:absolute;left:0;bottom:0px;width:100%;height:100%;opacity:.6;z-index:0}.swiper-container-cube .swiper-cube-shadow:before{content:'';background:#000;position:absolute;left:0;top:0;bottom:0;right:0;filter:blur(50px)}.swiper-container-flip{overflow:visible}.swiper-container-flip .swiper-slide{pointer-events:none;-webkit-backface-visibility:hidden;backface-visibility:hidden;z-index:1}.swiper-container-flip .swiper-slide .swiper-slide{pointer-events:none}.swiper-container-flip .swiper-slide-active,.swiper-container-flip .swiper-slide-active .swiper-slide-active{pointer-events:auto}.swiper-container-flip .swiper-slide-shadow-bottom,.swiper-container-flip .swiper-slide-shadow-left,.swiper-container-flip .swiper-slide-shadow-right,.swiper-container-flip .swiper-slide-shadow-top{z-index:0;-webkit-backface-visibility:hidden;backface-visibility:hidden}
/*
 *  Remodal - v1.1.0
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */

/* ==========================================================================
   Remodal's necessary styles
   ========================================================================== */

/* Hide scroll bar */

html.remodal-is-locked {
  overflow:hidden;
  -ms-touch-action: none;
  touch-action: none;
}


/* Anti FOUC */

.remodal,
[data-remodal-id] {
  display: none;
}

/* Necessary styles of the overlay */

.remodal-overlay {
  position: fixed;
  z-index: 9999;
  top: -5000px;
  right: -5000px;
  bottom: -5000px;
  left: -5000px;

  display: none;
}

/* Necessary styles of the wrapper */

.remodal-wrapper {
  position: fixed;
  z-index: 10000;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;

  display: none;
  overflow: auto;

  text-align: center;

  -webkit-overflow-scrolling: touch;
}

.remodal-wrapper:after {
  display: inline-block;

  height: 100%;
  margin-left: -0.05em;

  content: "";
}

/* Fix iPad, iPhone glitches */

.remodal-overlay,
.remodal-wrapper {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}

/* Necessary styles of the modal dialog */

.remodal {
  position: relative;

  outline: none;

  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

.remodal-is-initialized {
  /* Disable Anti-FOUC */
  display: inline-block;
}

/*
 *  Remodal - v1.1.0
 *  Responsive, lightweight, fast, synchronized with CSS animations, fully customizable modal window plugin with declarative configuration and hash tracking.
 *  http://vodkabears.github.io/remodal/
 *
 *  Made by Ilya Makarov
 *  Under MIT License
 */

/* ==========================================================================
   Remodal's default mobile first theme
   ========================================================================== */

/* Default theme styles for the background */

.remodal-bg.remodal-is-opening,
.remodal-bg.remodal-is-opened {
  -webkit-filter: blur(3px);
  filter: blur(3px);
}

/* Default theme styles of the overlay */

.remodal-overlay {
  background: rgba(0, 0, 0, 0.3);
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
  -webkit-animation-name: remodal-overlay-opening-keyframes;
  animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
  -webkit-animation-name: remodal-overlay-closing-keyframes;
  animation-name: remodal-overlay-closing-keyframes;
}

/* Default theme styles of the wrapper */

.remodal-wrapper {
  padding: 10px 10px 0;
}

/* Default theme styles of the modal dialog */

.remodal {
  box-sizing: border-box;
  width: 100%;
  min-height:80vh;
  margin-top: 0px;
  margin-bottom: 0px;
  padding: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  color: #000;
  background: #fff;
  box-shadow:0 0 25px rgba(0,0,0,0.2), 0 0 25px rgba(0,0,0,0.2), 0 0 8px rgba(0,0,0,0.2);
}
@media only screen and (max-width:767px){

.remodal {
    text-align: left;
    box-shadow:0 0 12px rgba(0,0,0,0.2), 0 0 12px rgba(0,0,0,0.2), 0 0 4px rgba(0,0,0,0.2);
}
}
.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
  -webkit-animation-duration: 0.3s;
  animation-duration: 0.3s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
  -webkit-animation-name: remodal-opening-keyframes;
  animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
  -webkit-animation-name: remodal-closing-keyframes;
  animation-name: remodal-closing-keyframes;
}

/* Vertical align of the modal dialog */

.remodal,
.remodal-wrapper:after {
  vertical-align: middle;
}

/* Close button */

.remodal-close {
  z-index: 100;
  position: sticky;
  top:0;
  right: 0;
  display: block;
  overflow: visible;
  width: 60px;
  height: 60px;
  margin:0 0 0 auto;
  padding: 0;
  cursor: pointer;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
  text-decoration: none;
  color: #fff;
  background-color:#14485F;
  border: 0;
  outline: 0;
}
@media only screen and (max-width:767px){
.remodal-close {
  width: 48px;
  height: 48px;
}

}
.remodal-close:hover,
.remodal-close:focus {
  color: #999;
}

.remodal-close:before {
    display:block;
    font-family: Arial, "Helvetica CY", "Nimbus Sans L", sans-serif !important;
    font-size: 25px;
    line-height: 60px;
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 60px;
    content: "\00d7";
    text-align: center;
}
@media only screen and (max-width:767px){
.remodal-close:before {
      line-height: 48px;
      width:48px;
}
}

/* Dialog buttons */

.remodal-confirm,
.remodal-cancel {
  font: inherit;
  display: inline-block;
  overflow: visible;
  min-width: 110px;
  margin: 0;
  padding: 12px 0;
  cursor: pointer;
  -webkit-transition: background 0.2s;
  transition: background 0.2s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  border: 0;
  outline: 0;
}

.remodal-confirm {
  color: #fff;
  background: #81c784;
}

.remodal-confirm:hover,
.remodal-confirm:focus {
  background: #66bb6a;
}

.remodal-cancel {
  color: #fff;
  background: #e57373;
}

.remodal-cancel:hover,
.remodal-cancel:focus {
  background: #ef5350;
}

/* Remove inner padding and border in Firefox 4+ for the button tag. */

.remodal-confirm::-moz-focus-inner,
.remodal-cancel::-moz-focus-inner,
.remodal-close::-moz-focus-inner {
  padding: 0;

  border: 0;
}

/* Keyframes
   ========================================================================== */

@-webkit-keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;

    opacity: 1;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes remodal-opening-keyframes {
  from {
    -webkit-transform: scale(1.05);
    transform: scale(1.05);

    opacity: 0;
  }
  to {
    -webkit-transform: none;
    transform: none;

    opacity: 1;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);

    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);

    opacity: 0;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes remodal-closing-keyframes {
  from {
    -webkit-transform: scale(1);
    transform: scale(1);

    opacity: 1;
  }
  to {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);

    opacity: 0;

    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes remodal-overlay-opening-keyframes {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes remodal-overlay-closing-keyframes {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

/* Media queries
   ========================================================================== */

@media only screen and (min-width: 641px) {
  .remodal {
    max-width: 640px;
  }
}

/* IE8
   ========================================================================== */

.lt-ie9 .remodal-overlay {
  background: #2b2e38;
}

.lt-ie9 .remodal {
  width: 700px;
}

.remodal .embed {
  margin: 0;
}
.remodal-fig {
  margin: 0;
}
.remodal-fig400 {
  max-width: 400px;
  float: left;
}
@media (max-width: 980px) {
  .remodal-fig400 {
    max-width: 300px;
  }
}
@media (max-width: 767px) {
  .remodal-fig400 {
    max-width: 100%;
    float: none;
    margin: 0 0 1em 0;
  }
}
.remodal-desc {
  text-align: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 60px 60px 60px;
}
@media (max-width: 980px) {
  .remodal-desc {
    padding: 0 40px 40px 40px;
  }
}
@media (max-width: 767px) {
  .remodal-desc {
    padding: 0 10px 30px 10px;
  }
}
.remodal-col .col__box {
  width: 33.33333%;
  padding-left: 1.75em;
  position: relative;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.remodal-col .col__box:nth-child(n+4) {
  margin-top: 10px;
}
.remodal-col .col__box:before {
  content: '';
  display: inline-block;
  width: 0.33em;
  height: 0.33em;
  border-radius: 50%;
  background-color: #97c844;
  position: absolute;
  top: 0.66em;
  left: 0.5em;
}
@media (max-width: 767px) {
  .remodal-col .col__box {
    width: 50%;
  }
  .remodal-col .col__box:nth-child(n+3) {
    margin-top: 10px;
  }
}
.remodal-sum table {
  width: 100%;
  border-collapse: collapse;
}
.remodal-sum dl, .remodal-sum dt, .remodal-sum dd {
  margin: 0;
  padding: 0;
}
.remodal-sum dt {
  font-weight: 500;
  display: block;
  margin: 0 0 0.5em 0;
  padding: 0.5em 0;
  color: #fff;
  white-space: nowrap;
  background: #97c844;
  text-align: center;
}
.remodal-sum th, .remodal-sum td {
  font-weight: normal;
  padding: 0.33em 0;
}
.remodal-sum tfoot th {
  font-weight: 500;
  background-color: #ff0;
  color: #000;
}
.remodal-sum tfoot td {
  font-weight: 500;
  background-color: #ff0;
  color: #000;
}
.remodal-sum small {
  font-size: 80%;
}
@media (max-width: 767px) {
  .remodal-sum .col__box:nth-child(2n) {
    margin-top: 1em;
  }
}
.remodal .col4-6 .fig--bg {
  width: 40%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  margin: -60px 0 0 0;
}
@media (max-width: 767px) {
  .remodal .col4-6 .fig--bg {
    margin: -48px 0 1em 0;
    width: 100%;
    padding-top: 100%;
  }
}
.remodal .col4-6 .remodal-desc {
  width: 60%;
}
@media (max-width: 767px) {
  .remodal .col4-6 .remodal-desc {
    width: 100%;
  }
}


.swiper-slide {
  height: auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.vi-visual .swiper-button-prev,
.vi-visual .swiper-button-next{
	color:#fff;
	width: 20px;
	height: 20px;
}
.vi-visual .swiper-button-prev:before{
content:'';
display: block;
border-bottom: 2px solid #fff;
width: 12px;
height: 12px;
position: absolute;
bottom: 4px;
left: 4px;
border-right: 2px solid #fff;
transform: rotate(135deg);
}
.vi-visual .swiper-button-next:before{
content:'';
display: block;
border-bottom: 2px solid #fff;
width: 12px;
height: 12px;
position: absolute;
bottom: 4px;
right: 4px;
border-left: 2px solid #fff;
-ms-transform: rotate(-135deg);
transform: rotate(-135deg);
}