*,
:after,
:before {
    border-style: solid;
    border-width: 0;
    box-sizing: border-box
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0
}

main {
    display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
    margin: 0
}

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

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

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

hr {
    border-top-width: 1px;
    box-sizing: content-box;
    clear: both;
    color: inherit;
    height: 0;
    margin: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: inherit
}

address {
    font-style: inherit
}

a {
    background-color: transparent;
    color: inherit;
    text-decoration: none
}

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

b,
strong {
    font-weight: bolder
}

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

small {
    font-size: 80%
}

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

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

embed,
iframe,
img,
object,
svg {
    vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    border-radius: 0;
    color: inherit;
    font: inherit;
    margin: 0;
    padding: 0;
    text-align: inherit;
    text-transform: inherit;
    vertical-align: middle
}

[type=button],
[type=reset],
[type=submit],
button {
    cursor: pointer
}

[type=button]:disabled,
[type=reset]:disabled,
[type=submit]:disabled,
button:disabled {
    cursor: default
}

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

fieldset,
option {
    padding: 0
}

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

legend {
    padding: 0
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

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

[type=search] {
    outline-offset: -2px
}

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

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

[type=number] {
    -moz-appearance: textfield
}

label[for] {
    cursor: pointer
}

details {
    display: block
}

summary {
    display: list-item
}

[contenteditable]:focus {
    outline: auto
}

table {
    border-collapse: collapse;
    border-color: inherit
}

caption {
    text-align: left
}

td,
th {
    padding: 0;
    vertical-align: top
}

th {
    font-weight: 700;
    text-align: left
}

@keyframes loop {
    0% {
        transform: translateX(100%)
    }

    to {
        transform: translateX(-100%)
    }
}

@keyframes loop2 {
    0% {
        transform: translateX(0)
    }

    to {
        transform: translateX(-200%)
    }
}

@keyframes loopBgX {
    0% {
        background-position: left 100000px top
    }

    to {
        background-position: left 0 top
    }
}

@keyframes line-stroke {
    to {
        stroke-dashoffset: 0
    }
}

body {
    background: #fff;
    color: #2f3639;
    font-family: Noto Sans JP, sans-serif;
    font-optical-sizing: auto;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 2
}

body.is-stop {
    height: 100%;
    overflow: hidden
}

@media (hover:hover) {
    a[href^="tel:"] {
        pointer-events: none
    }
}

.template_wrap {
    background: #bcbcbc
}

.template_inner {
    margin: 100px auto;
    max-width: 1200px;
    width: 90%
}

.c-text {
    font-family: Noto Sans JP, sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 500
}

.c-copy {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 2
}

.c-en {
    font-family: Work Sans, sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 500
}

.c-heading {
    color: #CF9763;
    display: inline-block;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 90px;
    overflow: hidden;
    padding-bottom: 30px;
    position: relative;
    width: 100%;
    z-index: 2;
    border-bottom: 1px solid #C8C8C8;
}

.c-heading span {
    font-size: 32px;
    color: #112844;
    display: block;
    margin-bottom: 20px;
}

@media screen and (max-width:767px) {
    .c-heading {
        font-size: 14px;
        padding-bottom: 16px;
    }

    .c-heading span {
        font-size: 22px;
        color: #112844;
        margin-bottom: 10px;
    }
}

.c-heading.--white {
    color: #f8f9fa
}

.c-heading-line {
    bottom: 0;
    height: 36px;
    position: absolute;
    right: 0;
    width: 1240px;
    z-index: -1
}

@media screen and (max-width:600px) {
    .c-heading-line {
        height: 28px;
        width: 600px
    }
}

.c-subpage-fv-heading {
    font-size: 52px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    color: #112844;
}

@media screen and (max-width:767px) {
    .c-subpage-fv-heading {
        font-size: 28px
    }
}

.c-subpage-fv-heading .c-en {
    color: #CF9763;
    display: block;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    margin-top: 20px;
}

@media screen and (max-width:767px) {
    .c-subpage-fv-heading .c-en {
        font-size: 12px;
        margin-top: 12px
    }
}

.c-sec-heading {
    margin-bottom: 64px
}

@media screen and (max-width:767px) {
    .c-sec-heading {
        margin-bottom: 48px
    }
}

.c-sec-heading .c-heading {
    margin-bottom: 10px;
    padding-top: 6px
}

@media screen and (max-width:600px) {
    .c-sec-heading .c-heading {
        padding-top: 0
    }
}

.c-sec-heading .c-heading:after {
    top: 8px
}

@media screen and (max-width:600px) {
    .c-sec-heading .c-heading:after {
        top: 2px
    }
}

.c-sec-heading.--white .c-heading,
.c-sec-heading.--white .c-sec-heading__jp {
    color: #f8f9fa
}

.c-sec-heading__jp {
    display: inline-block;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.75;
    max-width: 1024px;
    color: #112844;
}

@media screen and (max-width:767px) {
    .c-sec-heading__jp {
        font-size: 24px;
        letter-spacing: .05em;
        line-height: 1.75;
        padding-right: 24px
    }
}

.c-contents-heading {
    background: #f2f2f2;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.4;
    margin-bottom: 32px;
    padding: 8px 20px 8px 40px;
    position: relative;
    width: 100%
}

@media screen and (max-width:767px) {
    .c-contents-heading {
        font-size: 18px;
        line-height: 1.5;
        margin-bottom: 24px;
        padding: 5px 16px 5px 30px
    }
}

.c-contents-heading:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    left: 20px;
    position: absolute;
    top: 25px;
    width: 8px
}

@media screen and (max-width:767px) {
    .c-contents-heading:after {
        left: 16px;
        top: 17px
    }
}

.c-button {
    align-items: center;
    background: #fff;
    border-radius: 32px;
    display: flex;
    font-weight: 700;
    height: 64px;
    min-width: 246px;
    padding-left: 26px;
    padding-right: 64px;
    position: relative;
    width: max-content;
}

@media screen and (max-width:600px) {
    .c-button {
        height: 52px;
        min-width: 200px;
        padding-left: 23px;
        padding-right: 48px
    }
}

.c-button.external-link ._arrow {
    height: 13px;
    width: 13px
}

.c-button.external-link ._arrow:after,
.c-button.external-link ._arrow:before {
    background: url(../image/externallink-icon-white.svg);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 13px;
    width: 13px
}

.c-button:hover .c-button-circle:after,
.c-button:hover .c-button-circle:before {
    /* transform: translate(-50%, -50%) rotate(180deg); */
    /* transform-origin: center; */
    /* transition: all .4s ease-in-out; */
}

.c-button:hover .c-button-circle:before {
    /* opacity: 0; */
}

.c-button:hover .c-button-circle:after {
    /* opacity: 1; */
}

.c-button:hover .c-button-circle ._arrow:before {
    opacity: 1;
    transform: translateX(0);
    transition: all .4s ease-in-out
}

.c-button:hover .c-button-circle ._arrow:after {
    opacity: 0;
    transform: translateX(120%);
    transition: all .4s ease-in-out
}

.c-button:hover .c-button-line {
    stroke-dashoffset: 0;
    transition: all .4s ease-in-out
}

.c-button-circle {
    background: #112844;
    border-radius: 50%;
    display: block;
    height: 42px;
    position: absolute;
    right: 11px;
    top: 50%;
    transform: translateY(-50%);
    width: 42px
}

@media screen and (max-width:600px) {
    .c-button-circle {
        height: 31px;
        right: 8px;
        width: 31px
    }
}

.c-button-circle:after,
.c-button-circle:before {
    content: "";
    display: block;
    height: 48px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) rotate(0);
    /* transition: all .4s ease-in-out; */
    width: 48px;
    border: 1px solid #112844;
    border-radius: 999px;
}

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

    .c-button-circle:after,
    .c-button-circle:before {
        height: 34px;
        width: 34px
    }
}

.c-button-circle:before {
    opacity: 1
}

.c-button-circle:after {
    opacity: 0
}

.c-button-circle ._arrow {
    height: 12px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 13px;
}

.c-button-circle ._arrow:after,
.c-button-circle ._arrow:before {
    background: url(../image/arrow-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 12px;
    left: 0;
    position: absolute;
    top: 0;
    transition: all .4s ease-in-out;
    width: 13px;
}

.c-button-circle ._arrow:before {
    opacity: 0;
    transform: translateX(-120%)
}

.c-button-line {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    stroke-dasharray: 660;
    stroke-dashoffset: 660
}

.c-post-button {
    align-items: center;
    background: #f2f2f2;
    border-radius: 22px;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    height: 44px;
    justify-content: space-between;
    letter-spacing: .05em;
    line-height: 1;
    overflow: hidden;
    padding: 0 24px;
    position: relative;
    transition: all .4s;
    width: 178px;
    z-index: 2
}

.c-post-button:before {
    background: #112844;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -1
}

.c-post-button:after,
.c-post-button:before {
    content: "";
    display: block;
    transition: all .4s
}

.c-post-button:after {
    background: url(../image/arrow-grad-accent.svg);
    background-repeat: no-repeat;
    background-size: contain;
    height: 7px;
    width: 10px
}

.c-post-button:hover {
    color: #f8f9fa;
    transition: all .4s
}

.c-post-button:hover:before {
    opacity: 1;
    transition: all .4s
}

.c-post-button:hover:after {
    background: url(../image/arrow-white02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    transition: all .4s
}

.c-post-button.--reverse:after {
    order: -1;
    transform: rotate(-180deg)
}

.c-button-side {
    background: linear-gradient(180deg, #00008d, #112844);
    border: none;
    border-radius: 0;
    bottom: 0;
    clip-path: polygon(40px 0, 100% 0, 100% 100%, 0 100%);
    color: #fff;
    height: 56px;
    min-width: auto;
    padding-left: 48px;
    padding-right: 68px;
    position: fixed;
    right: 0;
    transform: translateX(101%);
    width: fit-content;
    z-index: 100
}

@media screen and (max-width:600px) {
    .c-button-side {
        clip-path: polygon(28px 0, 100% 0, 100% 100%, 0 100%);
        font-size: 14px;
        height: 46px;
        padding-left: 30px;
        padding-right: 33px
    }
}

.c-button-side .c-button-circle {
    background: #fff;
    height: 24px;
    right: 0;
    transform: rotate(90deg) translate(-50%, 50%);
    width: 24px
}

@media screen and (max-width:600px) {
    .c-button-side .c-button-circle {
        height: 17px;
        width: 17px
    }
}

.c-button-side .c-button-circle:after,
.c-button-side .c-button-circle:before {
    height: 30px;
    width: 30px
}

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

    .c-button-side .c-button-circle:after,
    .c-button-side .c-button-circle:before {
        height: 20px;
        width: 20px
    }
}

.c-button-side .c-button-circle ._arrow:after,
.c-button-side .c-button-circle ._arrow:before {
    background-image: url(../image/arrow-blue.svg);
    width: 12px
}

.c-button-side.is-show {
    display: flex;
    transform: translateX(0)
}

.c-logo {
    align-items: center;
    display: flex;
    gap: 6%
}

.c-logo.--white .c-logo-object,
.c-logo.--white .c-logo-text {
    fill: #f8f9fa;
    stroke: transparent
}

.c-logo-object {
    aspect-ratio: 1/1;
    width: 18.6%;
    fill: #0089b6;
    stroke: transparent
}

.c-logo-text {
    aspect-ratio: 113.11/29.28;
    width: 75.4066666667%;
    fill: #2f3639
}

.c-contents-inner__full {
    width: 100%
}

@media screen and (min-width:1601px) {
    .c-contents-inner__full {
        margin: 0 auto;
        max-width: 1600px;
        width: 100%
    }
}

.c-contents-default {
    margin: 0 auto;
    max-width: 1600px;
    width: 100%
}

.c-contents-inner {
    max-width: 1240px
}

.c-contents-inner,
.c-contents-single {
    margin: 0 auto;
    width: calc(100% - 48px)
}

.c-contents-single {
    max-width: 1000px
}

.c-flex-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width:767px) {
    .c-flex-container {
        flex-direction: column
    }

    .c-flex-container.--reverse {
        flex-direction: column-reverse
    }

    .c-flex-container.--sp {
        display: flex;
        flex-direction: inherit
    }
}

@media screen and (max-width:600px) {
    .c-flex-container.--sp {
        flex-direction: column
    }

    .c-flex-container.--sp.--reverse {
        flex-direction: column-reverse
    }
}

.c-flex-container.--center {
    align-items: center
}

.c-flex-container.--end {
    align-items: flex-end
}

.c-flex-half {
    display: flex;
    justify-content: space-between;
    width: 100%
}

@media screen and (max-width:767px) {
    .c-flex-half {
        flex-direction: column
    }
}

.c-flex-half .c-flex-half__column {
    width: 50%
}

@media screen and (max-width:767px) {
    .c-flex-half .c-flex-half__column {
        width: 100%
    }
}

.c-breadcrumb {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: right;
    row-gap: 6px;
    width: 100%
}

.c-breadcrumb li {
    padding-left: 36px;
    position: relative
}

.c-breadcrumb li:after {
    background: #112844;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    top: 11px;
    width: 16px
}

@media screen and (max-width:767px) {
    .c-breadcrumb li:after {
        font-size: 12px
    }
}

.c-breadcrumb li:first-child {
    padding-left: 0
}

.c-breadcrumb li:first-child:after {
    display: none
}

.c-breadcrumb li span {
    color: rgba(47, 54, 57, .2);
    display: block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.4285714286;
    position: relative;
    transition: all .4s
}

@media screen and (max-width:767px) {
    .c-breadcrumb li span {
        font-size: 12px;
        line-height: 1.6666666667
    }
}

.c-breadcrumb li:not(.c-breadcrumb li:last-child) span:hover {
    color: #112844;
    transition: all .4s
}

.c-breadcrumb li.--top a span {
    color: #2f3639;
    text-decoration: underline;
    text-decoration-color: #2f3639;
    transition: all .4s
}

.c-breadcrumb li.--top a span:hover {
    color: #112844;
    text-decoration-color: #112844;
    transition: all .4s
}

.c-contact-number {
    display: flex;
    flex-wrap: wrap;
    gap: 6.4453125%;
    row-gap: 24px
}

.c-contact-number ._number {
    color: #112844;
    font-size: 44px;
    font-weight: 700;
    letter-spacing: -.03em;
    line-height: 1;
    padding-left: 56px;
    position: relative
}

@media screen and (max-width:767px) {
    .c-contact-number ._number {
        font-size: 40px;
        padding-left: 40px
    }
}

.c-contact-number ._number ._text {
    color: #112844;
    font-size: 20px;
    font-weight: 700;
    left: 0;
    letter-spacing: .05em;
    line-height: 1;
    position: absolute;
    top: 14px
}

@media screen and (max-width:767px) {
    .c-contact-number ._number ._text {
        font-size: 16px;
        top: 12px
    }
}

.c-contact-number ._number .c-copy {
    color: #2f3639;
    display: block
}

.c-data-table {
    width: 48.6328125%
}

@media screen and (max-width:767px) {
    .c-data-table {
        width: 100%
    }
}

.c-data-table tr {
    border-bottom: .5px solid #dbdbdb;
    display: flex;
    padding: 28px 0;
    width: 100%
}

@media screen and (max-width:600px) {
    .c-data-table tr {
        flex-direction: column;
        padding: 24px 0
    }
}

.c-data-table tr:first-child {
    padding-top: 0
}

.c-data-table th {
    display: block;
    width: 30.1204819277%
}

@media screen and (max-width:600px) {
    .c-data-table th {
        margin-bottom: 4px;
        width: 100%
    }
}

.c-data-table td {
    width: 69.8795180723%
}

@media screen and (max-width:600px) {
    .c-data-table td {
        width: 100%
    }
}

.c-data-table td ul li {
    padding-left: 18px;
    position: relative
}

.c-data-table td ul li:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 0;
    position: absolute;
    top: 13px;
    width: 6px
}

.c-pagination {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: center;
    margin-top: 80px;
    width: 100%
}

.c-pagination>li {
    display: flex;
    display: inline-flex;
}

@media screen and (max-width:600px) {
    .c-pagination {
        gap: 8px;
        margin-top: 40px;
    }
}

.c-pagination .c-en,
.c-pagination .page-num {
    align-items: center;
    background: #f2f2f2;
    border: 1px solid transparent;
    color: #112844;
    display: flex;
    font-size: 20px;
    font-weight: 500;
    height: 40px;
    justify-content: center;
    letter-spacing: 0;
    line-height: 1;
    transition: all .4s;
    width: 40px;
    border-radius: 999px;
    margin: 0 10px;
}

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

    .c-pagination .c-en,
    .c-pagination .page-num {
        font-size: 16px;
        height: 28px;
        width: 28px
    }
}

.c-pagination .c-en.is-current,
.c-pagination .page-num.page-num-current {
    background: #112844;
    border: none;
    color: #f8f9fa;
    font-weight: 700;
}

.c-pagination .c-en:hover:not(.is-current) {
    border: 1px solid #02abff;
    transition: all .4s
}

