/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*, :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: #fcfcfc; 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; }
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: #008ddb; display: inline-block; font-size: 16px; font-weight: 700; line-height: 1; margin-bottom: 140px; overflow: hidden; padding-bottom: 20px; padding-left: 22px; position: relative; width: 100%; z-index: 2 }

@media screen and (max-width:767px) {
    .c-heading { font-size: 14px; padding-bottom: 16px; padding-left: 16px }
}

.c-heading:after { background: url(../images/c-heading-circle.svg); background-repeat: no-repeat; background-size: contain; content: ""; display: block; height: 12px; left: 0; position: absolute; top: 2px; width: 12px }

@media screen and (max-width:767px) {
    .c-heading:after { height: 9px; width: 9px }
}

.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 }

@media screen and (max-width:767px) {
    .c-subpage-fv-heading { font-size: 28px }
}

.c-subpage-fv-heading .c-en { color: #008ddb; display: block; font-size: 16px; font-weight: 600; letter-spacing: 0; margin-top: 16px }

@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: 18px; 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: 36px; font-weight: 700; letter-spacing: .1em; line-height: 1.75; max-width: 1024px }

@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: 20px; line-height: 1.5; margin-bottom: 24px; padding: 5px 16px 5px 30px }
}

.c-contents-heading:after { background: #05d6ff; 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: #f2f2f2; 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(../images/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: linear-gradient(180deg,#e71419,#c1060a); 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: 46px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%) rotate(0); transition: all .4s ease-in-out; width: 46px }

@media screen and (max-width:600px) {
    .c-button-circle:after, .c-button-circle:before { height: 34px; width: 34px }
}

.c-button-circle:before { background: url(../images/c-button-circle_outer.svg); background-repeat: no-repeat; background-size: cover; opacity: 1 }
.c-button-circle:after { background: url(../images/c-button-circle_outer_main.svg); background-repeat: no-repeat; background-size: cover; opacity: 0 }
.c-button-circle ._arrow { height: 7px; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); width: 10px }
.c-button-circle ._arrow:after, .c-button-circle ._arrow:before { background: url(../images/arrow-white.svg); background-repeat: no-repeat; background-size: contain; content: ""; display: block; height: 7px; left: 0; position: absolute; top: 0; transition: all .4s ease-in-out; width: 10px }
.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: linear-gradient(90deg,#e71419,#c1060a); 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(../images/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(../images/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-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 }

@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: #e71419; 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: #008ddb; 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: #008ddb; text-decoration-color: #008ddb; transition: all .4s }
.c-contact-number { display: flex; flex-wrap: wrap; gap: 6.4453125%; row-gap: 24px }
.c-contact-number ._number { color: #008ddb; 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: #05d6ff; 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: #05d6ff; 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% }

@media screen and (max-width:600px) {
    .c-pagination { gap: 8px; margin-top: 0 }
}

.c-pagination .c-en { align-items: center; background: #f2f2f2; border: 1px solid transparent; color: #e71419; display: flex; font-size: 20px; font-weight: 500; height: 40px; justify-content: center; letter-spacing: 0; line-height: 1; transition: all .4s; width: 40px }

@media screen and (max-width:600px) {
    .c-pagination .c-en { font-size: 16px; height: 28px; width: 28px }
}

.c-pagination .c-en.is-current { background: linear-gradient(125deg,#e71419,#c1060a); border: none; color: #f8f9fa; font-weight: 700 }
.c-pagination .c-en:hover:not(.is-current) { border: 1px solid #e71419; transition: all .4s }
.c-pagination ._dots:after { background: url(../images/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(../images/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; row-gap: 60px }

@media screen and (max-width:767px) {
    .c-service-list { row-gap: 32px }
}

.c-service-list__item { position: relative; width: 31.6129032258% }

@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:after, .c-service-list__item:before { background: #dbdbdb; border-radius: 50px; content: ""; display: block; height: 8px; position: absolute; transition: all .4s; width: 8px; z-index: 3 }
.c-service-list__item:before { right: -3.5px; top: -3.5px }
.c-service-list__item:after { bottom: -3.5px; left: -3.5px; transition: all .4s .3s }
.c-service-list__item:hover:before { background: #008ddb; transition: all .4s .3s }
.c-service-list__item:hover:after { background: #008ddb; transition: all .4s }
.c-service-list__item:hover a { background: #f8f9fa; transition: all .4s }
.c-service-list__item:hover a:before { background: #008ddb; 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; 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: #fcfcfc; 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% }

@media screen and (max-width:767px) {
    .c-service-list__item a ._inner { padding-bottom: 30px }
}

.c-service-list__item a ._inner:before { background: #008ddb; 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: #008ddb; 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; padding-left: 17px; position: relative }

@media screen and (max-width:767px) {
    .c-service-list__item ._item_name { margin: 24px 0 20px }
}

.c-service-list__item ._item_name:after { background: url(../images/arrow-accent.svg); background-repeat: no-repeat; background-size: contain; content: ""; display: block; height: 10px; left: 3px; position: absolute; top: 13px; width: 6px }

@media screen and (max-width:767px) {
    .c-service-list__item ._item_name:after { height: 8px; left: 3px; top: 13px; width: 4.8px }
}

.c-service-list__item ._item_name .c-text { font-size: 20px; font-weight: 700; letter-spacing: .1em; line-height: 1.75 }

@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 }

@media screen and (max-width:600px) {
    .p-top-loading .c-logo { width: 200px }
}

.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: linear-gradient(90deg,#0096e0,#024aac); 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: #008ddb; transition: all .4s }
.u-hover:hover .u-hover-underline { background-position: 0 100%; background-size: 100% 1px; color: #008ddb }
.u-hover:hover .u-hover-underline.--black { background-position: 0 100%; background-size: 100% 1px; color: #2f3639 }
.u-hover .u-hover-underline { background: linear-gradient(#008ddb,#008ddb) 0 100% no-repeat; 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: 14px 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 { min-width: 150px; width: 150px }

@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 { margin-bottom: 10px; min-width: 113px; width: 113px }
}

.l-header-main__nav { max-width: 812px; width: 100% }

@media screen and (max-width:1200px) {
    .l-header-main__nav { background: linear-gradient(90deg,#0096e0,#024aac); height: 100vh; max-width: 768px; overflow-y: auto; padding-bottom: 177px; padding-top: 177px; 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% }
    .l-header-main__nav > ul > li:nth-child(n+4) { margin-top: 24px }
}

.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(../images/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(../images/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(../images/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(../images/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(../images/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: #024aac; 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; 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: 10px; position: relative; width: 200px; z-index: 2 }
    .l-header-side:after { background: linear-gradient(90deg,#0096e0,#024aac); 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 }
}

.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: linear-gradient(90deg,#0096e0,#024aac); 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: #024aac; 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 ._contact_circle:after { background: url(../images/c-button-circle_outer.svg); background-repeat: no-repeat; background-size: cover; content: ""; display: block; height: 100%; left: 50%; position: absolute; top: 50%; transform: translate(-50%,-50%); transition: all .4s ease-in-out; width: 100% }

@media screen and (max-width:1200px) {
    .l-header-side__contact ._contact_circle:after { display: none }
}

.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(../images/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: #008ddb; 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: #022a60; overflow: hidden; width: 100% }
.l-footer-head { height: 84px; position: relative; width: 100%; z-index: 2 }
.l-footer-head:before { background: #fcfcfc; 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: #fcfcfc; 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: #022a60; 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(../images/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:before { background: hsla(0,0%,95%,.5); content: ""; display: block; height: 100%; left: -1px; position: absolute; top: 0; width: 1px }

@media screen and (max-width:1024px) {
    .l-footer-2column__item.--form:before { bottom: 0; height: 1px; left: 50%; top: inherit; transform: translateX(-50%); width: 1024px }
}

.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: #008ddb; 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: #008ddb; transition: all .4s }
.l-footer-2column__item.--form:hover .l-footer-2column__item__title ._circle { fill: #008ddb; 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: #008ddb; 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 }

@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:after, .l-footer-2column__item .c-button-circle:before { height: 74px; width: 74px }

@media screen and (max-width:600px) {
    .l-footer-2column__item .c-button-circle:after, .l-footer-2column__item .c-button-circle:before { height: 48px; width: 48px }
}

.l-footer-2column__item .c-button-circle ._arrow { height: 11px; width: 16px }

@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: 11px; width: 16px }

@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: 48px; 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 { min-width: 150px; width: 150px }

@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: 14px; font-weight: 500; letter-spacing: .05em; line-height: 1.75; 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: 486px }

@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: 16px; width: 100% }

@media screen and (max-width:600px) {
    .l-footer-main__nav ul { row-gap: 24px }
}

.l-footer-main__nav li { width: 122px }

@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) { width: 137px }

@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; gap: 32px; margin: 0 auto; max-width: 1288px; padding: 0 24px; width: 100% }
.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:600px) {
    .l-footer-support { padding: 32px 0 }
}

.l-footer-support .c-contents-inner { align-items: center; display: flex; gap: 81px; justify-content: center }

@media screen and (max-width:600px) {
    .l-footer-support .c-contents-inner { gap: 0 }
}

.l-footer-support__logo { display: block }
.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-section { width: 100% }
.l-section.--ornament { position: relative }
.l-section.--ornament:after, .l-section.--ornament:before { background: #fcfcfc; content: ""; display: block; height: 51px; left: 50%; position: absolute; transform: translateX(-50%); width: 100% }
.l-section.--ornament:before { top: -1px }
.l-section.--ornament:after { bottom: -1px }
.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: 164px 0 }

@media screen and (max-width:767px) {
    .l-section.--sub { padding: 112px 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 { height: 39.5px; width: 1420px }

@media screen and (max-width:767px) {
    .l-section-heading .c-heading { margin-bottom: 64px }
}

@media screen and (max-width:600px) {
    .l-section-heading .c-heading { height: 28px }
}

.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 { padding-left: 200px; 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: 240px }

@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 #008ddb }
.l-topics-nav__sticky ._topics_nav li a.is-current ._object:after { background: linear-gradient(125deg,#0096e0,#024aac); transform: translate(-50%,-50%) scale(4) }
.l-topics-nav__sticky ._topics_nav li a:hover ._object { border: 1px solid #008ddb; transition: all .4s }
.l-topics-nav__sticky ._topics_nav li a:hover ._object:after { background: linear-gradient(125deg,#e71419,#c1060a); 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% }

@media screen and (max-width:1024px) {
    .l-topics-list { padding-bottom: 84px }
}

@media screen and (max-width:600px) {
    .l-topics-list { margin: 0 auto; width: calc(100% - 48px) }
}

.l-topics-list li { margin-left: auto; max-width: 892px; 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: #e71419; 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: underline; text-decoration-color: #2f3639 }
.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: 0; 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: #e71419; 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: 280px; 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 { background: #f2f2f2; padding: 280px 0 80px; position: relative }

@media screen and (max-width:767px) {
    .l-fv.--sub { padding: 200px 0 56px }
}

.l-fv.--sub:after { background: #fcfcfc; bottom: -1px; clip-path: polygon(73.75% 100%,100% 100%,100% 0,calc(73.75% + 42px) 0); content: ""; display: block; height: 56px; position: absolute; right: 0; width: 100% }

@media screen and (max-width:600px) {
    .l-fv.--sub:after { clip-path: polygon(69.0666666667% 100%,100% 100%,100% 0,calc(69.06667% + 29px) 0); height: 28px }
}

.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: 235px }

@media screen and (max-width:767px) {
    .l-fv-navigation > li { width: calc(50% - 4.5px) }
}

.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(../images/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-fv-img:after, .l-fv-img:before { background: #fcfcfc; content: ""; display: block; height: 52px; left: 50%; position: absolute; transform: translateX(-50%); width: 100%; z-index: 2 }

@media screen and (max-width:600px) {
    .l-fv-img:after, .l-fv-img:before { height: 28px }
}

.l-fv-img:before { clip-path: polygon(0 0,26.25% 0,calc(26.25% - 40px) 100%,0 100%); top: -1px }

@media screen and (max-width:600px) {
    .l-fv-img:before { clip-path: polygon(0 0,30.9333333333% 0,calc(30.93333% - 30px) 100%,0 100%) }
}

.l-fv-img:after { bottom: -1px; clip-path: polygon(73.75% 100%,100% 100%,100% 0,calc(73.75% + 40px) 0) }

@media screen and (max-width:600px) {
    .l-fv-img:after { clip-path: polygon(69.0666666667% 100%,100% 100%,100% 0,calc(69.06667% + 30px) 0) }
}

.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: #008ddb }
.l-sub-nav__sticky { align-items: center; display: flex; height: 100vh; left: 0; padding: 164px 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: linear-gradient(135deg,#07f5ff,#02abff); 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: #008ddb; 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; width: calc(100% - 24px) }
}

.l-sub-main__wrap.--middle { margin-left: max(286px,100% - 1200px); max-width: 1024px; 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(../images/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: #05d6ff; 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: #024aac; text-decoration: underline; text-decoration-color: #024aac; 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: #05d6ff; 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: #05d6ff }
.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(../images/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(../images/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(../images/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: 25vw; position: relative }

@media screen and (max-width:767px) {
    .p-top-fv { aspect-ratio: inherit; padding-top: 345px }
}

.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: 21.5384615385% }

@media screen and (max-width:767px) {
    .p-top-fv__heading { font-size: 26px; left: 18px; line-height: 1.6153846154; top: 174px }
}

.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: linear-gradient(353deg,#0096e0,#0096e0 70%,#024aac); 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: 1830px }
}

.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: 20% }

@media screen and (max-width:767px) {
    .p-top-fv__lower__loop ._img { aspect-ratio: inherit }
}

.p-top-strong { background: url(../images/p-top-strong-bg.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover; padding: 0 0 270px; width: 100% }

@media screen and (max-width:767px) {
    .p-top-strong { background: url(../images/p-top-strong-bg-sp.webp); 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:after { clip-path: polygon(40.3125% 100%,100% 100%,100% 0,calc(40.3125% + 47px) 0); height: 47.6px }

@media screen and (max-width:767px) {
    .p-top-strong.--ornament:after { clip-path: polygon(40% 100%,100% 100%,100% 0,calc(40% + 30px) 0); height: 28px }
}

.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(../images/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: #008ddb; 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: 236px; padding-top: 200px; width: 100% }

@media screen and (max-width:767px) {
    .p-top-service { padding: 124px 0 }
}

.p-top-service .c-button { margin: 0 auto }
.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 { margin-top: 83px; 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: linear-gradient(90deg,#0096e0,#024aac); 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 { background: linear-gradient(180deg,#00008d,#024aac); 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: 320px; padding-top: 270px; position: relative }

@media screen and (max-width:767px) {
    .p-top-location .u-overflow-hidden { padding: 152px 0 }
}

.p-top-location__map { aspect-ratio: 1515/890; background: url(../images/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(../images/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(../images/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__loop { animation: loopBgX 2000s linear infinite; background: url(../images/p-top-location-loop.webp); background-repeat: repeat-x; background-size: auto 100%; height: 188px; width: 100% }

@media screen and (max-width:767px) {
    .p-top-location__loop { height: 120px }
}

.p-top-location__detection { margin-top: 52px }

@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: 425px; width: 100% }

@media screen and (max-width:767px) {
    .p-top-location__detection .c-copy { margin: 40px 0 336px }
}

.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: 316px; padding-top: 240px; width: 100% }

@media screen and (max-width:767px) {
    .p-top-topics { padding-bottom: 163px; padding-top: 124px }
}

.p-top-topics ._inner { overflow: hidden; width: 100% }
.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: linear-gradient(0deg,#024aac,#00008d) }
.p-strength-sec02.--sub { padding: 234px 0 }

@media screen and (max-width:767px) {
    .p-strength-sec02.--sub { padding: 112px 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 { height: 100vh; overflow: hidden; padding-bottom: 10vh; position: relative; width: 100% }

@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: 80px }
}

.p-strength-sec02__horizontal ._horizontal_inner { align-items: flex-end; display: flex; height: 100%; padding-left: max(286px,100% - 1200px); width: max-content }

@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: 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 }

@media screen and (max-width:767px) {
    .p-strength-sec02__horizontal ._service_points { gap: 52px }
}

.p-strength-sec02__horizontal ._point { aspect-ratio: 498/680; display: flex; flex-direction: column; max-width: 498px; 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: linear-gradient(135deg,#07f5ff,#02abff); 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.--object01 { background: url(../images/service-point01.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover }
.p-strength-sec02__horizontal ._point.--object02 { background: url(../images/service-point02.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover }
.p-strength-sec02__horizontal ._point.--object03 { background: url(../images/service-point03.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover }
.p-strength-sec02__horizontal ._point.--object04 { background: url(../images/service-point04.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover }
.p-strength-sec02__horizontal ._point.--object05 { background: url(../images/service-point05.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover }
.p-strength-sec02__horizontal ._point.--object06 { background: url(../images/service-point06.webp); background-position: 50%; background-repeat: no-repeat; background-size: cover }
.p-strength-sec02__horizontal ._point ._text_container { margin-top: auto }
.p-strength-sec02__horizontal ._point ._text_container ._tag { background: linear-gradient(90deg,#07f5ff,#02abff); color: #f8f9fa; display: inline-block; font-size: 12px; 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: 16px }
.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(../images/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: #05d6ff; 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: #008ddb; 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: #024aac; text-decoration: underline; text-decoration-color: #024aac }
.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: #05d6ff; 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: #05d6ff; 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: #024aac }
.p-manufacture-sec__enterprise__list li a { color: #024aac; text-decoration: underline; text-decoration-color: #024aac; transition: opacity .4s }
.p-manufacture-sec__enterprise__list li a:after { background: url(../images/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(../images/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(../images/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: #05d6ff; 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: 220px }

@media screen and (max-width:767px) {
    .p-company-sec03.--sub { padding-bottom: 112px }
}

.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(../images/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: #05d6ff; 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: linear-gradient(90deg,#0096e0,#024aac); 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(../images/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 { background: #f8f8f8 }
.p-company-sec05.--sub { padding-bottom: 120px }

@media screen and (max-width:767px) {
    .p-company-sec05.--sub { padding-bottom: 88px }
}

.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: #008ddb; 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-bottom: 1px solid #dbdbdb; display: block; font-size: 15px; font-weight: 500; letter-spacing: .05em; line-height: 1.7333333333; margin-top: 16px; 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: 50px }
}

.p-company-sec05__block ._location_information_address ._address_link { background: url(../images/location-address-icon.webp); background-repeat: no-repeat; background-size: contain; bottom: 14px; display: block; height: 48px; position: absolute; right: 0; 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 }
}

.p-company-sec05__block ._location_information_address ._address_link:hover { background: url(../images/location-address-icon_blue.webp); 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: #008ddb; 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 a:after { background: #f8f8f8 }
.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: 43.9453125% }

@media screen and (max-width:767px) {
    .p-solution-sec__head ._head_img { max-width: 400px; width: 100% }
}

.p-single { background: #f2f2f2; padding-top: 220px; 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: #05d6ff; 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: #05d6ff; 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: #fcfcfc; padding: 70px 0 196px; position: relative; width: 100% }
.p-single-post:after { background: #fcfcfc; clip-path: polygon(0 0,23.625% 0,calc(23.625% + 42px) 100%,0 100%); content: ""; display: block; height: 56px; left: 0; position: absolute; top: -55px; width: 100% }

@media screen and (max-width:600px) {
    .p-single-post:after { clip-path: polygon(0 0,22.9333333333% 0,calc(22.93333% + 30px) 100%,0 100%); height: 28px; top: -27px }
}

@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: #e71419; font-size: 20px; font-weight: 700; 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: underline; 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: 32px; transform: translateX(-50%) }

@media screen and (max-width:600px) {
    .p-single-post__pagination .c-post-button { top: 24px }
}

.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(../images/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: #008ddb; font-size: 16px; font-weight: 700; letter-spacing: 0; line-height: 1 }
.p-single-post__solution ._single_solution_title:after { background: #05d6ff; 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: linear-gradient(125deg,#0096e0,#024aac); 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: #05d6ff; 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: #008ddb; 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(../images/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: #008ddb; 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 { margin-top: 64px; width: 100% }

@media screen and (max-width:767px) {
    .p-contact-sec02__form { margin-top: 32px }
}

.p-contact-sec02__form ._form_submit_btn { margin-top: 64px }

@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: 56px }
}

.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: #024aac; margin-right: .4666666667em; text-decoration: underline; text-decoration-color: #024aac; text-underline-offset: 4px }
.p-contact-sec02__form__column2 ._form_operation ._placeholder { color: #c0c5ce; font-size: 15px; 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: #008ddb; color: #f8f9fa; display: inline-block; font-size: 14px; height: 20px; line-height: 1; padding: 2.5px 4px 1px }
input, select, textarea { appearance: none; background: #f8f9fa; border: 1px solid #dbdbdb; 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 #008ddb; 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(../images/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: #fcfcfc; 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(../images/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 }
}

.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 { margin-bottom: 80px }

@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: #05d6ff; 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 }