.c-pagination ._dots:after {
    background: url(../image/pagination_dots.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 3px;
    width: 17px
}

@media screen and (max-width:600px) {
    .c-pagination ._dots:after {
        height: 2px;
        width: 12px
    }
}

.c-pagination ._next,
.c-pagination ._prev {
    align-items: center;
    display: flex;
    opacity: .4;
    transition: all .4s
}

.c-pagination ._next:after,
.c-pagination ._prev:after {
    background: url(../image/arrow-grad-accent.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 13.64px;
    width: 20px
}

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

    .c-pagination ._next:after,
    .c-pagination ._prev:after {
        height: 8px;
        width: 12px
    }
}

.c-pagination ._next.is-active,
.c-pagination ._prev.is-active {
    opacity: 1
}

.c-pagination ._prev {
    margin-right: 8px
}

@media screen and (max-width:600px) {
    .c-pagination ._prev {
        margin-right: 4px
    }
}

.c-pagination ._prev:after {
    transform: rotate(-180deg)
}

.c-pagination ._prev:hover {
    transform: translateX(-8px);
    transition: all .4s
}

.c-pagination ._next {
    margin-left: 8px
}

@media screen and (max-width:600px) {
    .c-pagination ._next {
        margin-left: 4px
    }
}

.c-pagination ._next:hover {
    transform: translateX(8px);
    transition: all .4s
}

.c-service-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media screen and (max-width:767px) {
    .c-service-list {
        row-gap: 32px
    }
}

.c-service-list__item {
    position: relative;
    width: calc(100% / 4);
}

@media screen and (max-width:767px) {
    .c-service-list__item {
        width: calc(50% - 16px)
    }
}

@media screen and (max-width:600px) {
    .c-service-list__item {
        width: 100%
    }
}


.c-service-list__item:hover a {
    transition: all .4s
}

.c-service-list__item:hover a:before {
    background: #112844;
    transition: all .4s
}

.c-service-list__item:hover ._inner:before {
    transition: all .2s;
    width: 100%
}

.c-service-list__item:hover ._inner:after {
    height: 100%;
    transition: all .2s .2s
}

.c-service-list__item:hover .u-img img {
    transform: scale(1.1);
    transition: all .4s
}

.c-service-list__item a {
    border-bottom: 1px solid #dbdbdb;
    border-right: 1px solid #dbdbdb;
    border: 1px solid #dbdbdb;
    display: block;
    height: 100%;
    position: relative;
    transition: all .4s;
    width: 100%;
    z-index: 2;
}

.c-service-list__item a:before {
    background: #dbdbdb;
    bottom: 23.5px;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    right: -11px;
    transform: rotate(-45deg);
    transition: all .4s;
    width: 70px
}

.c-service-list__item a:after {
    background: #fff;
    bottom: -1.5px;
    clip-path: polygon(100% 0, 0 100%, 100% 100%);
    content: "";
    display: block;
    height: 50px;
    position: absolute;
    right: -1.5px;
    width: 50px;
    z-index: 4
}

.c-service-list__item a ._inner {
    height: 100%;
    padding-bottom: 46px;
    padding-right: 9.1836734694%;
    position: relative;
    width: 100%;
    padding: 30px;
}

@media screen and (max-width:767px) {
    .c-service-list__item a ._inner {
        padding-bottom: 30px
    }
}

.c-service-list__item a ._inner:before {
    background: #112844;
    bottom: -1px;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transition: all .4s .2s;
    width: 0;
    z-index: 3
}

.c-service-list__item a ._inner:after {
    background: #112844;
    bottom: 0;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    right: -1px;
    transition: all .4s;
    width: 1px;
    z-index: 3
}

.c-service-list__item .u-img {
    aspect-ratio: 356/263;
    overflow: hidden;
    position: relative;
    width: 100%
}

.c-service-list__item .u-img img {
    bottom: 0;
    height: 100%;
    left: 0;
    margin: auto;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .4s;
    width: 100%;
    z-index: 1
}

.c-service-list__item ._item_name {
    margin: 34px 0 30px;
    position: relative
}

@media screen and (max-width:767px) {
    .c-service-list__item ._item_name {
        margin: 24px 0 20px
    }
}

.c-service-list__item ._item_name .c-text {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.75;
    background-color: #fff;
}

@media screen and (max-width:767px) {
    .c-service-list__item ._item_name .c-text {
        font-size: 18px
    }
}

.c-service-list__item ._item_name .c-en {
    color: #ccc;
    display: block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.75
}

.c-service-list__item ._item_line {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.c-service-list__item.--manufacturer a ._inner {
    padding-bottom: 34px;
    padding-right: 10.2040816327%
}

.c-service-list__item.--manufacturer ._item_name {
    margin: 0
}

.p-top-loading {
    background: #fcfcfc;
    display: none;
    height: 100vh;
    left: 0;
    overflow: hidden;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 100
}

.p-top-loading .c-logo {
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 270px
}

.p-top-loading .c-logo img {
    width: 100%;
}

@media screen and (max-width:600px) {
    .p-top-loading .c-logo {
        width: 200px;
		  top: calc(50% - 30px);
    }
}

.p-top-loading .p-top-loading__border {
    aspect-ratio: 1600/176.084;
    left: 50%;
    position: absolute;
    top: 25vw;
    transform: translateX(-50%);
    width: 100%;
    stroke-dasharray: 2000;
    stroke-dashoffset: 2000
}

@media screen and (max-width:767px) {
    .p-top-loading .p-top-loading__border {
        aspect-ratio: inherit;
        height: 65.158px;
        left: 54.6666666667%;
        top: 345px;
        transform: translateX(calc(-50% - 17px));
        width: 768px
    }
}

.p-top.is-loading .p-top-loading {
    display: block
}

.p-top.is-loading .p-top-loading.is-active {
    display: none
}

.p-top.is-loading .p-top-loading .c-logo.is-active {
    opacity: 0;
    transition: opacity 1s .4s
}

.p-top.is-loading .p-top-loading__border.is-active {
    animation: line-stroke 1.4s linear forwards
}

.p-top.is-loading .p-top-fv__lower:after {
    transform: translateY(-100%)
}

.p-top.is-loading .p-top-fv__lower.is-active:after {
    transform: translateY(0);
    transition: transform .8s cubic-bezier(.22, 1, .36, 1)
}

.p-top.is-loading .p-top-fv__lower__loop {
    opacity: 0;
    transform: translateY(100px)
}

.p-top.is-loading .p-top-fv__lower__loop ._img {
    clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%)
}

.p-top.is-loading .p-top-fv__lower__loop.is-active {
    opacity: 1;
    transform: translateY(0);
    transition: all .8s ease-out
}

.p-top.is-loading .p-top-fv__lower__loop.is-active ._img {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
    transition: all 1s cubic-bezier(.22, 1, .36, 1)
}

.p-top.is-loading .p-top-fv__lower__loop.is-active ._img:first-child {
    transition: all 1s cubic-bezier(.22, 1, .36, 1)
}

.p-top.is-loading .p-top-fv__lower__loop.is-active ._img:nth-child(2) {
    transition: all 1s cubic-bezier(.22, 1, .36, 1) .2s
}

.p-top.is-loading .p-top-fv__lower__loop.is-active ._img:nth-child(3) {
    transition: all 1s cubic-bezier(.22, 1, .36, 1) .4s
}

.p-top.is-loading .p-top-fv__lower__loop.is-active ._img:nth-child(4) {
    transition: all 1s cubic-bezier(.22, 1, .36, 1) .6s
}

.p-top.is-loading .p-top-fv__lower__loop.is-active ._img:nth-child(5) {
    transition: all 1s cubic-bezier(.22, 1, .36, 1) .8s
}

.p-top.is-loading .p-top-fv__heading {
    color: transparent;
    overflow: hidden
}

.p-top.is-loading .p-top-fv__heading.is-active {
    color: #2f3639;
    transition: color .1s .8s
}

.p-top.is-loading .p-top-fv__heading ._grad_bg {
    display: inline;
    position: relative
}

.p-top.is-loading .p-top-fv__heading ._grad_bg:after {
    background: #112844;
    content: "";
    display: block;
    height: 87%;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 0
}

.p-top.is-loading .p-top-fv__heading ._grad_bg.is-open:after {
    transition: width .8s cubic-bezier(.22, 1, .36, 1);
    width: 100%
}

.p-top.is-loading .p-top-fv__heading ._grad_bg.is-hide:after {
    left: inherit;
    right: 0;
    transition: width .4s ease-in-out;
    width: 0
}

.p-top.is-loading .p-top-fv__heading .c-en ._grad_bg:after {
    height: 100%
}

.js-tab-panel {
    display: none;
    opacity: 0;
    transition: opacity .4s ease
}

.js-tab-panel.is-active {
    display: block;
    opacity: 1;
    transition: opacity .4s ease
}

.u-img img {
    width: 100%
}

.u-pc {
    display: block
}

@media screen and (max-width:600px) {
    .u-pc {
        display: none
    }
}

@media screen and (max-width:767px) {
    .u-pc.--tab2 {
        display: none
    }
}

.u-12 {
    display: none
}

@media screen and (max-width:1200px) {
    .u-12 {
        display: block
    }
}

.u-tab {
    display: none
}

@media screen and (max-width:1024px) {
    .u-tab {
        display: block
    }
}

.u-tab2 {
    display: none
}

@media screen and (max-width:767px) {
    .u-tab2 {
        display: block
    }
}

.u-sp {
    display: none
}

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

.u-hover:hover ._link_icon {
    fill: #112844;
    transition: all .4s
}

.u-hover:hover .u-hover-underline {
    background-position: 0 100%;
    background-size: 100% 1px;
    color: #b2b2b2;
}

.u-hover:hover .u-hover-underline.--black {
    background-position: 0 100%;
    background-size: 100% 1px;
    color: #2f3639
}

.u-hover .u-hover-underline {
    background: #112844;
    background-size: 0 1px;
    display: inline;
    transition: all .4s
}

.u-hover .u-hover-underline.--black {
    background: linear-gradient(#2f3639, #2f3639) 0 100% no-repeat;
    background-size: 0 1px;
    transition: all .4s
}

.u-hover-circle:hover .c-button-circle:after,
.u-hover-circle:hover .c-button-circle:before {
    transform: translate(-50%, -50%) rotate(180deg);
    transition: all .4s ease-in-out
}

.u-hover-circle:hover .c-button-circle:before {
    opacity: 0
}

.u-hover-circle:hover .c-button-circle:after {
    opacity: 1
}

.u-hover-circle:hover .c-button-circle ._arrow:before {
    opacity: 1;
    transform: translateX(0);
    transition: all .4s ease-in-out
}

.u-hover-circle:hover .c-button-circle ._arrow:after {
    opacity: 0;
    transform: translateX(120%);
    transition: all .4s ease-in-out
}

.l-header {
    background: #fff;
    box-shadow: 3px 3px 12px 0 rgba(47, 54, 57, .04);
    display: flex;
    justify-content: space-between;
    left: 50%;
    opacity: 1;
    padding: 13px 24px;
    position: fixed;
    top: 20px;
    transform: translateX(-50%);
    transition: all .4s ease-in-out;
    width: 96%;
    z-index: 25
}

@media screen and (max-width:1200px) {
    .l-header {
        background: inherit;
        box-shadow: inherit;
        padding: 0;
        top: 0;
        width: 100%
    }
}

.l-header-main {
    align-items: center;
    display: flex;
    gap: 20px;
    justify-content: space-between;
    width: calc(100% - 216px)
}

@media screen and (max-width:1200px) {
    .l-header-main {
        gap: 0;
        width: auto
    }
}

@media screen and (max-width:600px) {
    .l-header-main {
        /* align-items: flex-end; */
    }
}

.l-header-main__logo {
    max-width: 133px;
}

.l-header-main__logo img {
    width: 100%;
}

@media screen and (max-width:1200px) {
    .l-header-main__logo {
        margin-left: 24px;
        z-index: 4
    }
}

@media screen and (max-width:600px) {
    .l-header-main__logo {
        max-width: 113px;
    }
}

.l-header-main__nav {
    max-width: 522px;
    width: 100%
}

@media screen and (max-width:1200px) {
    .l-header-main__nav {
        background: #112844;
        height: 100vh;
        max-width: 768px;
        overflow-y: auto;
        padding-bottom: 130px;
        padding-top: 130px;
        position: fixed;
        right: 0;
        top: 0;
        transform: translateX(100%);
        width: 100%;
        z-index: 2
    }
}

.l-header-main__nav>ul {
    align-items: center;
    display: flex;
    justify-content: space-between;
    width: 100%
}

@media screen and (max-width:1200px) {
    .l-header-main__nav>ul {
        flex-wrap: wrap;
        margin-bottom: 56px;
        max-width: 768px;
        padding: 0 24px
    }

    .l-header-main__nav>ul>li {
        width: 50%;
        margin: 10px 0;
    }
}

.l-header-main__nav>ul>li a,
.l-header-main__nav>ul>li p {
    align-items: center;
    display: flex;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
    letter-spacing: 0;
    line-height: 1.4
}

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

    .l-header-main__nav>ul>li a,
    .l-header-main__nav>ul>li p {
        color: #f8f9fa;
        font-size: 15px
    }

    .l-header-main__nav>ul>li a:hover .u-hover-underline,
    .l-header-main__nav>ul>li p:hover .u-hover-underline {
        color: #f8f9fa
    }
}

.l-header-main__nav>ul>li a._link_icon:after,
.l-header-main__nav>ul>li p._link_icon:after {
    background: url(../image/externallink-icon-grad.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 12px;
    width: 12px
}

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

    .l-header-main__nav>ul>li a._link_icon:after,
    .l-header-main__nav>ul>li p._link_icon:after {
        background: url(../image/externallink-icon-white.svg);
        background-repeat: no-repeat;
        background-size: contain
    }
}

.l-header-main__nav>ul>li._drawer_item {
    position: relative
}

@media screen and (max-width:1200px) {
    .l-header-main__nav>ul>li._drawer_item {
        display: none
    }
}

.l-header-main__nav>ul>li._drawer_item>p {
    cursor: pointer
}

.l-header-main__nav>ul>li._drawer_item>p:after {
    background: url(../image/arrow-main.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 5px;
    margin-top: 2px;
    transform: rotate(0);
    transform-origin: center;
    transition: all .4s;
    width: 10px
}

.l-header-main__nav>ul>li._drawer_item ._drawer_menu {
    background: #f2f2f2;
    box-shadow: 3px 3px 12px 0 rgba(47, 54, 57, .04);
    left: 50%;
    opacity: 0;
    padding: 32px 24px;
    position: absolute;
    top: 60px;
    transform: translateX(-50%);
    transition: all .4s;
    visibility: hidden;
    width: 194px
}

.l-header-main__nav>ul>li._drawer_item ._drawer_menu:before {
    background: transparent;
    content: "";
    display: block;
    height: 40px;
    left: 50%;
    position: absolute;
    top: -40px;
    transform: translateX(-50%);
    width: 100%
}

.l-header-main__nav>ul>li._drawer_item ._drawer_menu li {
    margin-top: 24px
}

.l-header-main__nav>ul>li._drawer_item ._drawer_menu li:first-child {
    margin-top: 0
}

.l-header-main__nav>ul>li._drawer_item ._drawer_link {
    align-items: center;
    display: flex;
    justify-content: space-between
}

.l-header-main__nav>ul>li._drawer_item ._drawer_link:after {
    background: url(../image/fv-navigation-circle.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 20px;
    transform: rotate(-90deg);
    width: 20px
}

.l-header-main__nav>ul>li._drawer_item:hover>p:after {
    transform: rotate(180deg);
    transition: all .4s
}

.l-header-main__nav>ul>li._drawer_item:hover ._drawer_menu {
    opacity: 1;
    transition: all .4s;
    visibility: visible
}

.l-header-main__nav ._slide_menu_contact,
.l-header-main__nav ._slide_menu_tel {
    border-top: 1px solid hsla(0, 0%, 95%, .5);
    padding: 32px 0;
    width: 100%
}

.l-header-main__nav ._slide_menu_contact ._inner,
.l-header-main__nav ._slide_menu_tel ._inner {
    max-width: 768px;
    padding: 0 24px;
    width: 100%
}

.l-header-main__nav ._slide_menu_contact ._title,
.l-header-main__nav ._slide_menu_tel ._title {
    align-items: center;
    color: #f8f9fa;
    display: flex;
    font-size: 28px;
    font-weight: 700;
    gap: 12px;
    letter-spacing: 0;
    line-height: 1;
    position: relative;
    width: 100%
}

.l-header-main__nav ._slide_menu_contact ._title.--contact:after,
.l-header-main__nav ._slide_menu_tel ._title.--contact:after {
    background: url(../image/arrow-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 11px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 16px
}

.l-header-main__nav ._slide_menu_contact ._circle,
.l-header-main__nav ._slide_menu_tel ._circle {
    background: #112844;
    border-radius: 50%;
    display: block;
    height: 32px;
    overflow: hidden;
    position: relative;
    width: 32px
}

.l-header-main__nav ._slide_menu_contact ._inner_circle,
.l-header-main__nav ._slide_menu_tel ._inner_circle {
    height: 32.5px;
    width: 32.5px;
    fill: #f8f9fa;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%)
}

.l-header-main__nav ._slide_menu_contact ._tel_number,
.l-header-main__nav ._slide_menu_tel ._tel_number {
    color: #f8f9fa;
    display: block;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 8px;
    margin-top: 24px
}

.l-header-main__nav ._slide_menu_contact ._time,
.l-header-main__nav ._slide_menu_tel ._time {
    color: #f8f9fa;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1
}

.l-header-side {
    display: flex;
    justify-content: right;
    align-items: center;
    width: 216px
}

@media screen and (max-width:1200px) {
    .l-header-side {
        background: rgba(2, 74, 172, .14);
        clip-path: polygon(0 0, 100% 0, 100% 100%, 63px 100%);
        gap: 16px;
        height: 64px;
        padding-right: 24px;
        padding-top: 0;
        position: relative;
        width: 200px;
        z-index: 2;
		padding-bottom: 8px !important;
    }

    .l-header-side:after {
        background: #112844;
        clip-path: polygon(0 0, 100% 0, 100% 100%, 56px 100%);
        content: "";
        display: block;
        height: 55.57px;
        position: absolute;
        right: 0;
        top: 0;
        width: 185.24px;
        z-index: -1
    }
}

.l-header-side__ham {
    cursor: pointer;
    display: none;
    height: 11px;
    margin-top: 12px;
    position: relative;
    width: 38px
}

@media screen and (max-width:1200px) {
    .l-header-side__ham {
        display: block;
        margin-top: 0;
    }
}

.l-header-side__ham span {
    background: #f8f9fa;
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    transform: translateX(-50%);
    width: 100%
}

.l-header-side__ham span:first-child {
    top: 2px
}

.l-header-side__ham span:last-child {
    top: 8px
}

.l-header-side__contact {
    align-items: center;
    background: #112844;
    border-radius: 50px;
    display: flex;
    height: 44px;
    padding-left: 26px;
    padding-right: 50px;
    position: relative;
    width: 184px
}

@media screen and (max-width:1200px) {
    .l-header-side__contact {
        background: #112844;
        height: 36px;
        padding: 0;
        width: 36px
    }
}

.l-header-side__contact p {
    color: #f8f9fa;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1
}

@media screen and (max-width:1200px) {
    .l-header-side__contact p {
        display: none
    }
}

.l-header-side__contact ._contact_circle {
    height: 33px;
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 33px
}

@media screen and (max-width:1200px) {
    .l-header-side__contact ._contact_circle {
        height: 100%;
        position: static;
        transform: translateY(0);
        width: 100%
    }
}

.l-header-side__contact ._inner_circle {
    background: #f8f9fa;
    border-radius: 50%;
    height: 28px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 28px
}

@media screen and (max-width:1200px) {
    .l-header-side__contact ._inner_circle {
        height: 100%;
        position: static;
        transform: none;
        width: 100%
    }
}

.l-header-side__contact ._mail-icon {
    height: 10px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 14px
}

@media screen and (max-width:1200px) {
    .l-header-side__contact ._mail-icon {
        height: 12px;
        width: 16px
    }
}

.l-header-side__contact ._mail-icon:after,
.l-header-side__contact ._mail-icon:before {
    background: url(../image/mail_icon_blue.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 10px;
    left: 0;
    position: absolute;
    top: 0;
    transition: all .4s ease-in-out;
    width: 14px
}

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

    .l-header-side__contact ._mail-icon:after,
    .l-header-side__contact ._mail-icon:before {
        height: 12px;
        width: 16px
    }
}

.l-header-side__contact ._mail-icon:before {
    opacity: 0;
    transform: translateX(-120%)
}

.l-header-side__contact ._contact-button-line {
    height: 44px;
    left: 0;
    position: absolute;
    top: 0;
    width: 184px;
    stroke: #112844;
    stroke-dasharray: 660;
    stroke-dashoffset: 660
}

@media screen and (max-width:1200px) {
    .l-header-side__contact ._contact-button-line {
        display: none
    }
}

.l-header-side__contact:hover ._contact_circle:after {
    transform: translate(-50%, -50%) rotate(-180deg);
    transition: all .4s ease-in-out
}

.l-header-side__contact:hover ._mail-icon:before {
    opacity: 1;
    transform: translateX(0);
    transition: all .4s ease-in-out
}

.l-header-side__contact:hover ._mail-icon:after {
    opacity: 0;
    transform: translateX(120%);
    transition: all .4s ease-in-out
}

.l-header-side__contact:hover ._contact-button-line {
    stroke-dashoffset: 0;
    transition: all .4s ease-in-out
}

.l-header.is-loading {
    opacity: 0
}

.l-header.is-loading.is-active {
    opacity: 1;
    transition: all .4s ease-in-out
}

.l-header.js-scroll-header.is-scroll {
    transform: translate(-50%, -500px);
    transition: transform .8s ease-in-out
}

.l-header.is-panel-active .l-header-main__nav {
    transition: all .4s ease-in-out
}

@media screen and (max-width:1200px) {
    .l-header.is-panel-active .l-header-main__nav:before {
        display: block;
        opacity: 0;
        transition: all .4s;
        visibility: hidden
    }
}

@media screen and (max-width:767px) {
    .l-header.is-panel-active .l-header-main__nav:before {
        display: none
    }
}

.l-header.is-panel-active .l-header-main__nav.is-active {
    transform: translateX(0);
    transition: all .4s ease-in-out
}

@media screen and (max-width:1200px) {
    .l-header.is-panel-active .l-header-main__nav.is-active:before {
        opacity: 1;
        transition: all .4s;
        visibility: visible
    }
}

@media screen and (max-width:767px) {
    .l-header.is-panel-active .l-header-main__nav.is-active:before {
        display: none
    }

    .l-header.is-panel-active .l-header-main__logo .c-logo-object,
    .l-header.is-panel-active .l-header-main__logo .c-logo-text {
        transition: all .4s
    }

    .l-header.is-panel-active .l-header-main__logo.is-active .c-logo-object,
    .l-header.is-panel-active .l-header-main__logo.is-active .c-logo-text {
        fill: #f8f9fa;
        transition: all .4s
    }
}

.l-header.is-panel-active .l-header-side.is-active {
    background: transparent
}

.l-header.is-panel-active .l-header-side.is-active:after {
    background: transparent;
    content: ""
}

.l-header.is-panel-active .l-header-side__ham span {
    transition: all .4s
}

.l-header.is-panel-active .l-header-side__ham.is-active span:first-child {
    top: 50%;
    transform: translate(-50%, -50%) rotate(-18deg);
    transition: all .4s
}

.l-header.is-panel-active .l-header-side__ham.is-active span:last-child {
    top: 50%;
    transform: translate(-50%, -50%) rotate(18deg);
    transition: all .4s
}

.l-footer {
    background: #112844;
    overflow: hidden;
    width: 100%
}

.l-footer-head {
    height: 84px;
    position: relative;
    width: 100%;
    z-index: 2
}

.l-footer-head:before {
    background: #fff;
    content: "";
    display: block;
    height: 42px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

@media screen and (max-width:600px) {
    .l-footer-head:before {
        height: 47px
    }
}

.l-footer-head__bg {
    background: #fff;
    clip-path: polygon(0 0, 100% 0, 100% 42%, 67.875% 42%, 64.875% 100%, 35.125% 100%, 32.125% 42%, 0 42%);
    height: 84px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 1600px;
    z-index: -1
}

@media screen and (max-width:600px) {
    .l-footer-head__bg {
        clip-path: polygon(0 0, 100% 0, 100% 56%, 73.3333333333% 56%, 66.6666666667% 100%, 33.3333333333% 100%, 26.6666666667% 56%, 0 56%);
        width: 600px
    }
}

.l-footer-head__line {
    height: 74px;
    left: 50%;
    position: absolute;
    top: 0;
    transform: translateX(-50%);
    width: 2000px;
    stroke-dasharray: 700;
    stroke-dashoffset: 2000;
    animation: line-stroke 6s linear infinite
}

@media screen and (max-width:600px) {
    .l-footer-head__line {
        height: 53.55px;
        top: 20px;
        width: 600px;
        stroke-dasharray: 200;
        stroke-dashoffset: 626
    }
}

.l-footer-head__link {
    color: #000000;
    display: block;
    font-size: 16px;
    font-weight: 700;
    height: 84px;
    letter-spacing: 0;
    line-height: 1;
    margin: 0 auto;
    position: relative;
    text-align: center;
    transform: translateY(8px);
    transition: all .4s;
    width: 570px;
    z-index: 2
}

@media screen and (max-width:600px) {
    .l-footer-head__link {
        font-size: 15px;
        padding-top: 18px;
        transform: translateY(0);
        width: 280px
    }
}

.l-footer-head__link:before {
    background: url(../image/arrow_gradient_main.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 20px;
    margin: 0 auto 12px;
    width: 13.64px
}

@media screen and (max-width:600px) {
    .l-footer-head__link:before {
        height: 16px;
        margin: 0 auto 8px;
        width: 11px
    }
}

.l-footer-head__link:hover {
    transform: translateY(0);
    transition: all .4s
}

.l-footer-contact {
    padding: 176px 0 80px;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-footer-contact {
        padding: 108px 0 56px
    }
}

.l-footer-contact__text {
    color: #f8f9fa;
    font-size: 87px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    text-align: center
}

@media screen and (max-width:767px) {
    .l-footer-contact__text {
        font-size: 56px
    }
}

.l-footer-contact__text .c-copy {
    display: block;
    margin-top: 8px
}

@media screen and (max-width:767px) {
    .l-footer-contact__text .c-copy {
        margin-top: 16px
    }
}

.l-footer-2column {
    border-bottom: 1px solid hsla(0, 0%, 95%, .5);
    border-top: 1px solid hsla(0, 0%, 95%, .5);
    width: 100%
}

.l-footer-2column .c-contents-inner {
    display: flex
}

@media screen and (max-width:1024px) {
    .l-footer-2column .c-contents-inner {
        flex-direction: column
    }
}

.l-footer-2column__item {
    padding: 48px 39px;
    position: relative
}

@media screen and (max-width:1024px) {
    .l-footer-2column__item {
        padding: 48px 24px
    }
}

@media screen and (max-width:767px) {
    .l-footer-2column__item {
        padding: 48px 0
    }
}

@media screen and (max-width:600px) {
    .l-footer-2column__item {
        padding: 32px 0
    }
}

.l-footer-2column__item:after {
    background: hsla(0, 0%, 95%, .5);
    content: "";
    display: block;
    height: 100%;
    position: absolute;
    right: -1px;
    top: 0;
    width: 1px
}

@media screen and (max-width:1024px) {
    .l-footer-2column__item:after {
        display: none
    }
}

.l-footer-2column__item.--form {
    width: calc(100% - 393px)
}

@media screen and (max-width:1024px) {
    .l-footer-2column__item.--form {
        width: 100%
    }
}

.l-footer-2column__item.--form ._inner {
    margin: 0 auto;
    max-width: 636px;
    width: 100%
}

@media screen and (max-width:1024px) {
    .l-footer-2column__item.--form ._inner {
        max-width: inherit
    }
}

.l-footer-2column__item.--form .l-footer-2column__item__title {
    overflow: hidden;
    position: relative;
    transition: all .4s;
    width: max-content
}

.l-footer-2column__item.--form .l-footer-2column__item__title:after {
    background: #112844;
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    position: absolute;
    transform: translateX(-100%);
    transition: all .4s;
    width: 100%
}

@media screen and (max-width:600px) {
    .l-footer-2column__item.--form .l-footer-2column__item__title:after {
        display: none
    }
}

.l-footer-2column__item.--form:hover .l-footer-2column__item__title {
    color: #CF9763;
    transition: all .4s
}

.l-footer-2column__item.--form:hover .l-footer-2column__item__title ._circle {
    fill: #CF9763;
    transition: all .4s
}

.l-footer-2column__item.--form:hover .l-footer-2column__item__title:after {
    transform: translateX(0);
    transition: all .4s
}

.l-footer-2column__item.--form:hover .c-copy {
    color: #CF9763;
    transition: all .4s
}

.l-footer-2column__item.--tel {
    width: 393px
}

@media screen and (max-width:1024px) {
    .l-footer-2column__item.--tel {
        width: 100%
    }
}

.l-footer-2column__item.--tel .l-footer-2column__item__title {
    font-size: 29px;
    gap: 14px
}

@media screen and (max-width:767px) {
    .l-footer-2column__item.--tel .l-footer-2column__item__title {
        font-size: 32px;
        gap: 12px
    }
}

.l-footer-2column__item.--tel .l-footer-2column__item__title ._circle {
    height: 36px;
    min-width: 36px;
    width: 36px
}

.l-footer-2column__item ._under {
    align-items: flex-end;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    margin-top: 72px;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-footer-2column__item ._under {
        margin-top: 56px
    }
}

.l-footer-2column__item ._under .c-copy {
    color: #f8f9fa;
    transition: all .4s
}

@media screen and (max-width:600px) {
    .l-footer-2column__item ._under .c-copy {
        width: 247px
    }
}

.l-footer-2column__item .c-button-circle {
    height: 67px;
    position: relative;
    right: inherit;
    top: inherit;
    transform: none;
    width: 67px;
    background-color: #CF9763;
}

@media screen and (max-width:600px) {
    .l-footer-2column__item .c-button-circle {
        height: 43.5px;
        width: 43.5px
    }
}

.l-footer-2column__item .c-button-circle:before,
.l-footer-2column__item .c-button-circle:after {
    height: 74px;
    width: 74px;
    border: 1.5px solid #CF9763;
}

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

    .l-footer-2column__item .c-button-circle:before,
    .l-footer-2column__item .c-button-circle:after {
        height: 48px;
        width: 48px
    }
}

.l-footer-2column__item .c-button-circle ._arrow {
    height: 16px;
    width: 18px;
}

@media screen and (max-width:600px) {
    .l-footer-2column__item .c-button-circle ._arrow {
        height: 10px;
        width: 14.5px
    }
}

.l-footer-2column__item .c-button-circle ._arrow:after,
.l-footer-2column__item .c-button-circle ._arrow:before {
    height: 16px;
    width: 18px;
}

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

    .l-footer-2column__item .c-button-circle ._arrow:after,
    .l-footer-2column__item .c-button-circle ._arrow:before {
        height: 10px;
        width: 14.5px
    }
}

.l-footer-2column__item ._tel_number {
    color: #f8f9fa;
    display: block;
    font-size: 45px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    margin-top: 92px
}

@media screen and (max-width:767px) {
    .l-footer-2column__item ._tel_number {
        font-size: 40px;
        margin-top: 56px
    }
}

.l-footer-2column__item ._time {
    color: #f8f9fa;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    margin-top: 6px
}

.l-footer-2column__item ._time .c-en {
    margin-left: 11px
}

.l-footer-2column__item__title {
    align-items: center;
    color: #f8f9fa;
    display: flex;
    font-size: 48px;
    font-weight: 600;
    gap: 16px;
    letter-spacing: 0;
    line-height: 1;
    padding-bottom: 5px
}

@media screen and (max-width:767px) {
    .l-footer-2column__item__title {
        font-size: 32px;
        gap: 12px;
        padding-bottom: 0
    }
}

.l-footer-2column__item__title ._circle {
    height: 45px;
    min-width: 45px;
    width: 45px;
    fill: #f8f9fa;
    transition: all .4s
}

@media screen and (max-width:767px) {
    .l-footer-2column__item__title ._circle {
        height: 36px;
        min-width: 36px;
        width: 36px
    }
}

.l-footer-main {
    border-bottom: 1px solid hsla(0, 0%, 95%, .5);
    padding: 64px 0;
    width: 100%
}

@media screen and (max-width:600px) {
    .l-footer-main {
        padding: 48px 0
    }
}

.l-footer-main ._inner {
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    max-width: 1288px;
    padding: 0 24px;
    width: 100%
}

@media screen and (max-width:1024px) {
    .l-footer-main ._inner {
        flex-direction: column
    }
}

.l-footer-main__company .c-logo {
    display: block;
    max-width: 242px;
}

.l-footer-main__company .c-logo img {
    width: 100%;
}

@media screen and (max-width:600px) {
    .l-footer-main__company .c-logo {
        min-width: 120px;
        width: 120px
    }
}

.l-footer-main__company ._footer_company {
    color: #f8f9fa;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 2;
    margin-top: 40px
}

@media screen and (max-width:600px) {
    .l-footer-main__company ._footer_company {
        font-size: 15px;
        line-height: 1.8;
        margin-top: 32px
    }
}

.l-footer-main__nav {
    width: 356px;
}

@media screen and (max-width:1024px) {
    .l-footer-main__nav {
        margin-top: 64px
    }
}

@media screen and (max-width:600px) {
    .l-footer-main__nav {
        margin-top: 56px;
        width: 100%
    }
}

.l-footer-main__nav ul {
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    width: 100%
}

@media screen and (max-width:600px) {
    .l-footer-main__nav ul {
        row-gap: 24px
    }
}

.l-footer-main__nav li {
    width: 50%;
}

@media screen and (max-width:600px) {
    .l-footer-main__nav li {
        width: 50%
    }
}

.l-footer-main__nav li:first-child,
.l-footer-main__nav li:nth-child(5),
.l-footer-main__nav li:nth-child(9) {}

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

    .l-footer-main__nav li:first-child,
    .l-footer-main__nav li:nth-child(5),
    .l-footer-main__nav li:nth-child(9) {
        width: 50%
    }
}

.l-footer-main__nav li:nth-child(4),
.l-footer-main__nav li:nth-child(8) {
    width: 105px
}

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

    .l-footer-main__nav li:nth-child(4),
    .l-footer-main__nav li:nth-child(8) {
        width: 50%
    }
}

.l-footer-main__nav li a {
    align-items: center;
    color: #f8f9fa;
    display: flex;
    gap: 8px;
    letter-spacing: 0;
    line-height: 1.4
}

.l-footer-main__nav li a ._link_icon {
    height: 12px;
    width: 12px;
    fill: #f8f9fa;
    transition: all .4s
}

.l-footer-policy {
    padding: 32px 0;
    width: 100%
}

.l-footer-policy ._inner {
    display: flex;
    flex-wrap: wrap;
    gap: 32px;
    margin: 0 auto;
    max-width: 1288px;
    padding: 0 24px;
    width: 100%;
    justify-content: space-between;
    color: #fff;
    font-size: 12px;
}

.l-footer-policy ._inner .js-privacy-btn,
.l-footer-policy ._inner a {
    color: #f8f9fa;
    cursor: pointer;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4166666667
}

.l-footer-support {
    background: #fcfcfc;
    border-bottom: 1px solid #dbdbdb;
    padding: 48px 0;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-footer-support {
        padding: 32px 0
    }

    .l-footer-policy ._inner {
        gap: 10px;
    }

    .l-footer-policy ._inner>span{
        width: 100%;
        text-align: center;
    }
}

.l-footer-support .c-contents-inner {
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: center
}

.l-footer-support__text {
    font-size: 14px;
    line-height: 1.75;
    margin-bottom: 26px;
    text-align: center
}

.l-footer-support__text span {
    display: inline-block
}

.l-footer-support__logo {
    display: block;
    width: 587px
}

@media screen and (max-width:767px) {
    .l-footer-support__logo {
        width: 254px
    }
}

.l-footer-support__logo.--support01 {
    width: 65px
}

@media screen and (max-width:600px) {
    .l-footer-support__logo.--support01 {
        margin-right: 47px;
        width: 50px
    }
}

.l-footer-support__logo.--support02 {
    width: 110px
}

@media screen and (max-width:600px) {
    .l-footer-support__logo.--support02 {
        margin-right: 31px;
        width: 80px
    }
}

.l-footer-support__logo.--support03 {
    width: 85px
}

@media screen and (max-width:600px) {
    .l-footer-support__logo.--support03 {
        width: 66px
    }
}

.l-footer-copyright {
    background: #fcfcfc;
    padding: 24px 0;
    width: 100%
}

@media screen and (max-width:600px) {
    .l-footer-copyright {
        padding: 16px 0
    }
}

.l-footer-copyright small {
    display: block;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.4166666667;
    text-align: center;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-footer-copyright small {
        font-size: 10px
    }
}

.l-footer-support__logos {
    column-gap: 72px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    row-gap: 25px
}

.l-footer-support__logos-links {
    align-items: center;
    column-gap: 31px;
    display: flex;
    justify-content: center;
    margin-bottom: 10px
}

.l-footer-support__logos-links a {
    display: block
}

.l-footer-support__logos-links a img {
    display: block;
    height: 84px;
    width: auto
}

.l-footer-support__logos-block {
    text-align: center
}

.l-footer-support__logos-block p {
    font-size: 14px
}

.l-footer-support__logos-block small {
    font-size: 12px
}

.l-section {
    width: 100%
}

.l-section.--ornament {
    position: relative
}

.l-section.--ornament ._ornament_line {
    left: 0;
    overflow: hidden;
    position: absolute;
    width: 100%;
    z-index: 3
}

.l-section.--ornament ._ornament_line_svg {
    height: 100%;
    position: absolute;
    top: 0;
    width: 2000px;
    stroke-dasharray: 400;
    stroke-dashoffset: -2000;
    animation: line-stroke 6s linear infinite
}

@media screen and (max-width:767px) {
    .l-section.--ornament ._ornament_line_svg {
        width: 768px;
        stroke-dasharray: 200;
        stroke-dashoffset: -768
    }
}

.l-section.--sub {
    padding: 120px 0;
}

@media screen and (max-width:767px) {
    .l-section.--sub {
        padding: 60px 0;
    }
}

.l-section-heading {
    display: flex;
    justify-content: right;
    margin-left: max(24px, (100% - 1240px)/2);
    max-width: 1420px;
    width: calc(100% - 24px)
}

.l-section-heading .c-heading {
    width: 1420px
}

@media screen and (max-width:767px) {
    .l-section-heading .c-heading {
        margin-bottom: 24px;
    }
}

@media screen and (max-width:600px) {
    .l-section-heading .c-heading {
    }
}

.l-section-heading .c-heading .c-heading-line {
    height: 39.5px;
    width: 1420px
}

@media screen and (max-width:600px) {
    .l-section-heading .c-heading .c-heading-line {
        height: 28px;
        width: 600px
    }
}

.u-overflow-hidden {
    overflow: hidden;
    width: 100%
}

.l-topics {
    position: relative
}

@media screen and (max-width:1024px) {
    .l-topics {
        padding-left: 0
    }
}

@media screen and (max-width:600px) {
    .l-topics {
        width: 100%
    }
}

.l-topics-nav {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 200px
}

@media screen and (max-width:1024px) {
    .l-topics-nav {
        height: auto;
        margin-bottom: 32px;
        position: static;
        width: 100%
    }
}

@media screen and (max-width:767px) {
    .l-topics-nav {
        margin-bottom: 16px
    }
}

@media screen and (max-width:600px) {
    .l-topics-nav {
        width: 100%
    }
}

.l-topics-nav__sticky {
    left: 0;
    position: sticky;
    top: 150px;
    width: 100%
}

@media screen and (max-width:1024px) {
    .l-topics-nav__sticky {
        overflow: hidden;
        position: static
    }

    .l-topics-nav__sticky ._tab_inner {
        overflow-x: auto;
        white-space: nowrap;
        width: auto
    }

    .l-topics-nav__sticky ._topics_nav {
        display: flex;
        gap: 24px
    }
}

@media screen and (max-width:600px) {
    .l-topics-nav__sticky ._topics_nav {
        padding: 0 24px;
        width: max-content
    }
}

.l-topics-nav__sticky ._topics_nav li {
    margin-bottom: 4px
}

@media screen and (max-width:1024px) {
    .l-topics-nav__sticky ._topics_nav li {
        margin-bottom: 0
    }
}

.l-topics-nav__sticky ._topics_nav li:first-child {
    margin-bottom: 24px
}

@media screen and (max-width:1024px) {
    .l-topics-nav__sticky ._topics_nav li:first-child {
        margin-bottom: 0
    }
}

.l-topics-nav__sticky ._topics_nav li a {
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    padding-left: 30px;
    position: relative
}

.l-topics-nav__sticky ._topics_nav li a ._object {
    border: 1px solid #dbdbdb;
    border-radius: 50px;
    height: 19px;
    left: 0;
    position: absolute;
    top: -1px;
    transition: all .4s;
    width: 19px
}

.l-topics-nav__sticky ._topics_nav li a ._object:after {
    background: #dbdbdb;
    border-radius: 50px;
    content: "";
    display: block;
    height: 3px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%) scale(1);
    transition: all .4s;
    width: 3px
}

.l-topics-nav__sticky ._topics_nav li a.is-current ._object {
    border: 1px solid #112844
}

.l-topics-nav__sticky ._topics_nav li a.is-current ._object:after {
    background: #112844;
    transform: translate(-50%, -50%) scale(4)
}

.l-topics-nav__sticky ._topics_nav li a:hover ._object {
    border: 1px solid #112844;
    transition: all .4s
}

.l-topics-nav__sticky ._topics_nav li a:hover ._object:after {
    background: #112844;
    transform: translate(-50%, -50%) scale(4);
    transition: all .4s
}

.l-topics-nav__sticky .c-post-button {
    margin-top: 70px
}

@media screen and (max-width:1024px) {
    .l-topics-nav__sticky .c-post-button {
        bottom: 0;
        position: absolute;
        right: 0
    }
}

.l-topics-list {
    width: 100%;
    max-width: 866px;
    margin: 0 auto;
}

@media screen and (max-width:1024px) {
    .l-topics-list {
        padding-bottom: 0;
    }
}

@media screen and (max-width:600px) {
    .l-topics-list {
        margin: 0 auto;
        width: calc(100% - 48px)
    }
}

.l-topics-list li {
    width: 100%
}

@media screen and (max-width:1024px) {
    .l-topics-list li {
        max-width: inherit
    }
}

.l-topics-list li a {
    display: block;
    padding: 20px 38px;
    transition: all .4s;
    width: 100%;
}

@media screen and (max-width:767px) {
    .l-topics-list li a {
        padding: 24px 0 0
    }
}

.l-topics-list li a:hover {
    box-shadow: 0 0 24px 0 rgba(0, 0, 0, .1)
}

.l-topics-list li a:hover ._post_title {
    color: #112844;
    transition: all .4s
}

.l-topics-list li ._inner {
    border-bottom: 1px solid #dbdbdb;
    display: flex;
    gap: 34px;
    padding-bottom: 40px;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-topics-list li ._inner {
        gap: 16px;
        padding-bottom: 24px
    }
}

.l-topics-list li ._post_img {
    aspect-ratio: 180/132;
    border-radius: 4px;
    min-width: 180px;
    overflow: hidden;
    position: relative;
    width: 180px
}

@media screen and (max-width:767px) {
    .l-topics-list li ._post_img {
        border-radius: 2px;
        min-width: 124px;
        width: 124px
    }
}

.l-topics-list li ._post_img img {
    bottom: 0;
    height: 100%;
    left: 0;
    margin: auto;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1
}

.l-topics-list li ._post_detection {
    padding-right: 50px;
    position: relative;
    width: calc(100% - 214px)
}

@media screen and (max-width:767px) {
    .l-topics-list li ._post_detection {
        padding-right: 0;
        width: calc(100% - 140px)
    }
}

.l-topics-list li ._post_information {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 9px
}

@media screen and (max-width:767px) {
    .l-topics-list li ._post_information {
        gap: 12px;
        margin-bottom: 12px
    }
}

.l-topics-list li ._date {
    color: rgba(47, 54, 57, .43);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1
}

.l-topics-list li ._category {
    background: #dbdbdb;
    border-radius: 11px;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    padding: 5px 9px;
    text-decoration-color: #112844;
}

.l-topics-list li ._post_title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.5;
    transition: all .4s
}

@media screen and (max-width:767px) {
    .l-topics-list li ._post_title {
        font-size: 16px
    }
}

.l-topics-list li .c-button-circle {
    bottom: 0;
    position: absolute;
    right: 6px;
    top: inherit;
    transform: translateY(0)
}

@media screen and (max-width:767px) {
    .l-topics-list li .c-button-circle {
        display: none
    }
}

.js-topicsAccordionBtn {
    align-items: center;
    background: #f2f2f2;
    display: flex;
    font-size: 16px;
    font-weight: 600;
    justify-content: space-between;
    letter-spacing: .05em;
    line-height: 1;
    padding: 12px 20px;
    width: 100%
}

@media screen and (max-width:1024px) {
    .js-topicsAccordionBtn {
        margin-bottom: 20px
    }
}

.js-topicsAccordionBtn:nth-child(n+2) {
    margin-top: 40px
}

@media screen and (max-width:600px) {
    .js-topicsAccordionBtn {
        margin: 0 auto 20px;
        width: calc(100% - 48px)
    }
}

.js-topicsAccordionBtn ._ham {
    height: 16px;
    position: relative;
    width: 16px
}

.js-topicsAccordionBtn ._ham:after,
.js-topicsAccordionBtn ._ham:before {
    background: #00008d;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 16px
}

.js-topicsAccordionBtn.is-open ._ham:after {
    transform: translate(-50%, -50%) rotate(0);
    transition: all .4s
}

.js-topicsAccordionBtn.is-close ._ham:after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: all .4s
}

.js-topicsAccordionNav {
    height: 0;
    overflow: hidden;
    transition: height .4s ease
}

.js-topicsAccordionNav.is-open {
    height: auto
}

.js-topicsAccordionNav.is-close {
    height: 0
}

.l-topics-nav__sticky ._topics_nav.js-topicsAccordionNav li {
    margin-bottom: 12px
}

@media screen and (max-width:1024px) {
    .l-topics-nav__sticky ._topics_nav.js-topicsAccordionNav li {
        margin-bottom: 0
    }
}

.l-topics-nav__sticky ._topics_nav.js-topicsAccordionNav li:first-child {
    margin-bottom: 12px;
    margin-top: 24px
}

@media screen and (max-width:1024px) {
    .l-topics-nav__sticky ._topics_nav.js-topicsAccordionNav li:first-child {
        margin-bottom: 0;
        margin-top: 0
    }
}

.l-fv {
    padding-top: 200px;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-fv {
        padding-top: 200px
    }
}

.l-fv .c-contents-inner {
    position: relative
}

.l-fv .c-breadcrumb {
    position: absolute;
    right: 0;
    top: 10px
}

@media screen and (max-width:767px) {
    .l-fv .c-breadcrumb {
        top: -60px
    }
}

.l-fv.--sub {
    position: relative
}

@media screen and (max-width:767px) {
    .l-fv.--sub {
        padding: 200px 0 0;
    }
}

.l-fv-navigation {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin: 80px 0;
    width: 100%
}

@media screen and (max-width:767px) {
    .l-fv-navigation {
        gap: 9px;
        margin: 56px 0 60px
    }
}

.l-fv-navigation>li {
    width: calc(100% / 4 - 16px)!important;
}

@media screen and (max-width:767px) {
    .l-fv-navigation>li {
        width: calc(50% - 4.5px) !important;
    }
}

.l-fv-navigation>li a {
    align-items: center;
    background: #f2f2f2;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    height: 100%;
    letter-spacing: .01em;
    line-height: 1.6;
    padding: 10px 36px 10px 12px;
    position: relative;
    transform: translateY(0);
    transition: all .4s;
    width: 100%
}

.l-fv-navigation>li a:after {
    background: url(../image/fv-navigation-circle.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 24px;
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px
}

@media screen and (max-width:767px) {
    .l-fv-navigation>li a:after {
        height: 18px;
        width: 18px
    }
}

.l-fv-navigation>li a:hover {
    transform: translateY(8px);
    transition: all .4s
}

.l-fv-img {
    /* aspect-ratio: 1600/600; */
    overflow: hidden;
    position: relative;
    width: 100%
}

@media screen and (max-width:600px) {
    .l-fv-img {
        /* aspect-ratio: 375/240; */
    }
}

.l-sub {
    position: relative;
    width: 100%
}

.l-sub-nav {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 286px;
    z-index: 20
}

@media screen and (min-width:1601px) {
    .l-sub-nav {
        left: calc(50vw - 800px)
    }
}

@media screen and (max-width:1024px) {
    .l-sub-nav {
        display: none
    }
}

.l-sub-nav.--white .l-sub-nav__sticky a {
    color: rgba(248, 249, 250, .2)
}

.l-sub-nav.--white .l-sub-nav__sticky a.is-current {
    color: #f8f9fa
}

.l-sub-nav.--white .l-sub-nav__sticky a:hover {
    color: #112844
}

.l-sub-nav__sticky {
    /* align-items: center; */
    display: flex;
    height: 100vh;
    left: 0;
    padding: 120px 0;
    position: sticky;
    top: 0;
    width: 100%
}

.l-sub-nav__sticky ul {
    padding-left: 48px;
    padding-right: 32px;
    width: 100%
}

.l-sub-nav__sticky li {
    margin-bottom: 12px;
    width: 100%
}

.l-sub-nav__sticky a {
    color: rgba(47, 54, 57, .2);
    display: inline-block;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1.4285714286;
    padding-left: 26px;
    position: relative;
    transition: all .2s
}

.l-sub-nav__sticky a:after {
    background: #112844;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 6px;
    transition: all .2s;
    width: 8px
}

.l-sub-nav__sticky a.is-current {
    color: #2f3639;
    font-weight: 700;
    transition: all .2s
}

.l-sub-nav__sticky a.is-current:after {
    opacity: 1;
    transition: all .2s
}

.l-sub-nav__sticky a:hover {
    color: #112844;
    transition: all .2s
}

.l-sub-main {
    overflow: hidden;
    width: 100%
}

.l-sub-main__wrap.--head {
    margin-left: max(286px, 100% - 1200px);
    max-width: 1200px;
    width: calc(100% - 286px)
}

@media screen and (max-width:1024px) {
    .l-sub-main__wrap.--head {
        margin-left: 24px !important;
        width: calc(100% - 24px)
    }
}

.l-sub-main__wrap.--middle {
    margin-left: max(286px, 100% - 1200px);
    max-width: 1200px;
    width: calc(100% - 286px)
}

@media (max-width:1300px) {
    .l-sub-main__wrap.--middle {
        padding-right: 24px
    }
}

@media screen and (max-width:1024px) {
    .l-sub-main__wrap.--middle {
        margin: 0 auto;
        padding-right: 0;
        width: calc(100% - 48px)
    }
}

.editor-styles-wrapper .block-editor-block-list__layout .is-style-noBordered table td,
.editor-styles-wrapper .block-editor-block-list__layout .is-style-noBordered table th,
.p-single-post__content .is-style-noBordered table td,
.p-single-post__content .is-style-noBordered table th {
    border: none !important
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-video,
.p-single-post__content .wp-block-video {
    max-width: 580px
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-video.is-style-vertical,
.p-single-post__content .wp-block-video.is-style-vertical {
    max-width: 290px
}

.editor-styles-wrapper .block-editor-block-list__layout h1,
.p-single-post__content h1 {
    font-size: 36px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.75;
    margin-bottom: 64px;
    width: 100%
}

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

    .editor-styles-wrapper .block-editor-block-list__layout h1,
    .p-single-post__content h1 {
        font-size: 24px;
        font-weight: 700;
        line-height: 1.75;
        margin-bottom: 48px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout h2,
.p-single-post__content h2 {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1.75;
    margin-bottom: 32px;
    overflow: hidden;
    padding-bottom: 24px;
    position: relative;
    width: 100%
}

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

    .editor-styles-wrapper .block-editor-block-list__layout h2,
    .p-single-post__content h2 {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.75;
        margin-bottom: 24px;
        padding-bottom: 16px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout h2:before,
.p-single-post__content h2:before {
    background: url(../image/p-single_h2_line.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    height: 8px;
    position: absolute;
    right: 0;
    width: 1028px
}

.editor-styles-wrapper .block-editor-block-list__layout figure,
.p-single-post__content figure {
    margin-bottom: 80px;
    overflow: hidden;
    width: 100%
}

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

    .editor-styles-wrapper .block-editor-block-list__layout figure,
    .p-single-post__content figure {
        margin-bottom: 64px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout figure img,
.p-single-post__content figure img {
    height: auto;
    width: 100%
}

.editor-styles-wrapper .block-editor-block-list__layout figure.is-style-bordered img,
.p-single-post__content figure.is-style-bordered img {
    border: 1px solid #dbdbdb
}

.editor-styles-wrapper .block-editor-block-list__layout figure figcaption,
.p-single-post__content figure figcaption {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.75;
    margin-top: 16px;
    text-align: left
}

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

    .editor-styles-wrapper .block-editor-block-list__layout figure figcaption,
    .p-single-post__content figure figcaption {
        margin-top: 8px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout figure figcaption span,
.p-single-post__content figure figcaption span {
    display: block;
    margin-bottom: 12px
}

.editor-styles-wrapper .block-editor-block-list__layout h3,
.p-single-post__content h3 {
    background: #f2f2f2;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.75;
    margin-bottom: 32px;
    padding: 12px 20px 12px 40px;
    position: relative;
    width: 100%
}

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

    .editor-styles-wrapper .block-editor-block-list__layout h3,
    .p-single-post__content h3 {
        font-size: 18px;
        line-height: 1.75;
        margin-bottom: 24px;
        padding: 12px 16px 12px 32px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout h3:after,
.p-single-post__content h3:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    left: 24px;
    position: absolute;
    top: 26px;
    width: 8px
}

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

    .editor-styles-wrapper .block-editor-block-list__layout h3:after,
    .p-single-post__content h3:after {
        height: 6px;
        left: 16px;
        width: 6px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout p,
.p-single-post__content p {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 2
}

.editor-styles-wrapper .block-editor-block-list__layout a:not([class]),
.p-single-post__content a:not([class]) {
    color: #112844;
    text-decoration: underline;
    text-decoration-color: #112844;
    transition: all .4s
}

.editor-styles-wrapper .block-editor-block-list__layout a:not([class]):hover,
.p-single-post__content a:not([class]):hover {
    opacity: .8
}

.editor-styles-wrapper .block-editor-block-list__layout ol,
.editor-styles-wrapper .block-editor-block-list__layout ul,
.p-single-post__content ol,
.p-single-post__content ul {
    list-style-position: inside;
    margin-bottom: 65px;
    width: 100%
}

.editor-styles-wrapper .block-editor-block-list__layout ol li,
.editor-styles-wrapper .block-editor-block-list__layout ul li,
.p-single-post__content ol li,
.p-single-post__content ul li {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 2
}

.editor-styles-wrapper .block-editor-block-list__layout ol,
.p-single-post__content ol {
    list-style-type: decimal-leading-zero
}

.editor-styles-wrapper .block-editor-block-list__layout ol li::marker,
.p-single-post__content ol li::marker {
    color: #112844;
    font-family: Work Sans, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 2.1333333333
}

.editor-styles-wrapper .block-editor-block-list__layout ul,
.p-single-post__content ul {
    list-style-type: disc
}

.editor-styles-wrapper .block-editor-block-list__layout ul li::marker,
.p-single-post__content ul li::marker {
    color: #112844
}

.editor-styles-wrapper .block-editor-block-list__layout iframe,
.p-single-post__content iframe {
    aspect-ratio: 6/4;
    height: 100%;
    margin-bottom: 36px;
    width: 100%
}

.editor-styles-wrapper .block-editor-block-list__layout .c-service-list,
.p-single-post__content .c-service-list {
    list-style-type: none
}

.editor-styles-wrapper .block-editor-block-list__layout .c-service-list a,
.p-single-post__content .c-service-list a {
    color: #2f3639;
    text-decoration: none
}

.editor-styles-wrapper .block-editor-block-list__layout .c-service-list a:hover,
.p-single-post__content .c-service-list a:hover {
    opacity: 1
}

.editor-styles-wrapper .block-editor-block-list__layout .c-service-list .c-copy,
.p-single-post__content .c-service-list .c-copy {
    margin-bottom: 0
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons,
.p-single-post__content .wp-block-buttons {
    margin-bottom: 0;
    margin-top: 0
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.external-link ._arrow,
.p-single-post__content .wp-block-buttons .c-button.external-link ._arrow {
    height: 13px;
    width: 13px
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.external-link ._arrow:after,
.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.external-link ._arrow:before,
.p-single-post__content .wp-block-buttons .c-button.external-link ._arrow:after,
.p-single-post__content .wp-block-buttons .c-button.external-link ._arrow:before {
    background: url(../image/externallink-icon-white.svg);
    background-repeat: no-repeat;
    background-size: cover;
    content: "";
    height: 13px;
    width: 13px
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link,
.p-single-post__content .wp-block-buttons .c-button.pdf-link {
    background: inherit;
    padding-right: 64px;
    width: max-content
}

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

    .editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link,
    .p-single-post__content .wp-block-buttons .c-button.pdf-link {
        padding-right: 50px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link .c-button-circle,
.p-single-post__content .wp-block-buttons .c-button.pdf-link .c-button-circle {
    background: url(../image/pdf-circle-icon-white.svg);
    background-repeat: no-repeat;
    background-size: cover;
    height: 48px;
    right: 0;
    transition: all .4s;
    width: 48px
}

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

    .editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link .c-button-circle,
    .p-single-post__content .wp-block-buttons .c-button.pdf-link .c-button-circle {
        height: 40px;
        width: 40px
    }
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link ._arrow,
.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link .c-button-circle:after,
.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link .c-button-circle:before,
.p-single-post__content .wp-block-buttons .c-button.pdf-link ._arrow,
.p-single-post__content .wp-block-buttons .c-button.pdf-link .c-button-circle:after,
.p-single-post__content .wp-block-buttons .c-button.pdf-link .c-button-circle:before {
    display: none
}

.editor-styles-wrapper .block-editor-block-list__layout .wp-block-buttons .c-button.pdf-link:hover .c-button-circle,
.p-single-post__content .wp-block-buttons .c-button.pdf-link:hover .c-button-circle {
    background: url(../image/pdf-circle-icon-grad.svg);
    background-repeat: no-repeat;
    background-size: cover;
    transition: all .4s
}

.p-top,
.p-top-fv {
    width: 100%
}

.p-top-fv {
    aspect-ratio: 1600/1300;
    overflow: hidden;
    padding-top: 22vw;
    position: relative
}

@media screen and (max-width:767px) {
    .p-top-fv {
        aspect-ratio: inherit;
        padding-top: 285px;
    }
}

.p-top-fv__heading {
    font-size: clamp(0px, 0px + 3.125vw, 50px);
    font-weight: 700;
    left: 5.875%;
    letter-spacing: 0;
    line-height: 1.54;
    position: absolute;
    top: 17.538462%;
}

@media screen and (max-width:767px) {
    .p-top-fv__heading {
        font-size: 26px;
        left: 18px;
        line-height: 1.6153846154;
        top: 120px;
    }
}

.p-top-fv__heading .c-en {
    display: block;
    font-size: clamp(0px, 0px + .875vw, 14px);
    font-weight: 700;
    letter-spacing: .2em;
    line-height: 1.1428571429;
    margin-top: 2.5em
}

@media screen and (max-width:767px) {
    .p-top-fv__heading .c-en {
        font-size: 12px;
        line-height: 1.1666666667;
        margin-top: 24px
    }
}

.p-top-fv__lower {
    clip-path: polygon(70% 0, 100% 0, 100% 100%, 0 100%, 0 19.4444444444%, 57.5% 19.4444444444%);
    padding-top: 12.5%;
    position: relative;
    width: 100%;
    z-index: 3
}

@media screen and (max-width:767px) {
    .p-top-fv__lower {
        aspect-ratio: inherit;
        clip-path: polygon(0 64px, 54.6666666667% 64px, calc(54.66667% + 74px) 0, 100% 0, 100% 100%, 0 100%);
        height: auto;
        padding-top: 79px
    }
}

.p-top-fv__lower:after {
    background: #112844;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: -2
}

.p-top-fv__lower__border {
    aspect-ratio: 1600/223;
    left: 50%;
    position: absolute;
    top: 2.1111111111%;
    transform: translateX(-50%);
    width: 100%;
    z-index: -1;
    stroke-dasharray: 800;
    stroke-dashoffset: 1600;
    animation: line-stroke 6s linear infinite
}

@media screen and (max-width:767px) {
    .p-top-fv__lower__border {
        aspect-ratio: inherit;
        height: 85.363px;
        left: 54.6666666667%;
        top: 11.6px;
        transform: translateX(calc(-50% - 21px));
        width: 768px;
        z-index: -1;
        stroke-dasharray: 800;
        stroke-dashoffset: 1600
    }
}

.p-top-fv__lower__border circle {
    animation: circle-fade 6s infinite
}

@media screen and (max-width:767px) {
    .p-top-fv__lower__border circle {
        animation: circle-fade-sp 6s infinite
    }
}

.p-top-fv__lower__border ellipse {
    animation: ellipse-fade 6s infinite
}

@media screen and (max-width:767px) {
    .p-top-fv__lower__border ellipse {
        animation: ellipse-fade 6s infinite
    }
}

@keyframes circle-fade {
    0% {
        opacity: 1
    }

    14% {
        opacity: 1
    }

    15% {
        opacity: 0
    }

    63% {
        opacity: 0
    }

    64% {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

@keyframes circle-fade-sp {
    0% {
        opacity: 1
    }

    7% {
        opacity: 1
    }

    8% {
        opacity: 0
    }

    57% {
        opacity: 0
    }

    58% {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

@keyframes ellipse-fade {
    0% {
        opacity: 1
    }

    20% {
        opacity: 1
    }

    21% {
        opacity: 0
    }

    70% {
        opacity: 0
    }

    71% {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

.p-top-fv__lower__loop {
    aspect-ratio: 1600/700;
    display: flex;
    height: 100%;
    white-space: nowrap;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-fv__lower__loop {
        aspect-ratio: inherit;
        height: 420px;
        width: 3660px
    }
}

.p-top-fv__lower__loop ._img_list {
    display: flex;
    height: 100%;
    width: 190.625%
}

@media screen and (max-width:767px) {
    .p-top-fv__lower__loop ._img_list {
        width: 1100px;
    }
}

.p-top-fv__lower__loop ._img_list:first-of-type {
    animation: loop 100s linear -50s infinite
}

.p-top-fv__lower__loop ._img_list:nth-of-type(2) {
    animation: loop2 100s linear infinite
}

.p-top-fv__lower__loop ._img {
    aspect-ratio: 610/700;
    height: 100%;
    width: 34%;
}

@media screen and (max-width:767px) {
    .p-top-fv__lower__loop ._img {
        aspect-ratio: inherit;
    }
}

.p-top-strong {
    padding: 0 0 270px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-strong {
        background-position: 50%;
        background-size: cover;
        padding: 0 0 150px
    }
}

@media screen and (max-width:600px) {
    .p-top-strong {
        background-position: 44%
    }
}

.p-top-strong.--ornament:before {
    display: none
}

.p-top-strong.--ornament ._ornament_line.--under {
    bottom: -11px;
    height: 47.607px
}

@media screen and (max-width:767px) {
    .p-top-strong.--ornament ._ornament_line.--under {
        height: 29.918px
    }
}

.p-top-strong.--ornament ._ornament_line_svg {
    left: 40.3125%;
    transform: translateX(calc(-50% + 152px))
}

@media screen and (max-width:767px) {
    .p-top-strong.--ornament ._ornament_line_svg {
        left: 40%;
        transform: translateX(calc(-50% + 31px))
    }
}

.p-top-strong__loop {
    display: flex;
    padding-top: 70px
}

@media screen and (max-width:767px) {
    .p-top-strong__loop {
        padding-top: 80px
    }
}

.p-top-strong__loop:hover .p-top-strong__loop__list:first-of-type {
    animation-play-state: paused
}

@media screen and (max-width:767px) {
    .p-top-strong__loop:hover .p-top-strong__loop__list:first-of-type {
        animation-play-state: running
    }
}

.p-top-strong__loop:hover .p-top-strong__loop__list:nth-of-type(2) {
    animation-play-state: paused
}

@media screen and (max-width:767px) {
    .p-top-strong__loop:hover .p-top-strong__loop__list:nth-of-type(2) {
        animation-play-state: running
    }
}

.p-top-strong__loop__list {
    display: flex;
    will-change: transform
}

.p-top-strong__loop__list:first-of-type {
    animation: loop 140s linear -70s infinite
}

.p-top-strong__loop__list:nth-of-type(2) {
    animation: loop2 140s linear infinite
}

.p-top-strong__loop__list li {
    margin-right: 165px;
    width: max-content
}

@media screen and (max-width:767px) {
    .p-top-strong__loop__list li {
        margin-right: 48px
    }
}

.p-top-strong__loop__list li .c-text {
    color: #f8f9fa;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1;
    margin-bottom: 8px
}

@media screen and (max-width:767px) {
    .p-top-strong__loop__list li .c-text {
        font-size: 14px;
        margin-bottom: 4px
    }
}

.p-top-strong__loop__list li .c-en {
    color: #f8f9fa;
    display: flex;
    font-size: 128px;
    font-weight: 500;
    gap: 10px;
    letter-spacing: -.05em;
    line-height: 1
}

@media screen and (max-width:767px) {
    .p-top-strong__loop__list li .c-en {
        font-size: 80px;
        gap: 5px
    }
}

.p-top-strong__loop__list li .c-en ._plus {
    font-size: 64px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1
}

@media screen and (max-width:767px) {
    .p-top-strong__loop__list li .c-en ._plus {
        font-size: 40px;
        margin-top: 5px
    }
}

.p-top-strong__loop__list li.--hover {
    cursor: pointer;
    position: relative
}

.p-top-strong__loop__list li.--hover .c-text {
    transition: color .2s ease-in-out
}

.p-top-strong__loop__list li.--hover ._number {
    display: block;
    position: relative;
    transition: color .2s ease-in-out
}

.p-top-strong__loop__list li.--hover ._number:after {
    background: url(../image/plus-icon-grad.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 12px;
    content: "";
    display: block;
    height: 32px;
    position: absolute;
    right: -6px;
    width: 32px
}

@media screen and (max-width:1024px) {
    .p-top-strong__loop__list li.--hover ._number:after {
        display: none
    }
}

.p-top-strong__loop__list li.--hover ._pop-up {
    height: 168px;
    left: 138px;
    padding: 42px 20px 20px;
    position: absolute;
    top: -60px;
    transition: all .1s .4s;
    visibility: hidden;
    width: 300px;
    z-index: 2
}

@media screen and (max-width:1024px) {
    .p-top-strong__loop__list li.--hover ._pop-up {
        display: none
    }
}

.p-top-strong__loop__list li.--hover ._pop-up:before {
    background: rgba(2, 54, 83, .9);
    clip-path: polygon(49px 0, 100% 0, 100% 100%, 0 100%, 0 31px);
    content: "";
    display: block;
    height: 156px;
    left: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    transform-origin: left bottom;
    transition: transform .3s ease-in-out;
    width: 296px;
    z-index: -1
}

.p-top-strong__loop__list li.--hover ._pop-up:after {
    background: #f8f9fa;
    border-radius: 50px;
    content: "";
    display: block;
    height: 6px;
    opacity: 0;
    position: absolute;
    right: 1.5px;
    top: -2.5px;
    transition: opacity .2s ease-in-out;
    width: 6px
}

.p-top-strong__loop__list li.--hover ._pop-up ._pop-border {
    height: 166px;
    width: 297px;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    left: 0;
    position: absolute;
    top: 0;
    transition: stroke-dashoffset .4s ease-out
}

.p-top-strong__loop__list li.--hover ._pop-up .c-copy {
    color: #f8f9fa;
    opacity: 0;
    transform: translateY(50px)
}

.p-top-strong__loop__list li.--hover:hover ._number,
.p-top-strong__loop__list li.--hover:hover .c-text {
    color: #112844;
    transition: color .2s ease-in-out
}

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

    .p-top-strong__loop__list li.--hover:hover ._number,
    .p-top-strong__loop__list li.--hover:hover .c-text {
        color: #f8f9fa
    }
}

.p-top-strong__loop__list li.--hover:hover ._pop-up {
    transition: all .1s;
    visibility: visible
}

.p-top-strong__loop__list li.--hover:hover ._pop-up:before {
    transform: scale(1);
    transition: transform .3s ease-in-out
}

.p-top-strong__loop__list li.--hover:hover ._pop-up:after {
    opacity: 1;
    transition: opacity .4s ease-in-out .2s
}

.p-top-strong__loop__list li.--hover:hover ._pop-up ._pop-border {
    transition: stroke-dashoffset .8s ease-out;
    stroke-dashoffset: 0
}

.p-top-strong__loop__list li.--hover:hover ._pop-up .c-copy {
    opacity: 1;
    transform: translateY(0);
    transition: all .4s
}

.p-top-strong__detection {
    margin-top: 140px
}

@media screen and (max-width:767px) {
    .p-top-strong__detection {
        margin-top: 90px
    }
}

.p-top-strong__detection ._heading {
    color: #f8f9fa;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.7058823529;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-top-strong__detection ._heading {
        font-size: 22px
    }
}

.p-top-strong__detection .c-copy {
    color: #f8f9fa;
    margin: 58px auto 62px;
    max-width: 540px;
    text-align: center;
    width: calc(100% - 48px)
}

@media screen and (max-width:767px) {
    .p-top-strong__detection .c-copy {
        margin: 40px auto;
        text-align: left
    }
}

.p-top-strong__detection .c-button {
    margin: 0 auto
}

.p-top-service {
    overflow: hidden;
    padding-bottom: 80px;
    padding-top: 120px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-service {
        padding: 80px 0;
    }
}

.p-top-service .c-button {
    margin: 0 auto;
    background: #F6F6F6;
}

.p-top-service__detection .c-text {
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.7058823529
}

@media screen and (max-width:767px) {
    .p-top-service__detection .c-text {
        font-size: 22px
    }
}

.p-top-service__detection .c-copy {
    max-width: 500px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-service__detection .c-copy {
        margin-top: 40px
    }
}

.p-top-service__tab {
    margin-top: 125px
}

@media screen and (max-width:767px) {
    .p-top-service__tab {
        margin-top: 80px
    }
}

.p-top-service__tab ._btn_container {
    margin: 0 auto 70px;
    max-width: 1240px;
    position: relative;
    width: calc(100% - 48px)
}

@media screen and (max-width:767px) {
    .p-top-service__tab ._btn_container {
        margin: 0 auto 48px;
        width: 100%
    }
}

.p-top-service__tab ._btn_container:after,
.p-top-service__tab ._btn_container:before {
    background: #dbdbdb;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: calc(50% - 312.5px)
}

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

    .p-top-service__tab ._btn_container:after,
    .p-top-service__tab ._btn_container:before {
        width: calc(50% - 274px)
    }
}

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

    .p-top-service__tab ._btn_container:after,
    .p-top-service__tab ._btn_container:before {
        width: calc(50% - 171.5px)
    }
}

.p-top-service__tab ._btn_container:before {
    left: 0
}

.p-top-service__tab ._btn_container:after {
    right: 0
}

.p-top-service__tab ._tab_btns {
    background: #f2f2f2;
    border-radius: 32px;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 5px 6px;
    width: 532px
}

@media screen and (max-width:600px) {
    .p-top-service__tab ._tab_btns {
        border-radius: 28px;
        padding: 4px;
        width: 327px
    }
}

.p-top-service__tab ._btn {
    align-items: center;
    border-radius: 27px;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    height: 54px;
    justify-content: center;
    letter-spacing: .05em;
    line-height: 1;
    overflow: hidden;
    position: relative;
    transition: all .2s ease-in-out;
    width: 168px;
    z-index: 2
}

@media screen and (max-width:600px) {
    .p-top-service__tab ._btn {
        border-radius: 24px;
        font-size: 14px;
        height: 48px;
        line-height: 1.2857142857;
        text-align: center;
        width: 100px
    }
}

.p-top-service__tab ._btn:before {
    background: #112844;
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transition: all .2s ease-in-out;
    width: 100%;
    z-index: -1
}

.p-top-service__tab ._btn.is-active {
    color: #f8f9fa
}

.p-top-service__tab ._btn.is-active:before {
    opacity: 1
}

.p-top-service__tab ._btn:not(.is-active):hover {
    color: #f8f9fa;
    transition: all .2s ease-in-out
}

.p-top-service__tab ._btn:not(.is-active):hover:before {
    animation: lightBtn .4s linear forwards
}

.p-top-service__tab .c-service-list {
    margin-bottom: 63px
}

@media screen and (max-width:767px) {
    .p-top-service__tab .c-service-list {
        margin-bottom: 40px
    }
}

.p-top-service__tab .l-fv-img {
    aspect-ratio: 1600/465;
    margin-bottom: 56px
}

@media screen and (max-width:600px) {
    .p-top-service__tab .l-fv-img {
        aspect-ratio: 375/240;
        margin-bottom: 24px
    }
}

@keyframes lightBtn {
    0% {
        opacity: 1
    }

    10% {
        opacity: 0
    }

    20% {
        opacity: 0
    }

    25% {
        opacity: 1
    }

    to {
        opacity: 1
    }
}

.p-top-location {
    position: relative;
    width: 100%;
    z-index: 2
}

.p-top-location.--ornament:before {
    clip-path: polygon(56.25% 0, 100% 0, 100% 50px, calc(56.25% + 50px) 50px)
}

@media screen and (max-width:767px) {
    .p-top-location.--ornament:before {
        clip-path: polygon(62.1333333333% 0, 100% 0, 100% 100%, calc(62.13333% + 29px) 100%);
        height: 28px
    }
}

.p-top-location.--ornament:after {
    clip-path: polygon(30.625% 100%, 100% 100%, 100% 0, calc(30.625% + 50px) 0)
}

@media screen and (max-width:767px) {
    .p-top-location.--ornament:after {
        clip-path: polygon(37.6% 100%, 100% 100%, 100% 0, calc(37.6% + 29px) 0);
        height: 28px
    }
}

.p-top-location.--ornament ._ornament_line.--upper {
    height: 76.363px;
    top: -42px
}

@media screen and (max-width:767px) {
    .p-top-location.--ornament ._ornament_line.--upper {
        height: 49.809px;
        top: -31px
    }
}

.p-top-location.--ornament ._ornament_line.--upper ._ornament_line_svg {
    left: 56.25%;
    transform: translateX(calc(-50% + 30px))
}

@media screen and (max-width:767px) {
    .p-top-location.--ornament ._ornament_line.--upper ._ornament_line_svg {
        left: 62.1333333333%;
        transform: translateX(calc(-50% - 41px))
    }
}

.p-top-location.--ornament ._ornament_line.--under {
    bottom: -11px;
    height: 47.607px
}

@media screen and (max-width:767px) {
    .p-top-location.--ornament ._ornament_line.--under {
        bottom: -12px;
        height: 29.918px
    }
}

.p-top-location.--ornament ._ornament_line.--under ._ornament_line_svg {
    left: 30.625%;
    transform: translateX(calc(-50% + 240px))
}

@media screen and (max-width:767px) {
    .p-top-location.--ornament ._ornament_line.--under ._ornament_line_svg {
        left: 37.6%;
        transform: translateX(calc(-50% + 44px))
    }
}

.p-top-location .u-overflow-hidden {
    padding-bottom: 150px;
    padding-top: 120px;
    position: relative
}

@media screen and (max-width:767px) {
    .p-top-location .u-overflow-hidden {
        padding: 100px 0;
    }
}

.p-top-location__map {
    aspect-ratio: 1515/890;
    background: url(../image/p-top-location-map.webp);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 158px;
    left: 28.75%;
    position: absolute;
    width: 1515px;
    z-index: -1
}

@media screen and (max-width:767px) {
    .p-top-location__map {
        bottom: 330px;
        left: 15px;
        width: 946px
    }
}

.p-top-location__map:before {
    aspect-ratio: 407/185;
    background: url(../image/p-top-location-map-highlight.webp);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    left: 5.0165016502%;
    opacity: 0;
    position: absolute;
    top: 66.0674157303%;
    width: 26.8646864686%;
    z-index: 2
}

.p-top-location__map:after {
    aspect-ratio: 275/469;
    background: url(../image/p-top-location-map-area.webp);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    left: 8%;
    opacity: 0;
    position: absolute;
    top: 39%;
    width: 18.1518151815%;
    z-index: 3
}

.p-top-location__map ._map_circle {
    left: 1%;
    opacity: 0;
    position: absolute;
    top: 53%;
    transform: rotateX(45deg) rotate(0);
    width: 30%;
    z-index: 3
}

.p-top-location__map.is-active:before {
    opacity: 1;
    transition: all .8s ease-in-out
}

.p-top-location__map.is-active:after {
    opacity: 1;
    transition: all .8s .4s
}

.p-top-location__map.is-active ._map_circle {
    opacity: 1;
    transform: rotateX(45deg) rotate(180deg);
    transition: all 1s ease-in .8s
}

.p-top-location__detection {
    margin-top: 0px;
}

@media screen and (max-width:767px) {
    .p-top-location__detection {
        margin-top: 56px
    }
}

.p-top-location__detection .c-text {
    color: #f8f9fa;
    font-size: 34px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.7058823529
}

@media screen and (max-width:767px) {
    .p-top-location__detection .c-text {
        font-size: 22px
    }
}

.p-top-location__detection .c-copy {
    color: #f8f9fa;
    margin: 58px 0 86px;
    max-width: 378px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-location__detection .c-copy {
        margin: 40px 0 100px;
    }
}

.p-top-location__detection .c-button:last-of-type {
    margin-top: 32px
}

@media screen and (max-width:767px) {
    .p-top-location__detection .c-button:last-of-type {
        margin-top: 24px
    }
}

.p-top-topics {
    padding-bottom: 120px;
    padding-top: 120px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-topics {
        padding-bottom: 10px;
        padding-top: 100px
    }
}

.p-top-topics ._inner {
    overflow: hidden;
    width: 100%
}

.p-top-banner {
    display: grid;
    padding-top: 155px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-top-banner {
        padding-top: 65px
    }
}

.p-top-banner__link {
    align-items: start;
    background: linear-gradient(100deg, #112844, #0096e0);
    clip-path: polygon(48px 0, 100% 0, 100% calc(100% - 48px), calc(100% - 48px) 100%, 0 100%, 0 48px);
    column-gap: min(48px, 3vw);
    display: grid;
    grid-template-columns: 1fr 1.8181818182fr;
    padding: 36px min(145px, 9.0625vw) 36px min(56px, 3.5vw);
    position: relative
}

@media screen and (max-width:767px) {
    .p-top-banner__link {
        background: linear-gradient(140deg, #112844, #0096e0);
        clip-path: polygon(34px 0, 100% 0, 100% calc(100% - 34px), calc(100% - 34px) 100%, 0 100%, 0 34px);
        grid-template-columns: 1fr;
        padding: 40px 20px 75px
    }
}

.p-top-banner__link .c-button-circle {
    background: #fff;
    bottom: 50px;
    height: 50px;
    right: min(50px, 3.125vw);
    top: auto;
    transform: none;
    width: 50px
}

@media screen and (max-width:767px) {
    .p-top-banner__link .c-button-circle {
        bottom: 17px;
        height: 40px;
        right: 33px;
        width: 40px
    }
}

.p-top-banner__link .c-button-circle:after,
.p-top-banner__link .c-button-circle:before {
    height: 58px;
    width: 58px
}

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

    .p-top-banner__link .c-button-circle:after,
    .p-top-banner__link .c-button-circle:before {
        height: 46px;
        width: 46px
    }
}

.p-top-banner__link .c-button-circle ._arrow {
    height: 17px;
    margin-left: 2px;
    width: 15px
}

@media screen and (max-width:767px) {
    .p-top-banner__link .c-button-circle ._arrow {
        height: 14px;
        width: 12px
    }
}

.p-top-banner__link .c-button-circle ._arrow:after,
.p-top-banner__link .c-button-circle ._arrow:before {
    background-image: url(../image/arrow-play.svg);
    height: 17px;
    width: 15px
}

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

    .p-top-banner__link .c-button-circle ._arrow:after,
    .p-top-banner__link .c-button-circle ._arrow:before {
        height: 14px;
        width: 12px
    }
}

.p-top-banner__link .c-heading {
    color: #fff;
    font-size: 13px;
    margin-bottom: 16px;
    padding-bottom: 0;
    padding-left: 14px
}

@media screen and (max-width:767px) {
    .p-top-banner__link .c-heading {
        margin-bottom: 10px
    }
}

.p-top-banner__link .c-heading:after {
    width: 8px
}

.p-top-banner__image {
    display: block;
    height: auto
}

.p-top-banner__image img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%
}

@media (--sm) {
    .p-top-banner__image img {
        height: auto
    }
}

.p-top-banner__content {
    padding-top: 15px
}

@media screen and (max-width:767px) {
    .p-top-banner__content {
        padding-top: 28px
    }
}

.p-top-banner__lead {
    color: #fff;
    font-size: min(24px, 2.34375vw);
    font-weight: 700;
    line-height: 1.5;
    margin-bottom: 16px
}

@media screen and (max-width:767px) {
    .p-top-banner__lead {
        font-size: 20px
    }
}

.p-top-banner__text {
    color: #fff;
    font-size: 15px;
    line-height: 1.75
}

.p-top-movie-modal {
    background: rgba(2, 42, 96, .8);
    height: 100vh;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all .4s;
    visibility: hidden;
    width: 100%;
    z-index: 30
}

.p-top-movie-modal.is-active {
    opacity: 1;
    visibility: visible
}

.p-top-movie-modal__body {
    background: linear-gradient(314deg, #0096e0 -1.63%, #112844 99.95%);
    height: calc(100% - 40px);
    left: 50%;
    max-height: 720px;
    max-width: 1240px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 40px)
}

@media screen and (max-width:767px) {
    .p-top-movie-modal__body {
        font-size: 20px;
        max-height: 360px
    }
}

.p-top-movie-modal__body iframe {
    aspect-ratio: 960/540;
    left: 50%;
    max-width: 960px;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 40px)
}

.p-top-movie-modal__body .c-button-circle {
    background: #f8f9fa;
    position: absolute;
    right: 18px;
    top: 18px;
    transform: none
}

.p-top-movie-modal__body .c-button-circle ._cross {
    aspect-ratio: 1/1;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 32px
}

@media screen and (max-width:767px) {
    .p-top-movie-modal__body .c-button-circle ._cross {
        width: 24px
    }
}

.p-top-movie-modal__body .c-button-circle ._cross:after,
.p-top-movie-modal__body .c-button-circle ._cross:before {
    background: #112844;
    content: "";
    display: block;
    height: 1px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 32px
}

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

    .p-top-movie-modal__body .c-button-circle ._cross:after,
    .p-top-movie-modal__body .c-button-circle ._cross:before {
        width: 24px
    }
}

.p-top-movie-modal__body .c-button-circle ._cross:before {
    transform: translate(-50%, -50%) rotate(-30deg)
}

.p-top-movie-modal__body .c-button-circle ._cross:after {
    transform: translate(-50%, -50%) rotate(30deg)
}

.p-strength-sec01 ._title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.75;
    margin-bottom: 38px
}

@media screen and (max-width:767px) {
    .p-strength-sec01 ._title {
        font-size: 20px;
        line-height: 1.75;
        margin-bottom: 18px
    }
}

.p-strength-sec01 .c-copy {
    margin-top: 24px
}

.p-strength-sec01 .c-copy:first-child {
    margin-top: 0
}

@media screen and (max-width:767px) {
    .p-strength-sec01 .c-copy {
        margin-top: 16px
    }
}

.p-strength-sec01 ._img {
    margin-top: 80px;
    opacity: 0;
    transform: translateY(100px);
    width: 100%
}

@media screen and (max-width:767px) {
    .p-strength-sec01 ._img {
        margin-top: 54px
    }
}

.p-strength-sec01 ._img.is-active {
    opacity: 1;
    transform: none;
    transition: all .6s
}

.p-strength-sec02 {
    background: #1F4E86;
}

.p-strength-sec02.--sub {
    padding: 120px 0 0px 0;
    /* margin-bottom: 100px; */
}

@media screen and (max-width:767px) {
    .p-strength-sec02.--sub {
        padding: 60px 0 0;
    }
}

.p-strength-sec02.--ornament:before {
    clip-path: polygon(33.75% 0, 100% 0, 100% 100%, calc(33.75% + 60px) 100%);
    height: 54px
}

@media screen and (max-width:767px) {
    .p-strength-sec02.--ornament:before {
        clip-path: polygon(62.6666666667% 0, 100% 0, 100% 100%, calc(62.66667% + 30px) 100%);
        height: 28px
    }
}

.p-strength-sec02.--ornament:after {
    clip-path: polygon(62.5% 0, calc(62.5% + 60px) 100%, 0 100%, 0 0);
    height: 54px
}

@media screen and (max-width:767px) {
    .p-strength-sec02.--ornament:after {
        clip-path: polygon(26.6666666667% 0, calc(26.66667% + 30px) 100%, 0 100%, 0 0);
        height: 28px
    }
}

.p-strength-sec02__circle {
    display: flex;
    justify-content: center;
    width: 100%
}

.p-strength-sec02__circle ._object_wrap {
    aspect-ratio: 1600/1074;
    min-width: 1600px;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media screen and (max-width:1024px) {
    .p-strength-sec02__circle ._object_wrap {
        margin-left: -19%
    }
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._object_wrap {
        aspect-ratio: inherit;
        height: 747px;
        margin-left: 0;
        min-width: 768px
    }
}

.p-strength-sec02__circle ._circle_object {
    aspect-ratio: 1/1;
    position: absolute
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object {
        left: 50%;
        transform: translateX(-50%)
    }
}

.p-strength-sec02__circle ._circle_object:after {
    background: linear-gradient(135deg, #07f5ff, #02abff);
    border-radius: 50%;
    content: "";
    display: block;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    transform: scale(0);
    width: 100%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object:after {
        transform: scale(0)
    }
}

.p-strength-sec02__circle ._circle_object ._object_text {
    color: #f8f9fa;
    font-weight: 600;
    left: 50%;
    letter-spacing: .04em;
    line-height: 1.5;
    opacity: 0;
    position: absolute;
    text-align: center;
    transform: translateX(-50%);
    z-index: 1
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object ._object_text {
        font-size: 14px
    }
}

.p-strength-sec02__circle ._circle_object ._object_text .c-en {
    color: #f8f9fa;
    display: block;
    font-size: 11px;
    font-weight: 500;
    letter-spacing: 0;
    margin-top: 8px
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object ._object_text .c-en {
        font-size: 10px;
        margin-top: 3px
    }
}

.p-strength-sec02__circle ._circle_object ._object_text.--big {
    font-size: 20px
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object ._object_text.--big {
        font-size: 16px
    }
}

.p-strength-sec02__circle ._circle_object ._object_text.--big .c-en {
    font-size: 12px
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object ._object_text.--big .c-en {
        font-size: 10px
    }
}

.p-strength-sec02__circle ._circle_object ._circle_icon {
    opacity: 0;
    position: absolute;
    z-index: 1
}

.p-strength-sec02__circle ._circle_object.--object01 {
    left: 41.0625%;
    top: -30.9124767225%;
    width: 29.9375%;
    z-index: 6
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object01 {
        left: 50%;
        top: -287px;
        width: 386px
    }
}

.p-strength-sec02__circle ._circle_object.--object01 ._object_text {
    bottom: 14.1962421712%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object01 ._object_text {
        bottom: 42px
    }
}

.p-strength-sec02__circle ._circle_object.--object01 ._icon01 {
    bottom: 5.4279749478%;
    left: 50%;
    transform: translateX(-50%)
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object01 ._icon01 {
        bottom: 12px;
        width: 44px
    }
}

.p-strength-sec02__circle ._circle_object.--object02 {
    left: 33.9375%;
    top: -38.9199255121%;
    width: 44.25%;
    z-index: 5
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object02 {
        left: 50%;
        top: -366px;
        width: 570px
    }
}

.p-strength-sec02__circle ._circle_object.--object02 ._object_text {
    bottom: 8.3333333333%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object02 ._object_text {
        bottom: 45px
    }
}

.p-strength-sec02__circle ._circle_object.--object02 ._icon02 {
    bottom: 18.6440677966%;
    left: 19.209039548%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object02 ._icon02 {
        bottom: 82px;
        left: 121px;
        width: 34px
    }
}

.p-strength-sec02__circle ._circle_object.--object02 ._icon03 {
    bottom: 18.5028248588%;
    left: 75.1412429379%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object02 ._icon03 {
        bottom: 82px;
        left: 412px;
        width: 35px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 {
    left: 24.5625%;
    top: -52.7001862197%;
    width: 63%;
    z-index: 4
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 {
        left: 50%;
        top: -485px;
        width: 812px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._object_text {
    bottom: 6.5476190476%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._object_text {
        bottom: 50px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon04 {
    bottom: 28.869047619%;
    left: 9.5238095238%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon04 {
        display: none
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon05 {
    bottom: 19.1468253968%;
    left: 17.1626984127%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon05 {
        bottom: 93px;
        left: 234px;
        width: 29px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon06 {
    bottom: 11.6071428571%;
    left: 28.2738095238%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon06 {
        bottom: 48px;
        left: 258px;
        width: 44px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon07 {
    bottom: -2.4801587302%;
    left: 48.7103174603%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon07 {
        bottom: -18px;
        left: 50%;
        transform: translateX(-50%);
        width: 21px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon08 {
    bottom: 11.6071428571%;
    left: 70.3373015873%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon08 {
        bottom: 45px;
        left: 514px;
        width: 27px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon09 {
    bottom: 20.5357142857%;
    left: 78.0753968254%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon09 {
        bottom: 99px;
        left: 520px;
        width: 49px
    }
}

.p-strength-sec02__circle ._circle_object.--object03 ._icon10 {
    bottom: 28.9682539683%;
    left: 85.9126984127%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object03 ._icon10 {
        display: none
    }
}

.p-strength-sec02__circle ._circle_object.--object04 {
    left: 16.625%;
    top: -61.3594040968%;
    width: 78.875%;
    z-index: 3
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object04 {
        left: 50%;
        top: -568px;
        width: 1016px
    }
}

.p-strength-sec02__circle ._circle_object.--object04 ._object_text {
    bottom: 5.2297939778%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object04 ._object_text {
        bottom: 50px
    }
}

.p-strength-sec02__circle ._circle_object.--object05 {
    left: 8.0625%;
    top: -72.9981378026%;
    width: 96%;
    z-index: 2
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object05 {
        left: 50%;
        top: -655px;
        width: 1237px
    }
}

.p-strength-sec02__circle ._circle_object.--object05 ._object_text {
    transform: none
}

.p-strength-sec02__circle ._circle_object.--object05 ._object_text:first-child {
    bottom: 4.8828125%;
    left: 25.5859375%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object05 ._object_text:first-child {
        bottom: 40px;
        left: 462px
    }
}

.p-strength-sec02__circle ._circle_object.--object05 ._object_text:nth-child(2) {
    bottom: 5.5989583333%;
    left: 52.0833333333%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object05 ._object_text:nth-child(2) {
        bottom: 40px;
        left: 635px
    }
}

.p-strength-sec02__circle ._circle_object.--object06 {
    right: -17.125%;
    top: -85.4748603352%;
    width: 122.1875%;
    z-index: 1
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object06 {
        left: 50%;
        top: -768px;
        width: 1511px
    }
}

.p-strength-sec02__circle ._circle_object.--object06 ._object_text {
    bottom: 9.7186700767%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__circle ._circle_object.--object06 ._object_text {
        bottom: 94px
    }
}

.js-strength-circle ._circle_object.is-active.--object01:after {
    opacity: 1;
    transform: scale(1);
    transition: all 1s
}

.js-strength-circle ._circle_object.is-active.--object01 ._circle_icon,
.js-strength-circle ._circle_object.is-active.--object01 ._object_text {
    opacity: 1;
    transition: all 1s .6s
}

.js-strength-circle ._circle_object.is-active.--object02:after {
    opacity: .28;
    transform: scale(1);
    transition: all 1s .2s
}

.js-strength-circle ._circle_object.is-active.--object02 ._circle_icon,
.js-strength-circle ._circle_object.is-active.--object02 ._object_text {
    opacity: 1;
    transition: all 1s .8s
}

.js-strength-circle ._circle_object.is-active.--object03:after {
    opacity: .2;
    transform: scale(1);
    transition: all 1s .4s
}

.js-strength-circle ._circle_object.is-active.--object03 ._circle_icon,
.js-strength-circle ._circle_object.is-active.--object03 ._object_text {
    opacity: 1;
    transition: all 1s 1s
}

.js-strength-circle ._circle_object.is-active.--object04:after {
    opacity: .16;
    transform: scale(1);
    transition: all 1s .6s
}

.js-strength-circle ._circle_object.is-active.--object04 ._object_text {
    opacity: 1;
    transition: all 1s 1.2s
}

.js-strength-circle ._circle_object.is-active.--object05:after {
    opacity: .12;
    transform: scale(1);
    transition: all 1s .8s
}

.js-strength-circle ._circle_object.is-active.--object05 ._object_text {
    opacity: 1;
    transition: all 1s 1.4s
}

.js-strength-circle ._circle_object.is-active.--object06:after {
    opacity: .08;
    transform: scale(1);
    transition: all 1s 1s
}

.js-strength-circle ._circle_object.is-active.--object06 ._object_text {
    opacity: 1;
    transition: all 1s 1.6s
}

.p-strength-sec02__horizontal {
    position: relative;
    width: 100%;
    height: auto;
    max-height: none !important;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 40px;

    cursor: grab;
    touch-action: pan-x pan-y;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;

    /* 隐藏 Firefox 滚动条 */
    scrollbar-width: none;
}

/* 隐藏 Chrome、Safari 滚动条 */
.p-strength-sec02__horizontal::-webkit-scrollbar {
    display: none;
}

.p-strength-sec02__horizontal.is-dragging {
    cursor: grabbing;
    user-select: none;
}




@media screen and (max-width:1024px) {
    .p-strength-sec02__horizontal {
        height: auto;
        padding-top: 160px
    }
}

@media screen and (max-width:600px) {
    .p-strength-sec02__horizontal {
        padding-top: 0px
    }
}

.p-strength-sec02__horizontal ._horizontal_inner {
    align-items: flex-end;
    display: flex;
    height: 100%;
    padding-left: max(286px, 100% - 1200px);
    width: max-content;
    min-width: 100%;
    transform: none !important;
   
}

@media screen and (min-width:1601px) {
    .p-strength-sec02__horizontal ._horizontal_inner {
        padding-left: 392px
    }
}
@media screen and (max-width:1024px) {
    .p-strength-sec02__horizontal ._horizontal_inner {
        padding-left: 0;
        width: max-content;
        min-width: 100%;
    }

    .p-strength-sec02__horizontal ._horizontal_inner::-webkit-scrollbar {
        display: none;
    }
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._horizontal_inner {
        margin-top: 0
    }
}

@media screen and (max-width:1024px) {
    .p-strength-sec02__horizontal ._tab_inner {
        padding-left: 24px
    }
}

.p-strength-sec02__horizontal ._service_points {
    display: flex;
    gap: 4.125vw;
    justify-content: space-between;
	width: max-content;
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._service_points {
        gap: 52px
    }
}


.p-strength-sec02__horizontal ._point,
.p-strength-sec02__horizontal ._point_last {
    flex-shrink: 0;
}

.p-strength-sec02__horizontal ._point {
    aspect-ratio: 435/435;
    display: flex;
    flex-direction: column;
    max-width: 435px;
    padding: 40px 32px;
    position: relative;
    width: 31.125vw
}

@media screen and (max-width:1024px) {
    .p-strength-sec02__horizontal ._point {
        width: 360px
    }
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._point {
        aspect-ratio: 310/460;
        padding: 16px;
        width: 310px
    }
}

.p-strength-sec02__horizontal ._point:after {
    aspect-ratio: 18/32;
    background: #fff;
    clip-path: polygon(0 0, 0 100%, 100% 50%);
    content: "";
    display: block;
    position: absolute;
    right: -8.8353413655%;
    top: 50%;
    transform: translateY(-50%);
    width: 3.6144578313%
}

@media screen and (max-width:1024px) {
    .p-strength-sec02__horizontal ._point:after {
        height: 24px;
        right: -7.5%;
        width: 14px
    }
}

@media screen and (max-width:600px) {
    .p-strength-sec02__horizontal ._point:after {
        right: -34px
    }
}

.p-strength-sec02__horizontal ._point:last-child:after {
    display: none;
}

.p-strength-sec02__horizontal ._point ._text_container {
    margin-top: auto
}

.p-strength-sec02__horizontal ._point ._text_container ._tag {
    background: #CF9763;
    color: #f8f9fa;
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    padding: 4px 8px
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._point ._text_container ._tag {
        padding: 4px 6px
    }
}

.p-strength-sec02__horizontal ._point ._text_container ._title {
    color: #f8f9fa;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1.4583333333;
    margin-top: 8px
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._point ._text_container ._title {
        font-size: 20px;
        margin-top: 6px
    }
}

.p-strength-sec02__horizontal ._point ._text_container .c-copy {
    color: #f8f9fa;
    margin-top: 10px;
    font-size: 20px;
}

.p-strength-sec02__horizontal ._point_last {
    align-items: center;
    aspect-ratio: 1028/680;
    display: flex;
    justify-content: center;
    margin-right: 17.875vw;
    max-width: 1028px;
    padding: 40px 32px;
    position: relative;
    width: 64.25vw
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._point_last {
        aspect-ratio: inherit;
        margin-right: 54px;
        padding: 0;
        width: 327px
    }
}

@media screen and (max-width:600px) {
    .p-strength-sec02__horizontal ._point_last {
        margin-right: 24px
    }
}

.p-strength-sec02__horizontal ._point_last:before {
    aspect-ratio: 798/156;
    background: url(../image/p-strength-logo-bg.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 77.626459144%
}

.p-strength-sec02__horizontal ._point_last ._inner {
    max-width: 700px;
    width: 100%
}

.p-strength-sec02__horizontal ._point_last ._title {
    color: #f8f9fa;
    font-size: 32px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.5;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._point_last ._title {
        font-size: 24px
    }
}

.p-strength-sec02__horizontal ._point_last ._copy {
    color: #f8f9fa;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 2;
    margin-top: 40px;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._point_last ._copy {
        font-size: 15px;
        margin-top: 28px
    }
}

.p-strength-sec02__horizontal__control {
    align-items: center;
    bottom: 3vh;
    display: flex;
    gap: 32px;
    left: 0;
    padding-left: max(286px, 100% - 1200px);
    position: absolute;
    width: 100%
}

@media screen and (min-width:1601px) {
    .p-strength-sec02__horizontal__control {
        padding-left: 392px
    }
}

@media screen and (max-width:1024px) {
    .p-strength-sec02__horizontal__control {
        padding: 0 24px
    }
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal__control {
        gap: 12px
    }
}

.p-strength-sec02__horizontal__control ._control_bar {
    background: #f8f9fa;
    display: block;
    height: 1.5px;
    max-width: 935px;
    position: relative;
    width: 77.9166666667%
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal__control ._control_bar {
        width: calc(100% - 65px)
    }
}

.p-strength-sec02__horizontal__control ._control_bar ._control_line {
    background: #112844;
    display: block;
    height: 1.5px;
    left: 0;
    position: absolute;
    top: 0
}

.p-strength-sec02__horizontal__control ._control_number {
    align-items: center;
    display: flex
}

.p-strength-sec02__horizontal__control ._control_number p {
    color: #f8f9fa;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal__control ._control_number p {
        font-size: 14px
    }
}

.p-strength-sec02__horizontal__control ._control_number ._line {
    background: #f8f9fa;
    display: block;
    height: 12px;
    margin: 0 12px;
    width: 1px
}

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal__control ._control_number ._line {
        margin: 0 8px
    }
}

.p-strength-sec03.--sub {
    padding-bottom: 290px
}

@media screen and (max-width:767px) {
    .p-strength-sec03.--sub {
        padding: 112px 0
    }
}

.p-strength-sec03__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 32px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-strength-sec03__list {
        row-gap: 24px
    }
}

.p-strength-sec03__list>li {
    background: #f2f2f2;
    border: 1px solid #dbdbdb;
    clip-path: polygon(0 40px, 40px 0, 100% 0, 100% calc(100% - 40px), calc(100% - 40px) 100%, 0 100%);
    padding: 48px;
    position: relative;
    width: 48.6328125%;
    z-index: 2
}

@media screen and (max-width:767px) {
    .p-strength-sec03__list>li {
        padding: 32px 24px
    }
}

@media screen and (max-width:600px) {
    .p-strength-sec03__list>li {
        width: 100%
    }
}

.p-strength-sec03__list>li:after,
.p-strength-sec03__list>li:before {
    background: #dbdbdb;
    content: "";
    display: block;
    height: 1px;
    position: absolute;
    transform: rotate(-45deg);
    width: 70px
}

.p-strength-sec03__list>li:before {
    left: -19px;
    top: 22.5px
}

.p-strength-sec03__list>li:after {
    bottom: 22.5px;
    right: -19px
}

.p-strength-sec03__list>li ._title {
    color: #112844;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .03em;
    line-height: 1.45
}

@media screen and (max-width:767px) {
    .p-strength-sec03__list>li ._title {
        font-size: 18px
    }
}

.p-strength-sec03__list>li ._img {
    align-items: center;
    display: flex;
    margin-top: 24px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-strength-sec03__list>li ._img {
        margin-top: 12px
    }
}

.p-strength-sec03__list>li ._list_copy {
    border-top: 1px solid #dbdbdb;
    padding-top: 24px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-strength-sec03__list>li ._list_copy {
        padding-top: 16px
    }
}

.p-strength-sec03__list>li ._list_copy a {
    color: #112844;
    text-decoration: underline;
    text-decoration-color: #112844
}

.js-fade-triggers .js-fade-items {
    opacity: 0;
    transform: translateY(30px)
}

.js-fade-triggers .js-fade-items.is-show {
    opacity: 1;
    transform: translateY(0);
    transition: all .4s
}

.p-products-sec.--sub {
    padding-bottom: 0
}

.p-products-sec.--sub:last-of-type {
    padding-bottom: 240px
}

@media screen and (max-width:767px) {
    .p-products-sec.--sub:last-of-type {
        padding-bottom: 160px
    }
}

.p-products-sec__head {
    display: flex;
    justify-content: space-between;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-products-sec__head {
        flex-direction: column-reverse
    }
}

.p-products-sec__head ._text_container {
    width: 48.6328125%
}

@media screen and (max-width:767px) {
    .p-products-sec__head ._text_container {
        margin-top: 24px;
        width: 100%
    }
}

.p-products-sec__head ._head_title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.75;
    margin-bottom: 24px
}

.p-products-sec__head ._head_img {
    width: 43.9453125%
}

@media screen and (max-width:767px) {
    .p-products-sec__head ._head_img {
        max-width: 400px;
        width: 100%
    }
}

.p-products-sec__product {
    margin-top: 80px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-products-sec__product {
        margin-top: 56px
    }
}

.p-products-sec__product__list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 4px
}

.p-products-sec__product__list li {
    padding-left: 18px;
    position: relative;
    width: 33.3333333333%
}

@media screen and (max-width:767px) {
    .p-products-sec__product__list li {
        line-height: 1.5;
        width: 50%
    }
}

.p-products-sec__product__list li:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: 12px;
    width: 6px
}

@media screen and (max-width:767px) {
    .p-products-sec__product__list li:after {
        top: 9px
    }
}

.p-manufacture-sec.--sub {
    padding-bottom: 0
}

.p-manufacture-sec.--sub:last-of-type {
    padding-bottom: 240px
}

@media screen and (max-width:767px) {
    .p-manufacture-sec.--sub:last-of-type {
        padding-bottom: 160px
    }
}

.p-manufacture-sec .js-accordion-btn {
    cursor: default
}

@media screen and (max-width:767px) {
    .p-manufacture-sec .js-accordion-btn {
        cursor: pointer
    }
}

.p-manufacture-sec__enterprise {
    margin-top: 80px
}

@media screen and (max-width:767px) {
    .p-manufacture-sec__enterprise {
        margin-top: 0
    }
}

.p-manufacture-sec__enterprise__list {
    display: flex;
    flex-wrap: wrap;
    row-gap: 4px
}

@media screen and (max-width:767px) {
    .p-manufacture-sec__enterprise__list {
        padding-bottom: 32px
    }
}

.p-manufacture-sec__enterprise__list li {
    width: 33.3333333333%
}

@media screen and (max-width:767px) {
    .p-manufacture-sec__enterprise__list li {
        width: 50%
    }
}

@media screen and (max-width:600px) {
    .p-manufacture-sec__enterprise__list li {
        width: 100%
    }
}

.p-manufacture-sec__enterprise__list li ._nolink,
.p-manufacture-sec__enterprise__list li a {
    display: inline-block;
    padding-left: 18px;
    position: relative
}

.p-manufacture-sec__enterprise__list li ._nolink:before,
.p-manufacture-sec__enterprise__list li a:before {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    margin-top: 4px;
    position: absolute;
    top: 8px;
    width: 6px
}

.p-manufacture-sec__enterprise__list li ._nolink span,
.p-manufacture-sec__enterprise__list li a span {
    display: inline-block;
    text-decoration: underline;
    text-decoration-color: #112844
}

.p-manufacture-sec__enterprise__list li a {
    color: #112844;
    text-decoration: underline;
    text-decoration-color: #112844;
    transition: opacity .4s
}

.p-manufacture-sec__enterprise__list li a:after {
    background: url(../image/externallink-icon-main.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: inline-block;
    height: 12px;
    margin-left: 6px;
    width: 12px
}

.p-manufacture-sec__enterprise__list li a:hover {
    opacity: .8;
    transition: opacity .4s
}

.js-accordion-btn {
    align-items: center;
    cursor: pointer;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:767px) {
    .js-accordion-btn {
        margin-bottom: 16px
    }
}

.js-accordion-btn ._ham {
    display: none;
    height: 16px;
    position: relative;
    width: 16px
}

.js-accordion-btn ._ham:after,
.js-accordion-btn ._ham:before {
    background: #00008d;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 16px
}

.js-accordion-btn ._ham:after {
    transform: translate(-50%, -50%) rotate(90deg);
    transition: all .4s
}

@media screen and (max-width:767px) {
    .js-accordion-btn ._ham {
        display: block
    }
}

.js-accordion-btn.is-open ._ham:after {
    transform: translate(-50%, -50%) rotate(0);
    transition: all .4s
}

@media screen and (max-width:767px) {
    .js-accordion-content {
        max-height: 0;
        overflow: hidden;
        transition: max-height .4s
    }

    .js-accordion-content.is-open {
        max-height: auto;
        transition: max-height .4s
    }
}

.p-company-sec01.--sub {
    padding-bottom: 0
}

.p-company-sec01__message,
.p-company-sec01__message ._text_container {
    width: 100%
}

.p-company-sec01__message ._text_container .c-copy {
    margin-bottom: 24px
}

.p-company-sec01__ceo {
    align-items: flex-end;
    display: flex;
    gap: 26px;
    justify-content: right;
    margin-top: 48px
}

.p-company-sec01__ceo img {
    width: 157px
}

@media screen and (max-width:767px) {
    .p-company-sec01__ceo img {
        width: 138px
    }
}

.p-company-sec02.--sub {
    padding-bottom: 0
}

.p-company-sec02__management {
    margin: 0 auto 50px;
    max-width: 823px;
    padding: 60px 0 70px;
    position: relative;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-company-sec02__management {
        margin: 0 auto 40px;
        padding: 48px 24px
    }
}

.p-company-sec02__management:before {
    background: url(../image/management-line01.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 244px;
    left: 0;
    position: absolute;
    top: 0;
    width: 244px
}

@media screen and (max-width:767px) {
    .p-company-sec02__management:before {
        height: 143px;
        width: 143px
    }
}

.p-company-sec02__management:after {
    background: url(../image/management-line02.svg);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 0;
    content: "";
    display: block;
    height: 240px;
    position: absolute;
    right: 0;
    width: 240px
}

@media screen and (max-width:767px) {
    .p-company-sec02__management:after {
        height: 143px;
        width: 143px
    }
}

.p-company-sec02__management:nth-of-type(n+2) {
    margin-bottom: 0
}

.p-company-sec02__management .p-company-sec02__philosophy__title {
    margin: 0;
    width: auto
}

.p-company-sec02__management .p-company-sec02__philosophy__title ._circle_text {
    color: #022a60;
    margin: 0 auto;
    width: max-content
}

.p-company-sec02__management .p-company-sec02__philosophy__title ._title {
    margin: 32px auto 0;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-company-sec02__management .p-company-sec02__philosophy__title ._title {
        margin: 24px auto 0
    }
}

.p-company-sec02__management .p-company-sec02__philosophy__title ._title img {
    width: 100%
}

.p-company-sec02__management .p-company-sec02__philosophy__title ._title.--svg01 {
    width: 304px
}

@media screen and (max-width:767px) {
    .p-company-sec02__management .p-company-sec02__philosophy__title ._title.--svg01 {
        max-width: 240px;
        width: 100%
    }
}

.p-company-sec02__management .p-company-sec02__philosophy__title ._title.--svg02 {
    width: 485px
}

@media screen and (max-width:767px) {
    .p-company-sec02__management .p-company-sec02__philosophy__title ._title.--svg02 {
        max-width: 246px;
        width: 100%
    }
}

.p-company-sec02__management .c-copy {
    margin: 48px auto 0;
    text-align: center;
    width: 64.0909090909%
}

@media screen and (max-width:767px) {
    .p-company-sec02__management .c-copy {
        margin-top: 24px;
        text-align: left;
        width: 100%
    }
}

.p-company-sec02__management .c-copy:nth-of-type(n+2) {
    margin-top: 20px
}

.p-company-sec02__philosophy__title {
    margin: 0 auto;
    max-width: 880px;
    width: calc(100% - 24px)
}

@media screen and (max-width:767px) {
    .p-company-sec02__philosophy__title {
        width: calc(100% - 48px)
    }
}

.p-company-sec02__philosophy__title ._circle_text {
    font-weight: 700;
    letter-spacing: 0;
    padding-left: 20px;
    position: relative
}

.p-company-sec02__philosophy__title ._circle_text:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    left: 0;
    position: absolute;
    top: 12px;
    width: 8px
}

.p-company-sec02__philosophy__title ._title {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.6
}

@media screen and (max-width:767px) {
    .p-company-sec02__philosophy__title ._title {
        font-size: 24px
    }
}

.p-company-sec03.--sub {
    padding-bottom: 120px;
}

.p-company-sec03.--sub .map {
    margin-top: 50px;
}

@media screen and (max-width:767px) {
    .p-company-sec03.--sub {
        padding-bottom: 60px;
    }
}

.p-company-sec03 .c-data-table {
    width: 100%
}

.p-company-sec03 .c-data-table th {
    width: 180px
}

@media screen and (max-width:600px) {
    .p-company-sec03 .c-data-table th {
        width: 100%
    }
}

.p-company-sec03 .c-data-table td {
    width: calc(100% - 180px)
}

@media screen and (max-width:600px) {
    .p-company-sec03 .c-data-table td {
        width: 100%
    }
}

.p-company-sec04 {
    background: #f8f8f8
}

.p-company-sec04.--sub {
    padding-bottom: 120px
}

@media screen and (max-width:767px) {
    .p-company-sec04.--sub {
        padding-bottom: 88px
    }
}

.p-company-sec04__history {
    padding-left: max(286px, 100% - 1200px);
    width: auto
}

@media screen and (min-width:1601px) {
    .p-company-sec04__history {
        padding-left: 392px
    }
}

@media screen and (max-width:1024px) {
    .p-company-sec04__history {
        padding-left: 0
    }
}

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

.p-company-sec04__history ._history_list {
    cursor: pointer;
    overflow: visible
}

.p-company-sec04__history ._history_list ._history_item {
    border-top: 2px solid #dbdbdb;
    height: auto;
    padding-right: 56px;
    padding-top: 62px;
    position: relative;
    width: 315px
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._history_item {
        padding-right: 40px;
        padding-top: 41px;
        width: 240px
    }
}

.p-company-sec04__history ._history_list ._history_item:before {
    background: #dbdbdb;
    content: "";
    display: block;
    height: 40px;
    left: 9.5px;
    position: absolute;
    top: 9px;
    width: 1px
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._history_item:before {
        height: 24px;
        left: 7.5px;
        top: 7px
    }
}

.p-company-sec04__history ._history_list ._history_item:after {
    background: url(../image/history-slide-circle.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 20px;
    left: 0;
    position: absolute;
    top: -11px;
    width: 20px
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._history_item:after {
        height: 16px;
        top: -9px;
        width: 16px
    }
}

.p-company-sec04__history ._history_list ._history_item--2column {
    width: max-content
}

.p-company-sec04__history ._history_list ._history_item--2column>div {
    display: flex;
    gap: 72px
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._history_item--2column>div {
        gap: 36px
    }
}

.p-company-sec04__history ._history_list ._history_item--2column>div img {
    max-width: 259px
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._history_item--2column>div img {
        max-width: 200px
    }
}

.p-company-sec04__history ._history_list ._year {
    font-size: 32px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1;
    margin-bottom: 24px
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._year {
        font-size: 28px;
        margin-bottom: 18px
    }
}

.p-company-sec04__history ._history_list ._dot_text {
    margin-bottom: 8px;
    padding-left: 17px;
    position: relative
}

@media screen and (max-width:767px) {
    .p-company-sec04__history ._history_list ._dot_text {
        margin-bottom: 4px
    }
}

.p-company-sec04__history ._history_list ._dot_text:after {
    background: #112844;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: 13px;
    width: 6px
}

.p-company-sec04__history ._history_list ._img {
    margin-top: 20px;
    width: 100%
}

.p-company-sec04__control {
    height: 32px;
    margin: 32px auto 0;
    padding: 4px 0;
    position: relative;
    width: 514px;
    z-index: 2
}

@media screen and (max-width:600px) {
    .p-company-sec04__control {
        height: 28px;
        width: 280px
    }
}

.p-company-sec04__control:after {
    border: 1px solid #dbdbdb;
    border-radius: 16px;
    content: "";
    display: block;
    height: 100%;
    left: 50%;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -52.5%);
    width: 524px;
    z-index: -1
}

@media screen and (max-width:600px) {
    .p-company-sec04__control:after {
        height: 28px;
        transform: translate(-50%, -50%);
        width: 290px
    }
}

.p-company-sec04__control ._control_drag {
    background: #112844;
    border-radius: 12px;
    cursor: pointer;
    display: block;
    height: 22px;
    position: relative;
    width: 64px
}

@media screen and (max-width:600px) {
    .p-company-sec04__control ._control_drag {
        height: 20px;
        width: 52px
    }
}

.p-company-sec04__control ._control_drag:after,
.p-company-sec04__control ._control_drag:before {
    background: url(../image/arrow-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 10px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 14.6px
}

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

    .p-company-sec04__control ._control_drag:after,
    .p-company-sec04__control ._control_drag:before {
        height: 8px;
        width: 12px
    }
}

.p-company-sec04__control ._control_drag:before {
    left: 12px;
    transform: translateY(-50%) rotate(-180deg)
}

@media screen and (max-width:600px) {
    .p-company-sec04__control ._control_drag:before {
        left: 10px
    }
}

.p-company-sec04__control ._control_drag:after {
    right: 12px
}

@media screen and (max-width:600px) {
    .p-company-sec04__control ._control_drag:after {
        right: 10px
    }
}

.p-company-sec05 {}

.p-company-sec05.--sub {
    padding-bottom: 120px;
    padding-top: 60px;
}

@media screen and (max-width:767px) {
    .p-company-sec05.--sub {
        padding-bottom: 0;
    }
}

.p-company-sec05__block ._location_column {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 80px;
    row-gap: 50px;
    width: 100%
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_column {
        flex-direction: column;
        margin-bottom: 56px;
        row-gap: 28px
    }
}

.p-company-sec05__block ._location_column.--img {
    align-items: center
}

.p-company-sec05__block ._location_column.--img ._location_information {
    width: 50.1953125%
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_column.--img ._location_information {
        width: 100%
    }
}

.p-company-sec05__block ._location_img {
    width: 43.9453125%
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_img {
        width: 100%
    }
}

.p-company-sec05__block ._location_information {
    width: 47.8515625%
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_information {
        width: 100%
    }
}

.p-company-sec05__block ._location_information_title {
    color: #112844;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.4
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_information_title {
        font-size: 18px;
        line-height: 1.5555555556
    }
}

.p-company-sec05__block ._location_information_address {
    border-top: 1px solid #dbdbdb;
    display: block;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 2;
    margin-top: 30px;
    padding-top: 30px;
    padding-bottom: 16px;
    padding-right: 60px;
    position: relative;
    width: 100%
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_information_address {
        padding-right: 0;
    }
}

.p-company-sec05__block ._location_information_address ._address_link {
    background: url(../image/map.png);
    background-repeat: no-repeat;
    background-size: contain;
    bottom: 14px;
    display: block;
    height: 48px;
    position: absolute;
    top: 40px;
    right: 30px;
    transition: all .4s;
    width: 48px
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_information_address ._address_link {
        bottom: 16px;
        height: 40px;
        width: 40px;
		right: 0;
    }
}

.p-company-sec05__block ._location_information_address ._address_link:hover {
    background: url(../image/map_blue.png);
    background-repeat: no-repeat;
    background-size: contain;
    transition: all .4s
}

.p-company-sec05__block ._location_information_number {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    margin-top: 16px;
    row-gap: 8px
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_information_number {
        gap: 16px
    }
}

.p-company-sec05__block ._location_information_number ._number_text {
    align-items: center;
    display: flex;
    font-size: 16px;
    font-weight: 500;
    gap: 8px;
    letter-spacing: .05em;
    line-height: 1
}

@media screen and (max-width:600px) {
    .p-company-sec05__block ._location_information_number ._number_text {
        gap: 4px
    }
}

.p-company-sec05__block ._location_information_number ._accent {
    color: #112844;
    display: block;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1
}

.p-company-sec06 {
    background: #f8f8f8
}

.p-company-sec06__block ._head {
    align-items: center;
    display: flex;
    justify-content: space-between
}

@media screen and (max-width:767px) {
    .p-company-sec06__block ._head {
        flex-direction: column
    }
}

.p-company-sec06__block ._img {
    width: 43.9453125%
}

@media screen and (max-width:767px) {
    .p-company-sec06__block ._img {
        width: 100%
    }
}

.p-company-sec06__block ._text_container {
    width: 51.5625%
}

@media screen and (max-width:767px) {
    .p-company-sec06__block ._text_container {
        width: 100%
    }
}

.p-company-sec06__block ._logo {
    margin-bottom: 32px;
    width: 196px
}

@media screen and (max-width:767px) {
    .p-company-sec06__block ._logo {
        margin-bottom: 20px;
        margin-top: 24px;
        width: 155px
    }
}

.p-company-sec06__block .c-button {
    margin-top: 40px
}

@media screen and (max-width:767px) {
    .p-company-sec06__block .c-button {
        margin-top: 20px
    }
}

.p-company-sec06__block .c-service-list {
    margin-top: 69px
}

@media screen and (max-width:767px) {
    .p-company-sec06__block .c-service-list {
        margin-top: 48px
    }
}

.p-company-sec06__block .c-service-list__item ._inner {
    padding-bottom: 32px
}

.p-company-sec06__block ._item_name {
    margin: 16px 0 0;
    padding-left: 0
}

.p-company-sec06__block ._item_name:after {
    display: none
}

.p-company-sec06__block ._item_name .c-text {
    font-size: 18px
}

.p-support .l-section.--sub {
    padding-bottom: 0
}

.p-support-sec01 ._content_wrap {
    padding: 0 28.61328125%;
    position: relative
}

@media screen and (max-width:767px) {
    .p-support-sec01 ._content_wrap {
        padding: 0
    }
}

.p-support-sec01 ._title {
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .05em;
    line-height: 1.75;
    margin-bottom: 32px
}

@media screen and (max-width:767px) {
    .p-support-sec01 ._title {
        font-size: 20px;
        line-height: 1.75;
        margin-bottom: 18px
    }
}

.p-support-sec01 .c-copy {
    margin-top: 24px
}

@media screen and (max-width:767px) {
    .p-support-sec01 ._img_wrap {
        display: flex;
        margin-top: 40px
    }
}

.p-support-sec01 ._img {
    position: absolute;
    width: 22.55859375%
}

@media screen and (max-width:767px) {
    .p-support-sec01 ._img {
        position: static;
        width: 50%
    }
}

.p-support-sec01 ._img._img01 {
    left: 0;
    top: 0
}

.p-support-sec01 ._img._img02 {
    bottom: 0;
    right: 0
}

.p-support-sec02__img {
    display: flex;
    justify-content: space-between;
    margin-top: 48px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-support-sec02__img {
        flex-direction: column-reverse
    }
}

.p-support-sec02__img ._data_img {
    width: 46.875%
}

@media screen and (max-width:767px) {
    .p-support-sec02__img ._data_img {
        margin-bottom: 24px;
        max-width: 400px;
        width: 100%
    }
}

.p-support-sec02__img ._caption {
    font-size: 14px;
    margin-top: 16px
}

.p-support-sec02__data {
    margin-top: 48px;
    width: 100%
}

.p-support-sec02__data .c-data-table {
    width: 100%
}

.p-support-sec03__contact {
    margin: 32px 0 230px
}

.p-solution .l-fv-img {
    margin-top: 80px
}

@media screen and (max-width:767px) {
    .p-solution .l-fv-img {
        margin-top: 56px
    }
}

.p-solution .l-section.--sub {
    padding-bottom: 0
}

.p-solution ._text_container_1column p+p {
    margin-top: 16px
}

.p-solution ._text_container_1column p+.c-button {
    margin-top: 32px
}

.p-solution-sec .c-service-list li:nth-of-type(2),
.p-solution-sec .c-service-list li:nth-of-type(4) {
    display: none
}

.p-solution-sec .c-service-list__item {
    position: relative;
    width: 48.14453125%
}

@media screen and (max-width:767px) {
    .p-solution-sec .c-service-list__item {
        width: calc(50% - 16px)
    }
}

@media screen and (max-width:600px) {
    .p-solution-sec .c-service-list__item {
        width: 100%
    }
}

.p-solution-sec__head {
    display: flex;
    justify-content: space-between;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-solution-sec__head {
        flex-direction: column-reverse
    }
}

.p-solution-sec__head ._text_container {
    width: 48.6328125%
}

@media screen and (max-width:767px) {
    .p-solution-sec__head ._text_container {
        margin-top: 24px;
        width: 100%
    }
}

.p-solution-sec__head ._text_container p+p {
    margin-top: 16px
}

.p-solution-sec__head ._text_container p+.c-button {
    margin-top: 32px
}

.p-solution-sec__head ._head_title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.75;
    margin-bottom: 24px
}

.p-solution-sec__head ._head_img {
    width: 45%;
	max-width: 400px;
}

@media screen and (max-width:767px) {
    .p-solution-sec__head ._head_img {
        
        width: 100%
    }
}

.p-single {
    background: #fff;
    padding-top: 120px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-single {
        padding-top: 120px
    }
}

.p-single.--solution .p-single-post__content {
    padding-top: 164px
}

@media screen and (max-width:767px) {
    .p-single.--solution .p-single-post__content {
        padding-top: 0
    }
}

.p-single.--solution .p-single-post__content.--contact .c-button {
    margin-top: 24px
}

@media screen and (max-width:767px) {
    .p-single.--solution .p-single-post__content.--contact .c-button {
        margin-bottom: 112px
    }
}

.p-single.--solution .p-single-post__content .c-service-list {
    gap: 2.5%;
    justify-content: flex-start;
    row-gap: 60px
}

@media screen and (max-width:767px) {
    .p-single.--solution .p-single-post__content .c-service-list {
        gap: none;
        justify-content: space-between;
        row-gap: 32px
    }
}

.p-single.--solution figure {
    margin-bottom: 0
}

.p-single.--solution ._solutionSingle_numberList {
    list-style-type: decimal-leading-zero;
    margin-top: 32px;
    padding-left: 36px;
    width: 100%
}

.p-single.--solution ._solutionSingle_numberList li {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 2
}

@media screen and (max-width:767px) {
    .p-single.--solution ._solutionSingle_numberList li {
        line-height: 1.75
    }

    .p-single.--solution ._solutionSingle_numberList li:nth-of-type(n+2) {
        margin-top: 8px
    }
}

.p-single.--solution ._solutionSingle_numberList li::marker {
    color: #112844;
    font-family: Work Sans, sans-serif;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1
}

.p-single.--solution ._solutionSingle_numberList li span {
    font-weight: 700
}

.p-single.--solution ._solutionSingle_list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 12px;
    row-gap: 8px
}

.p-single.--solution ._solutionSingle_list li {
    color: #f8f9fa;
    padding-left: 24px;
    position: relative;
    width: 33.3333333333%
}

@media screen and (max-width:767px) {
    .p-single.--solution ._solutionSingle_list li {
        width: 50%
    }
}

.p-single.--solution ._solutionSingle_list li:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 4px;
    left: 8px;
    position: absolute;
    top: 14px;
    width: 4px
}

.p-single.--solution .c-contact-number {
    margin-bottom: 64px;
    margin-top: 36px
}

.p-single-post {
    background: #fff;
    padding: 70px 0 196px;
    position: relative;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-single-post {
        padding: 24px 0 164px
    }
}

.p-single-post .c-breadcrumb {
    margin: 0 auto;
    max-width: 1240px;
    width: calc(100% - 48px)
}

.p-single-post .l-sub {
    margin-top: 56px
}

.p-single-post__deta {
    align-items: center;
    display: flex;
    gap: 22px;
    margin: 56px auto 24px;
    max-width: 1000px;
    width: calc(100% - 48px)
}

@media screen and (max-width:767px) {
    .p-single-post__deta {
        gap: 16px;
        margin: 56px auto 20px
    }
}

.p-single-post__deta ._date {
    color: #C0C0C0;
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0;
    line-height: 1
}

@media screen and (max-width:767px) {
    .p-single-post__deta ._date {
        font-size: 18px
    }
}

.p-single-post__deta ._tag {
    background: #dbdbdb;
    border-radius: 11px;
    display: inline-block;
    font-size: 12px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    padding: 5px 9px;
    text-decoration-color: #2f3639
}

.p-single-post__pagination {
    align-items: center;
    border-top: 1px solid #dbdbdb;
    display: flex;
    justify-content: space-between;
    margin: 126px auto 0;
    max-width: 1000px;
    padding-top: 28px;
    position: relative;
    width: calc(100% - 48px)
}

@media screen and (max-width:767px) {
    .p-single-post__pagination {
        justify-content: center;
        margin: 80px auto 0;
        padding-top: 24px;
    }
}

.p-single-post__pagination .c-post-button {
    background: #f2f2f2;
    left: 50%;
    position: absolute;
    top: 60px;
    transform: translateX(-50%)
}

@media screen and (max-width:600px) {
    .p-single-post__pagination .c-post-button {
        top: 50px;
    }
}

.p-single-post__pagination ._back,
.p-single-post__pagination ._next {
    position: relative;
    width: 35%
}

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

    .p-single-post__pagination ._back,
    .p-single-post__pagination ._next {
        display: none
    }
}

.p-single-post__pagination ._back:after,
.p-single-post__pagination ._next:after {
    background: url(../image/arrow-grad-accent.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    display: block;
    height: 13.6px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 20px
}

.p-single-post__pagination ._back {
    padding-left: 44px
}

.p-single-post__pagination ._back:after {
    left: 0;
    transform: translateY(-50%) rotate(-180deg)
}

.p-single-post__pagination ._next {
    padding-right: 44px
}

.p-single-post__pagination ._next:after {
    right: 0
}

.p-single-post__solution {
    padding-top: 164px
}

@media screen and (max-width:767px) {
    .p-single-post__solution {
        padding-top: 112px
    }
}

.p-single-post__solution ._single_solution_title {
    background: #f2f2f2;
    font-size: 20px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.75;
    margin-bottom: 32px;
    padding: 12px 20px 12px 40px;
    position: relative;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_title {
        font-size: 18px;
        line-height: 1.75;
        margin-bottom: 24px;
        padding: 12px 16px 12px 32px
    }
}

.p-single-post__solution ._single_solution_title .c-en {
    color: #112844;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0;
    line-height: 1
}

.p-single-post__solution ._single_solution_title:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 8px;
    left: 24px;
    position: absolute;
    top: 28px;
    width: 8px
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_title:after {
        height: 6px;
        left: 16px;
        top: 26px;
        width: 6px
    }
}

.p-single-post__solution ._single_solution_box {
    border: 1px solid #dbdbdb;
    padding: 40px 48px;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_box {
        padding: 32px 24px
    }
}

.p-single-post__solution ._single_solution_box ._title {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.75
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_box ._title {
        font-size: 15px;
        line-height: 1.7333333333
    }
}

.p-single-post__solution ._single_solution_box ._sub_title {
    margin-top: 32px
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_box ._sub_title {
        margin-top: 24px
    }
}

.p-single-post__solution ._single_solution_box ._flex_inner {
    display: flex;
    justify-content: space-between;
    margin-top: 24px
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_box ._flex_inner {
        flex-direction: column-reverse
    }
}

.p-single-post__solution ._single_solution_box ._box_img {
    width: 43.1034482759%
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_box ._box_img {
        margin-bottom: 24px;
        width: 100%
    }
}

.p-single-post__solution ._single_solution_box.--gradient {
    background: #112844;
    border: none;
    margin-top: 66px;
    position: relative
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._single_solution_box.--gradient {
        margin-bottom: 16px
    }

    .p-single-post__solution ._single_solution_box.--gradient:last-of-type {
        margin-bottom: 112px
    }
}

.p-single-post__solution ._single_solution_box.--gradient p {
    color: #f8f9fa
}

.p-single-post__solution ._single_solution_box.--gradient:after {
    background: linear-gradient(135deg, #07f5ff, #02abff);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    content: "";
    display: block;
    height: 18px;
    left: 50%;
    position: absolute;
    top: -42px;
    transform: translateX(-50%);
    width: 32px
}

.p-single-post__solution ._single_solution_box.--gradient:nth-of-type(n+3) {
    margin-top: 20px
}

.p-single-post__solution ._single_solution_box.--gradient:nth-of-type(n+3):after {
    display: none
}

@media screen and (max-width:767px) {
    .p-single-post__solution {
        padding-bottom: 112px
    }
}

.p-single-post__solution ._introduction_content {
    margin-top: 48px
}

.p-single-post__solution ._introduction_content:nth-of-type(n+2) {
    margin-top: 124px
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content:nth-of-type(n+2) {
        margin-top: 100px
    }
}

.p-single-post__solution ._introduction_content p+p {
    margin-top: 16px
}

.p-single-post__solution ._introduction_content ._dot_text {
    font-size: 20px;
    margin: 36px 0 20px;
    padding-left: 17px;
    position: relative
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content ._dot_text {
        font-size: 18px
    }
}

.p-single-post__solution ._introduction_content ._dot_text:after {
    background: #112844;
    background-repeat: no-repeat;
    background-size: contain;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 2px;
    position: absolute;
    top: 18px;
    width: 6px
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content ._dot_text:after {
        top: 17px
    }
}

.p-single-post__solution ._introduction_content_img {
    margin: 40px 0
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_img {
        margin: 32px 0
    }
}

.p-single-post__solution ._introduction_content_2column {
    display: grid;
    gap: 40px;
    grid-template-columns: repeat(2, 1fr);
    margin: 32px 0
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_2column {
        grid-template-columns: 1fr;
        row-gap: 24px
    }
}

.p-single-post__solution ._introduction_content_2column ._caption {
    font-size: 20px;
    margin-top: 20px;
    text-align: center
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_2column ._caption {
        font-size: 18px;
        margin-top: 12px
    }
}

.p-single-post__solution ._introduction_content_2column ._caption span {
    color: #112844;
    display: block;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.2
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_2column ._caption span {
        font-size: 14px
    }
}

.p-single-post__solution ._table_wrap {
    margin-bottom: 48px;
    overflow-x: auto;
    position: relative;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._table_wrap:after {
        background: url(../image/table_scroll_hint.svg);
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        display: block;
        height: 24px;
        left: 50%;
        pointer-events: none;
        position: absolute;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 114px
    }

    .p-single-post__solution ._table_wrap.is-active:after {
        opacity: 0;
        transition: opacity .4s 1s
    }
}

.p-single-post__solution ._introduction_content_table {
    width: 100%
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_table {
        width: 676px
    }
}

.p-single-post__solution ._introduction_content_table tbody {
    border: 1px solid #d9d9d9
}

.p-single-post__solution ._introduction_content_table tr {
    display: flex
}

.p-single-post__solution ._introduction_content_table tr:first-child th {
    background: transparent
}

.p-single-post__solution ._introduction_content_table th {
    align-items: center;
    background: #f2f2f2;
    border-bottom: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    display: flex;
    justify-content: center;
    width: 180px
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_table th {
        width: 109px
    }
}

.p-single-post__solution ._introduction_content_table td {
    align-items: center;
    border-bottom: 1px solid #d9d9d9;
    border-right: 1px solid #d9d9d9;
    display: flex;
    justify-content: center;
    line-height: 1.75;
    padding: 24px 20px;
    text-align: center;
    width: calc(50% - 90px)
}

@media screen and (max-width:767px) {
    .p-single-post__solution ._introduction_content_table td {
        justify-content: left;
        padding: 12px;
        text-align: left;
        width: calc(50% - 54.5px)
    }
}

.p-single-post__solution ._introduction_content_table td:last-child,
.p-single-post__solution ._introduction_content_table th:last-child {
    border-right: none
}

.p-single-post__solution ._introduction_content_table tr:last-child td,
.p-single-post__solution ._introduction_content_table tr:last-child th {
    border-bottom: none
}

.p-single-post__solution ._introduction_content_table .u-img {
    max-width: 328px;
    width: 100%
}

.p-single-post__solution--new {
    margin-top: 164px;
    padding-top: 0
}

.p-single-post__solution--new p+p {
    margin-top: 16px
}

.p-single-post__solution--new ._img_wide {
    margin: 40px 0
}

.p-single-post__solution--new ._before_after {
    display: grid;
    gap: 64px;
    grid-template-columns: repeat(2, 1fr);
    margin: 48px 0;
    position: relative
}

@media screen and (max-width:767px) {
    .p-single-post__solution--new ._before_after {
        grid-template-columns: 1fr;
        row-gap: 48px
    }
}

.p-single-post__solution--new ._before_after:after {
    background: linear-gradient(135deg, #07f5ff, #02abff);
    clip-path: polygon(100% 0, 0 0, 50% 100%);
    content: "";
    display: block;
    height: 18px;
    left: 50%;
    position: absolute;
    top: calc(50% + 16px);
    transform: translateX(-50%) rotate(-90deg);
    width: 32px
}

@media screen and (max-width:767px) {
    .p-single-post__solution--new ._before_after:after {
        top: calc(50% - 8px);
        transform: translateX(-50%) rotate(0)
    }
}

.p-single-post__solution--new ._before_after ._caption {
    color: #112844;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    margin-bottom: 12px;
    text-align: center
}

.p-single-post__solution--new ._before_after>div:first-of-type ._caption {
    color: #a9a9a9
}

.p-single-post__solution--new ._img_box {
    column-gap: 10px;
    display: grid;
    grid-template-columns: 62.5% auto;
    justify-content: space-between;
    margin: 48px 0;
    row-gap: 10px
}

@media screen and (max-width:767px) {
    .p-single-post__solution--new ._img_box {
        column-gap: 8px;
        grid-template-columns: repeat(2, 1fr);
        row-gap: 8px
    }
}

.p-single-post__solution--new ._img_box .u-img:first-of-type {
    grid-column: 1/2;
    grid-row: 1/3
}

@media screen and (max-width:767px) {
    .p-single-post__solution--new ._img_box .u-img:first-of-type {
        grid-column: 1/3;
        grid-row: 1/2
    }
}

.p-single-post__solution--new ._img_box .u-img:nth-of-type(2) {
    grid-column: 2/3;
    grid-row: 1/2
}

@media screen and (max-width:767px) {
    .p-single-post__solution--new ._img_box .u-img:nth-of-type(2) {
        grid-column: 1/2;
        grid-row: 2/3
    }
}

.p-single-post__solution--new ._img_box .u-img:nth-of-type(3) {
    grid-column: 2/3;
    grid-row: 2/3
}

@media screen and (max-width:767px) {
    .p-single-post__solution--new ._img_box .u-img:nth-of-type(3) {
        grid-column: 2/3;
        grid-row: 2/3
    }
}

.p-contact .l-sub-nav__sticky {
    padding-left: 32px
}

.p-contact.--confirm {
    overflow: hidden;
    width: 100%
}

.p-contact.--confirm .l-section-heading {
    flex-direction: column;
    margin-left: max(24px, (100% - 1240px)/2);
    max-width: 1420px;
    position: relative;
    width: 100%
}

.p-contact.--confirm .c-sec-heading {
    position: relative;
    width: 100%
}

.p-contact.--confirm .c-heading {
    width: 100%
}

@media screen and (max-width:767px) {
    .p-contact.--confirm .c-heading {
        margin-bottom: 18px
    }
}

.p-contact.--confirm .p-contact-confirm {
    padding: 160px 0 240px
}

@media screen and (max-width:767px) {
    .p-contact.--confirm .p-contact-confirm {
        padding: 112px 0 164px
    }
}

.p-contact.--confirm .p-contact-sec02__form__column2 {
    border-bottom: 1px solid #dbdbdb;
    padding-bottom: 32px
}

@media screen and (max-width:767px) {
    .p-contact.--confirm .p-contact-sec02__form__column2 {
        padding-bottom: 24px
    }
}

.p-contact.--confirm .p-contact-sec02__form__column2:nth-of-type(n+2) {
    margin-top: 32px
}

@media screen and (max-width:767px) {
    .p-contact.--confirm .p-contact-sec02__form__column2:nth-of-type(n+2) {
        margin-top: 24px
    }
}

.p-contact.--confirm .p-contact-sec02__form__column2 ._form__details {
    margin-top: 0;
    width: 280px
}

@media screen and (max-width:767px) {
    .p-contact.--confirm .p-contact-sec02__form__column2 ._form__details {
        width: 100%
    }
}

.p-contact.--confirm .p-contact-sec02__form__column2 ._form_operation {
    width: calc(100% - 280px)
}

@media screen and (max-width:767px) {
    .p-contact.--confirm .p-contact-sec02__form__column2 ._form_operation {
        width: 100%
    }
}

.p-contact.--thanks .p-contact-thanks {
    padding: 160px 0 240px
}

@media screen and (max-width:767px) {
    .p-contact.--thanks .p-contact-thanks {
        padding: 112px 0 164px
    }
}

.p-contact.--thanks .p-contact-thanks .c-copy {
    margin-top: 64px
}

@media screen and (max-width:767px) {
    .p-contact.--thanks .p-contact-thanks .c-copy {
        margin-top: 48px
    }
}

.p-contact.--thanks .p-contact-thanks .c-button {
    margin-top: 64px
}

@media screen and (max-width:767px) {
    .p-contact.--thanks .p-contact-thanks .c-button {
        margin-top: 56px
    }
}

.p-contact.--thanks ._thanks_heading {
    font-size: 36px;
    font-weight: 600;
    letter-spacing: .1em;
    line-height: 1.75
}

@media screen and (max-width:767px) {
    .p-contact.--thanks ._thanks_heading {
        font-size: 24px;
        letter-spacing: .05em;
        line-height: 1.75
    }
}

.p-contact-sec01.--sub {
    padding-bottom: 0
}

.p-contact-sec01 .c-contact-number {
    margin-top: 32px
}

.p-contact-sec02__form {
    width: 100%
}

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

.p-contact-sec02__form ._form_submit_btn {
    background-color: #F6F6F6;
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form ._form_submit_btn {
        margin: 56px auto 0
    }
}

.p-contact-sec02__form ._form_submit_btn input {
    background: none;
    border: none;
    height: 100%;
    padding: 0;
    width: 100%
}

.p-contact-sec02__form ._form_back_btn {
    font-weight: 600;
    text-decoration: underline;
    text-decoration-line: #2f3639
}

.p-contact-sec02__form__column2 {
    display: flex
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 {
        flex-direction: column
    }
}

.p-contact-sec02__form__column2:nth-of-type(n+2) {
    margin-top: 42px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2:nth-of-type(n+2) {
        margin-top: 40px
    }
}

.p-contact-sec02__form__column2:last-of-type {
    margin-top: 67px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2:last-of-type {
        margin-top: 0;
    }
}

.p-contact-sec02__form__column2.--center {
    align-items: center
}

.p-contact-sec02__form__column2 ._form__details {
    margin-top: 16px;
    width: 208px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form__details {
        margin-bottom: 12px;
        margin-top: 0;
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form__details.--no_margin {
    margin-top: 0
}

.p-contact-sec02__form__column2 ._form_operation {
    width: calc(100% - 208px)
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation {
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form_operation.--tel {
    width: 286px
}

@media screen and (max-width:600px) {
    .p-contact-sec02__form__column2 ._form_operation.--tel {
        width: 164px
    }
}

.p-contact-sec02__form__column2 ._form_operation.--postcode {
    width: 18.2555780933%
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation.--postcode {
        width: 180px
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address {
    display: flex
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address {
        flex-direction: column
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address:nth-child(n+2) {
    margin-top: 32px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address:nth-child(n+2) {
        margin-top: 24px
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_label {
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .01em;
    line-height: 1.8666666667;
    padding-right: 32px;
    width: 210px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_label {
        margin-bottom: 12px;
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_label.--mt {
    margin-top: 20px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_label.--mt {
        margin-top: 0
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_input {
    width: calc(100% - 210px)
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_input {
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_input.--small {
    width: 240px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_input.--small {
        width: 164px
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_small_text {
    font-size: 14px;
    letter-spacing: 0;
    width: 335px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._address_small_text {
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._flex {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
    row-gap: 8px;
    width: calc(100% - 210px)
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._form_operation_address ._flex {
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form_operation ._check_area {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

.p-contact-sec02__form__column2 ._form_operation ._check_area ._check_box {
    align-items: center;
    display: flex;
    gap: 12px
}

.p-contact-sec02__form__column2 ._form_operation ._check_area ._check_box label {
    gap: 2px;
    margin-top: 0
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._check_area.--privacy label {
        width: 100%
    }
}

.p-contact-sec02__form__column2 ._form_operation ._check_area ._privacy_link {
    color: #112844;
    margin-right: .4666666667em;
    text-decoration: underline;
    text-decoration-color: #112844;
    text-underline-offset: 4px
}

.p-contact-sec02__form__column2 ._form_operation ._placeholder {
    color: #C0C0C0;
    font-size: 12px;
    letter-spacing: .01em;
    line-height: 1;
    margin-top: 8px
}

.p-contact-sec02__form__column2 ._form_operation ._error_message {
    color: #c91d1d;
    font-size: 15px;
    font-weight: 500;
    letter-spacing: .05em;
    line-height: 1;
    margin-top: 10px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._error_message {
        font-size: 15px;
        margin-top: 8px
    }
}

.p-contact-sec02__form__column2 ._form_operation ._privacy_copy {
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .01em;
    line-height: 1.75;
    margin-left: 36px;
    margin-top: 12px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__column2 ._form_operation ._privacy_copy {
        font-size: 15px;
        margin-left: 34px;
        margin-top: 15px
    }
}

.p-contact-sec02__form__btns {
    align-items: center;
    display: flex;
    gap: 40px;
    justify-content: center;
    margin-top: 64px
}

@media screen and (max-width:767px) {
    .p-contact-sec02__form__btns {
        flex-direction: column-reverse;
        row-gap: 24px
    }
}

.p-contact-sec02__form__btns ._form_submit_btn {
    margin: 0
}

label {
    align-items: center;
    color: #2f3639;
    display: flex;
    font-size: 15px;
    font-weight: 700;
    gap: 16px;
    letter-spacing: .01em;
    line-height: 1.8666666667
}

@media screen and (max-width:767px) {
    label {
        gap: 12px
    }
}

label .--alert {
    background: #426084;
    color: #f8f9fa;
    display: inline-block;
    font-size: 12px;
    height: 20px;
    line-height: 1;
    padding: 3.5px 8px 2px;
}

input,
select,
textarea {
    appearance: none;
    background: #f8f9fa;
    border: 1px solid #C8C8C8;
    height: 64px;
    padding: 0 24px;
    width: 100%
}

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

    input,
    select,
    textarea {
        height: 56px;
        padding: 0 12px
    }
}

input.--error,
select.--error,
textarea.--error {
    border: 2px solid #b70000
}

textarea {
    height: 320px;
    padding-top: 24px
}

@media screen and (max-width:767px) {
    textarea {
        height: 240px;
        padding-top: 12px
    }
}

input[type=email]:focus,
input[type=tel]:focus,
input[type=text]:focus,
select:focus,
textarea:focus {
    border: 1px solid #112844;
    border-radius: 0;
    outline: none
}

input[type=checkbox] {
    border: 1px solid #dbdbdb;
    cursor: pointer;
    height: 24px;
    padding: 0;
    position: relative;
    width: 24px
}

@media screen and (max-width:767px) {
    input[type=checkbox] {
        height: 24px;
        width: 24px
    }
}

input[type=checkbox]:checked {
    background-color: #f8f9fa;
    background-image: url(../image/form_check_icon.svg);
    background-repeat: no-repeat;
    background-size: cover
}

input[type=checkbox]:checked:after {
    opacity: 1
}

.p-contact-modal {
    align-items: center;
    background: rgba(47, 54, 57, .64);
    display: flex;
    height: 100vh;
    justify-content: center;
    left: 0;
    opacity: 0;
    position: fixed;
    top: 0;
    transition: all .4s;
    visibility: hidden;
    width: 100%;
    z-index: 1000
}

.p-contact-modal.is-active {
    opacity: 1;
    transition: all .4s;
    visibility: visible
}

.p-contact-modal ._modal_inner {
    background: #fff;
    height: 85.7777777778vh;
    max-width: 1240px;
    position: relative;
    width: calc(100% - 48px)
}

@media screen and (max-width:600px) {
    .p-contact-modal ._modal_inner {
        height: 90.4047976012vh
    }
}

.p-contact-modal ._modal_inner:after {
    background: url(../image/modal_close_btn.svg);
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    display: block;
    height: 48px;
    position: absolute;
    right: 40px;
    top: 40px;
    width: 48px;
    z-index: 2
}

@media screen and (max-width:767px) {
    .p-contact-modal ._modal_inner:after {
        height: 32px;
        right: 16px;
        top: 16px;
        width: 32px
    }
}

.p-contact-modal ._modal_main {
    height: 100%;
    overflow-y: auto;
    padding: 120px 0;
    width: 100%
}

@media screen and (max-width:767px) {
    .p-contact-modal ._modal_main {
        padding: 64px 0 10px;
    }
}

.p-contact-modal ._modal_head {
    margin-left: auto;
    max-width: calc(50% + 515.5px);
    width: calc(100% - 24px)
}

.p-contact-modal ._modal_contents {
    margin: 0 auto;
    max-width: 1031px;
    width: calc(100% - 24px)
}

@media screen and (max-width:767px) {
    .p-contact-modal ._modal_contents {
        width: calc(100% - 48px)
    }
}

.p-contact-modal ._content {}

@media screen and (max-width:767px) {
    .p-contact-modal ._content {
        margin-bottom: 56px
    }
}

.p-contact-modal ._content .c-copy {
    margin: 20px 0
}

.p-contact-modal ._modal_list>li {
    padding-left: 21px;
    position: relative
}

.p-contact-modal ._modal_list>li:nth-child(n+2) {
    margin-top: 6px
}

.p-contact-modal ._modal_list>li:after {
    background: #112844;
    border-radius: 50%;
    content: "";
    display: block;
    height: 6px;
    left: 0;
    position: absolute;
    top: 13px;
    width: 6px
}

.p-stafflogin .c-button {
    margin: 64px auto 0
}

@media screen and (max-width:600px) {
    .p-stafflogin .c-button {
        margin: 48px auto 0
    }
}

.p-stafflogin-form__2column {
    align-items: center;
    display: flex
}

@media screen and (max-width:600px) {
    .p-stafflogin-form__2column {
        align-items: flex-start;
        flex-direction: column
    }
}

.p-stafflogin-form__2column:nth-child(n+2) {
    margin-top: 48px
}

@media screen and (max-width:767px) {
    .p-stafflogin-form__2column:nth-child(n+2) {
        margin-top: 40px
    }
}

.p-stafflogin-form__2column dt {
    width: 20%
}

@media screen and (max-width:600px) {
    .p-stafflogin-form__2column dt {
        margin-bottom: 12px;
        width: 100%
    }
}

.p-stafflogin-form__2column dd {
    width: 80%
}

@media screen and (max-width:600px) {
    .p-stafflogin-form__2column dd {
        width: 100%
    }
}

.p-stafflogin-form__2column dd input#login_username {
    background: #fff
}

.c-heading span._white {
    color: #fff;
}

.p-top-topics .c-button {
    background-color: #F6F6F6;
    margin: 60px auto;
}


.l-footer-2column__item.--tel:after {
    display: none;
}

#locationSwiper {}

#locationSwiper .swiper-wrapper {}

#locationSwiper .swiper-slider,
#locationSwiper .swiper-slider img {
    width: 100%;
}

#locationSwiper .swiper-button-next,
#locationSwiper .swiper-button-prev {
    width: 39px;
    height: 39px;
    background-color: rgba(255, 255, 255, .8);
}

#locationSwiper .swiper-button-next svg,
#locationSwiper .swiper-button-prev svg {
    width: 12px;
}

#locationSwiper .swiper-button-next:after,
#locationSwiper .swiper-button-prev:after {
    display: none;
}

.p-products .l-fv-navigation>li,
.p-solution .l-fv-navigation>li {
    width: calc(100% / 4 - 16px);
}

.p-products .c-button {
    background-color: #F6F6F6;
    margin: 60px 0;
}

.p-strength .l-sub-main__wrap.--head {
    margin: 0 auto;
}

.p-strength .l-sub-main__wrap.--middle {
    margin: 0 auto;
}

.p-strength-sec01 .c-copy img {
    width: 100%;
}

.p-strength .c-sec-heading .c-heading {
    border: none;
    padding-bottom: 0;
}

.p-strength #sec02 .c-sec-heading__jp {
     color: #fff; 
}

._service_points {
    display: flex;
    flex-wrap: nowrap;
    width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
}

._service_points ._point {
    flex-shrink: 0;
    margin-right: 20px;
	aspect-ratio: 1 / 1;
}

.p-strength-btn {
    margin: 60px auto 120px auto;
    text-align: center;
}

.p-strength-btn a {
    width: 90%;
    max-width: 202px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: #1F4E86;
    padding: 15px 0;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    border-radius: 999px;
    transition: all .3s;
}

.p-strength-btn a svg {
    margin-right: 20px;
    transition: all .3s;
}

.p-strength-btn a:hover {}

.p-strength-btn a:hover svg {
    transform: translateX(6px);
    -webkit-transform: translateX(6px);
    -moz-transform: translateX(6px);
    -ms-transform: translateX(6px);
    -o-transform: translateX(6px);
}

.p-solution {
    margin-bottom: 120px;
}

.p-solution-heading {
    background-color: #EDEDED;
    color: #000000;
    font-size: 20px;
    font-weight: 700;
    padding: 6px 12px;
    margin-bottom: 30px;
}

.p-solution-heading::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background-color: #112844;
    margin-right: 16px;
    vertical-align: middle;
}

.p-solution .p-solution-sec__head {
    align-items: center;
}

.p-solution .c-sec-heading {
    margin-bottom: 20px;
}

.p-solution .c-contents-default+.c-contents-default {
    margin-top: 60px;
}

.p-contact .p-contact-txt {
    margin-top: 60px;
}

.p-contact .l-sub-main__wrap.--middle {
    margin: 0 auto;
}

@media screen and (max-width:767px) {
    .p-contact #sec02 {
        padding-top: 0;
    }

    .p-products .l-fv-navigation>li, .p-solution .l-fv-navigation>li {
        width: 100% !important;
    }

    .p-products .c-button {
        margin: 30px 0;
    }

    .p-strength-btn {
        margin-bottom: 60px;
    }
}