@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap";/*! destyle.css v4.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,:before,:after {
    box-sizing: border-box;
    border-style: solid;
    border-width: 0
}

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

body {
    margin: 0
}

main {
    display: block
}

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

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

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

dt {
    font-weight: 700
}

dd {
    margin-left: 0
}

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

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

address {
    font-style: inherit
}

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

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
}

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

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

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

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

:-moz-focusring {
    outline: auto
}

select:disabled {
    opacity: inherit
}

option {
    padding: 0
}

fieldset {
    margin: 0;
    padding: 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-color: inherit;
    border-collapse: collapse
}

caption {
    text-align: left
}

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

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

.u-font-normal {
    font-weight: 400
}

.u-font-medium {
    font-weight: 500
}

.u-font-semibold {
    font-weight: 600
}

.u-font-bold {
    font-weight: 700
}

.u-pt-0 {
    padding-top: 0!important
}

.u-pb-0 {
    padding-bottom: 0!important
}

.u-counter-reset {
    counter-reset: var(--counter)
}

.u-counter-increment {
    counter-increment: var(--counter)
}

@keyframes zoom-up {
    0% {
        transform: scale(1)
    }

    to {
        transform: scale(1.15)
    }
}

html {
    font-size: 1rem
}

@media screen and (width <= 768px) {
    html {
        font-size: clamp(.875rem,100vw * 16 / 375,1.5rem)
    }
}

body {
    display: flex;
    flex-direction: column;
    min-width: 1240px;
    min-height: 100svh;
    font-family: Noto Sans JP,sans-serif;
    font-size: 1rem;
    font-weight: 400;
    font-feature-settings: "palt" on;
    line-height: 1.8;
    color: #09090b;
    letter-spacing: .04em;
    background-color: #fcfcfa
}

@media screen and (width <= 768px) {
    body {
        min-width: unset
    }
}

body * {
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset
}

@media only screen and (resolution >= 2dppx) {
    body * {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
}

body *:focus {
    outline: none
}

body ::selection {
    color: #fff;
    background-color: #353538
}

body>footer {
    margin-top: auto
}

h1,h2,h3,h4,h5,h6,section {
    scroll-margin: 100px
}

@media screen and (width <= 768px) {
    h1,h2,h3,h4,h5,h6,section {
        scroll-margin: 5rem
    }
}

img {
    max-width: 100%
}

@media screen and (width >= 769px) {
    .pc-none {
        display: none!important
    }
}

@media screen and (width >= 769px) {
    .pc-contents {
        display: contents!important
    }
}

@media screen and (width <= 768px) {
    .sp-none {
        display: none!important
    }
}

@media screen and (width <= 768px) {
    .sp-contents {
        display: contents!important
    }
}

.displayContents {
    display: contents
}

.u-opacity-0 {
    opacity: 0
}

.u-auto-alpha {
    pointer-events: none;
    visibility: hidden;
    opacity: 0
}

.u-scroll--fadeIn {
    transition: opacity .6s,transform .6s
}

.u-scroll--fadeIn:not(.is-active) {
    opacity: 0;
    transform: translateY(40px)
}

.u-scroll--fadeInBlur {
    transition: opacity .6s,transform .6s,filter .6s
}

.u-scroll--fadeInBlur:not(.is-active) {
    filter: blur(8px);
    opacity: 0;
    transform: translateY(40px)
}

.u-scroll--clipInRight {
    clip-path: polygon(0 0,100% 0,100% 100%,0 100%);
    transition: clip-path .4s
}

.u-scroll--clipInRight:not(.is-active) {
    clip-path: polygon(0 0,0 0,0 100%,0 100%)
}

.u-text-body {
    color: #fcfcfa
}

.u-text-text {
    color: #09090b
}

.u-text-text-weak {
    color: #383941
}

.u-text-text-muted {
    color: #60637a
}

.u-text-primary {
    color: #004ea2
}

.u-text-primary-dark {
    color: #063165
}

.u-text-accent {
    color: #f39800
}

.u-text-bg {
    color: #f4f5f7
}

.u-text-border {
    color: #e4e5e9
}

.u-text-border-2 {
    color: #cbcdd6
}

.l-header {
    display: flex;
    align-items: center;
    height: 84px;
    background-color: #fcfcfa;
    transition: .3s
}

@media screen and (width <= 768px) {
    .l-header {
        height: 4.5rem
    }
}

@media screen and (width >= 769px) {
    .l-header.is_hidden {
        opacity: 0;
        transform: translateY(-100%)
    }
}

.l-header--fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%
}

.l-header~.l-main {
    padding-top: 84px
}

@media screen and (width <= 768px) {
    .l-header~.l-main {
        padding-top: 4.5rem
    }
}

.l-header .c-container {
    width: 100%;
    padding: 0 40px;
    margin-inline:unset}

@media screen and (width <= 768px) {
    .l-header .c-container {
        padding: 0 1.25rem
    }
}

.l-header .l-header__frame {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 10;
    width: 100%;
    height: 100%;
    pointer-events: none;
    box-shadow: inset 0 0 #fff;
    transition: .4s;
    transform: translate(-50%,-50%)
}

.l-header .l-header__inner {
    display: flex;
    gap: 32px;
    align-items: center;
    justify-content: space-between
}

.l-header .l-header__logo {
    display: block;
    flex-shrink: 0;
    height: 48px;
    transition: .5s
}

.l-header .l-header__logo:hover {
    opacity: .6
}

.l-header .l-header__logo-link {
    display: block;
    width: auto;
    height: 100%
}

.l-header .l-header__logo-link img {
    width: auto;
    height: 100%
}

.l-header .l-header__nav {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: center
}

.l-header .l-header__nav-link {
    position: relative;
    z-index: 0;
    display: block;
    min-height: 38px;
    font-size: 1rem;
    font-weight: 700;
    color: #09090b;
    white-space: nowrap
}

@media screen and (width <= 768px) {
    .l-header .l-header__nav-link {
        display: none
    }
}

.l-header .l-header__nav-link--has-child:after {
    position: absolute;
    bottom: 0;
    left: calc(50% - 3px);
    display: block;
    width: 6px;
    height: 6px;
    content: "";
    background-color: #7b7f95;
    -webkit-mask-image: url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiPgogIDxwYXRoIGQ9Ik0zLjIyOTU2IDQuOTAwMWMtLjE1Mzk2LjI2NjY2LS41Mzg4Ni4yNjY2Ni0uNjkyODIgMEwuMDU0MTM4My42MDAwOTZDLS4wOTk4MjE4LjMzMzQzLjA5MjYyODQuMDAwMDk3My40MDA1NDguMDAwMDk3MjdsNC45NjUyMTItNC40ZS03Yy4zMDc5Mi0yZS04LjUwMDM3LjMzMzMzMzE3LjM0NjQxLjYwMDAwMDE3eiIvPgo8L3N2Zz4=);
    mask-image: url(data:image/svg+xml;base64,\ PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiPgogIDxwYXRoIGQ9Ik0zLjIyOTU2IDQuOTAwMWMtLjE1Mzk2LjI2NjY2LS41Mzg4Ni4yNjY2Ni0uNjkyODIgMEwuMDU0MTM4My42MDAwOTZDLS4wOTk4MjE4LjMzMzQzLjA5MjYyODQuMDAwMDk3My40MDA1NDguMDAwMDk3MjdsNC45NjUyMTItNC40ZS03Yy4zMDc5Mi0yZS04LjUwMDM3LjMzMzMzMzE3LjM0NjQxLjYwMDAwMDE3eiIvPgo8L3N2Zz4=);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

.l-header .l-header__buttons {
    display: flex;
    flex-shrink: 0
}

@media screen and (width <= 768px) {
    .l-header .l-header__buttons {
        display: none
    }
}

.l-header .l-header__button-item {
    flex: 1
}

.l-header .l-header__additional-items {
    position: absolute;
    clip-path: polygon(0 0,100% 0,100% 100%,0% 100%);
    transition: .3s
}

@media screen and (width <= 768px) {
    .l-header .l-header__additional-items {
        display: none
    }
}

.l-header .l-header__button-item:not(:hover) .l-header__additional-items {
    clip-path: polygon(0 0,100% 0,100% 0,0 0);
    pointer-events: none
}

.l-header-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    min-height: 48px;
    font-size: .875rem;
    font-weight: 500;
    color: #fff;
    background-color: #f39800;
    border-radius: 100vmax
}

@media screen and (width <= 768px) {
    .l-header-button {
        gap: .5rem;
        width: 5rem;
        min-width: unset;
        height: 2rem;
        min-height: unset;
        font-size: .75rem
    }
}

.l-header-button .c-icon {
    flex-shrink: 0
}

.l-header-button .l-header-button__inner {
    display: inline-flex;
    gap: 12px;
    align-items: center;
    text-decoration: underline;
    text-underline-offset: 3px
}

.c-menu-button {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 3.75rem;
    height: 3.75rem;
    padding-top: .3125rem;
    transition: .4s
}

.c-menu-button .c-menu-button__icon {
    position: relative;
    z-index: 0;
    width: 2.125rem;
    height: 2.125rem
}

.c-menu-button .c-menu-button__icon span {
    position: absolute;
    display: block;
    flex-shrink: 0;
    width: 2.125rem;
    height: .125rem;
    background-color: currentcolor;
    transition: .3s
}

.c-menu-button .c-menu-button__icon span:nth-child(1) {
    top: calc(50% - .3125rem);
    left: 0
}

.c-menu-button .c-menu-button__icon span:nth-child(2) {
    top: calc(50% + .3125rem);
    right: 0
}

.c-menu-button.is_open .c-menu-button__icon span:nth-child(1) {
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(45deg)
}

.c-menu-button.is_open .c-menu-button__icon span:nth-child(2) {
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(-45deg)
}

.c-menu-button .c-menu-button__menu-label {
    display: grid;
    grid-template-rows: 1fr;
    height: 13px;
    overflow: hidden
}

@media screen and (width <= 768px) {
    .c-menu-button .c-menu-button__menu-label {
        height: calc(100vw * 13 / 375)
    }
}

.c-menu-button .c-menu-button__label {
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
    color: #09215b;
    text-transform: uppercase;
    transition: .4s
}

@media screen and (width <= 768px) {
    .c-menu-button .c-menu-button__label {
        font-size: calc(100vw * 13 / 375)
    }
}

.c-menu-button.is_open .c-menu-button__label {
    transform: translateY(-100%)
}

.l-drawer {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10;
    width: 100%;
    height: 100%
}

.l-drawer:not(.is_open) {
    pointer-events: none
}

.l-drawer [data-active-page]:not(.is_active) {
    display: none
}

.l-drawer .l-drawer__overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%;
    background-color: #2e2e2e80;
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    opacity: 0;
    transition: .4s
}

.l-drawer .l-drawer__overlay--primary {
    background-color: #06316566;
    -webkit-backdrop-filter: unset;
    backdrop-filter: unset
}

.l-drawer.is_open .l-drawer__overlay {
    opacity: 1;
    transition: .2s .2s
}

.l-drawer .l-drawer__container {
    width: 900px;
    height: 100%;
    margin-left: auto;
    background-color: #fcfcfa;
    opacity: 0;
    transition: transform .4s linear,opacity .2s linear;
    transform: translate(40%)
}

@media screen and (width <= 768px) {
    .l-drawer .l-drawer__container {
        width: 19.5rem
    }
}

.l-drawer.is_open .l-drawer__container {
    opacity: 1;
    transform: translate(0)
}

.l-drawer .l-drawer__inner {
    height: 100%;
    overflow-y: scroll
}

.l-drawer .l-drawer__inner::-webkit-scrollbar {
    display: none
}

.l-drawer .l-drawer__close-button {
    position: absolute;
    top: 48px;
    right: 48px;
    display: grid;
    place-content: center;
    place-items: center;
    width: 56px;
    height: 56px;
    color: #383941;
    background-color: #fcfcfa;
    border: solid 1px #e4e5e9;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .l-drawer .l-drawer__close-button {
        top: 1rem;
        right: 1rem;
        width: 2rem;
        height: 2rem;
        border-width: .0625rem
    }
}

.l-drawer .l-drawer__close-button:before,.l-drawer .l-drawer__close-button:after {
    position: absolute;
    top: calc(50% - 1.5px);
    left: calc(50% - 12.5px);
    display: block;
    width: 25px;
    height: 3px;
    content: "";
    background-color: #004ea2
}

@media screen and (width <= 768px) {
    .l-drawer .l-drawer__close-button: before,.l-drawer .l-drawer__close-button:after {
        top:calc(50% - .0625rem);
        left: calc(50% - .5rem);
        width: 1rem;
        height: .125rem
    }
}

.l-drawer .l-drawer__close-button:before {
    transform: rotate(135deg)
}

.l-drawer .l-drawer__close-button:after {
    transform: rotate(-135deg)
}

.c-menu-list .c-menu-list__item {
    display: flex;
    gap: .5rem;
    align-items: center
}

.c-menu-list .c-menu-list__item:before {
    display: block;
    flex-shrink: 0;
    width: .375rem;
    height: .0625rem;
    content: "";
    background-color: #a7aab9
}

.c-menu-list .c-menu-list__item+.c-menu-list__item {
    margin-top: .5rem
}

.c-sp-menu {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    height: 100%;
    padding: .75rem 1.25rem 3.75rem
}

.c-sp-menu .c-sp-menu__logo {
    display: flex;
    justify-content: flex-start;
    height: 2.875rem
}

.c-sp-menu .c-sp-menu__logo-link {
    display: block;
    width: auto;
    height: 100%
}

.c-sp-menu .c-sp-menu__logo-link img {
    width: auto;
    height: 100%
}

.c-sp-menu .c-sp-menu__nav {
    display: flex;
    flex-direction: column;
    gap: 1rem
}

.c-sp-menu .c-sp-menu__nav-item {
    padding-bottom: .75rem;
    border-bottom: 1px solid #e4e5e9
}

.c-sp-menu .c-sp-menu__nav-link {
    display: block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1
}

.c-sp-menu .c-sp-menu__nav-link--sm {
    font-size: .875rem
}

.c-sp-menu .c-sp-menu__nav-link--child {
    font-size: .8125rem;
    font-weight: 500;
    color: #383941
}

.c-sp-menu .c-sp-menu__buttons {
    display: flex;
    flex-direction: column;
    gap: .5rem
}

.c-sp-menu-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 10rem;
    min-height: 3rem;
    font-size: .9375rem;
    color: #fff;
    background-color: #f39800;
    border-radius: 100vmax
}

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

.c-menu-accordion .c-menu-accordion__icon {
    position: relative;
    z-index: 0;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1rem;
    transition: .3s
}

.c-menu-accordion .c-menu-accordion__icon:before,.c-menu-accordion .c-menu-accordion__icon:after {
    position: absolute;
    display: block;
    width: 1rem;
    height: .125rem;
    content: "";
    background-color: currentcolor;
    transition: .3s
}

.c-menu-accordion .c-menu-accordion__icon:after {
    transform: rotate(90deg)
}

.c-menu-accordion .c-menu-accordion__icon.is_active:after {
    opacity: 0;
    transform: rotate(0)
}

.c-menu-accordion.is_active .c-menu-accordion__icon {
    transform: rotate(90deg)
}

.c-menu-accordion.is_active .c-menu-accordion__icon:before {
    opacity: 0
}

.c-menu-accordion .c-menu-accordion__body {
    margin-top: .75rem
}

.l-footer {
    position: relative;
    z-index: 0;
    padding: 80px 0 48px
}

@media screen and (width <= 768px) {
    .l-footer {
        padding: 2rem 0 1.5rem
    }
}

.l-footer .l-footer__flowing {
    position: absolute;
    bottom: 0;
    left: 0;
    font-family: Roboto,sans-serif;
    font-size: 170px;
    font-weight: 700;
    line-height: 1;
    color: #004ea2;
    pointer-events: none;
    opacity: .1
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__flowing {
        font-size: 5rem
    }
}

.l-footer .l-footer__flowing:before,.l-footer .l-footer__flowing:after {
    position: relative;
    bottom: -40px
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__flowing: before,.l-footer .l-footer__flowing:after {
        bottom:-1.25rem
    }
}

.l-footer .l-footer__inner {
    display: flex;
    gap: 82px;
    align-items: flex-start;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__inner {
        flex-direction: column;
        gap: 2.5rem
    }
}

.l-footer .l-footer__col {
    --gap: 24px;
    display: flex;
    gap: var(--gap)
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__col {
        --gap: 1rem;
        flex-direction: column;
        align-self: stretch
    }
}

.l-footer .l-footer__col--colmun {
    flex-direction: column
}

.l-footer .l-footer__col--logo {
    --gap: 40px
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__col--logo {
        --gap: 1.5rem
    }
}

.l-footer .l-footer__col--nav {
    grid-area: nav
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__col--nav {
        --gap: 1.5rem
    }
}

.l-footer .l-footer__col--copyright {
    grid-area: copy
}

.l-footer .l-footer__container-mobile {
    display: grid;
    grid-template-areas: "nav button" "copy copy";
    grid-template-columns: auto 1fr;
    gap: 2.625rem 1.5rem
}

@media screen and (width >= 769px) {
    .l-footer .l-footer__container-mobile {
        display: contents
    }
}

.l-footer .l-footer__logo {
    display: block;
    width: 200px
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__logo {
        width: 12.5rem
    }
}

.l-footer .l-footer__logo img {
    width: 100%
}

.l-footer .l-footer__nav-col {
    display: flex;
    flex-direction: column;
    gap: 32px
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__nav-col {
        display: contents;
        gap: 2rem
    }
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__nav-col--contact {
        display: flex;
        margin-top: 1rem
    }
}

.l-footer .l-footer__nav-item {
    display: flex;
    flex-direction: column
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__nav-item {
        padding-bottom: .75rem;
        border-bottom: 1px solid #e4e5e9
    }
}

.l-footer .l-footer__nav-label {
    font-size: 14px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__nav-label {
        font-size: 1rem
    }
}

.l-footer .l-footer__nav-label[target=_blank]:after {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin-left: 5px;
    vertical-align: middle;
    content: "";
    background-color: currentcolor;
    -webkit-mask-image: url(../../assets/img/common/icon_external-01.png);
    mask-image: url(../../assets/img/common/icon_external-01.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__nav-label[target=_blank]: after {
        width:.75rem;
        height: .75rem;
        margin-left: .25rem
    }
}

.l-footer .l-footer__nav-link {
    font-size: 13px;
    font-weight: 500;
    color: #383941
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__nav-link {
        font-size: .8125rem
    }
}

.l-footer .l-footer__buttons {
    display: flex;
    justify-content: flex-end
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__buttons {
        align-items: flex-end
    }
}

.l-footer .l-footer__link {
    align-self: start;
    font-size: 12px;
    font-weight: 400;
    color: #383941;
    text-decoration: underline;
    text-underline-offset: 2px
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__link {
        font-size: .75rem;
        text-underline-offset: .125rem
    }
}

.l-footer .l-footer__copyright {
    font-size: 14px;
    font-weight: 400;
    color: #383941
}

@media screen and (width <= 768px) {
    .l-footer .l-footer__copyright {
        font-size: .75rem
    }
}

.l-footer .l-footer__footer {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.l-footer-accordion .l-footer-accordion__header {
    display: flex;
    justify-content: space-between;
    width: 100%
}

.l-footer-accordion .l-footer-accordion__icon {
    position: relative;
    z-index: 0;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 1rem;
    transition: .3s
}

@media screen and (width >= 769px) {
    .l-footer-accordion .l-footer-accordion__icon {
        display: none
    }
}

.l-footer-accordion .l-footer-accordion__icon:before,.l-footer-accordion .l-footer-accordion__icon:after {
    position: absolute;
    display: block;
    width: 1rem;
    height: .125rem;
    content: "";
    background-color: currentcolor;
    transition: .3s
}

.l-footer-accordion .l-footer-accordion__icon:after {
    transform: rotate(90deg)
}

.l-footer-accordion .l-footer-accordion__icon.is_active:after {
    opacity: 0;
    transform: rotate(0)
}

.l-footer-accordion.is_active .l-footer-accordion__icon {
    transform: rotate(90deg)
}

.l-footer-accordion.is_active .l-footer-accordion__icon:before {
    opacity: 0
}

.l-footer-accordion .l-footer-accordion__body {
    display: flex;
    gap: 32px;
    align-items: flex-start;
    margin-top: 8px
}

@media screen and (width <= 768px) {
    .l-footer-accordion .l-footer-accordion__body {
        gap: 1.5rem;
        margin-top: 1rem
    }
}

.l-footer-pagetop {
    display: flex;
    gap: 16px;
    align-items: center
}

@media screen and (width <= 768px) {
    .l-footer-pagetop {
        gap: 1rem
    }
}

.l-footer-pagetop .l-footer-pagetop__label {
    font-family: Roboto,sans-serif;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .l-footer-pagetop .l-footer-pagetop__label {
        font-size: .875rem
    }
}

.l-footer-pagetop .l-footer-pagetop__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 47px;
    height: 47px;
    color: #fff;
    background-color: #09090b;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .l-footer-pagetop .l-footer-pagetop__icon {
        width: 2.9375rem;
        height: 2.9375rem
    }
}

.l-footer-pagetop .l-footer-pagetop__icon .c-icon {
    width: 12px;
    height: 12px
}

@media screen and (width <= 768px) {
    .l-footer-pagetop .l-footer-pagetop__icon .c-icon {
        width: .75rem;
        height: .75rem
    }
}

.l-footer-social-list {
    display: flex;
    gap: 16px
}

.l-footer-social-list .l-footer-social-list__item a {
    display: flex
}

.c-heading {
    color: #004ea2
}

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

.c-heading .c-heading__inner {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: flex-start
}

@media screen and (width <= 768px) {
    .c-heading .c-heading__inner {
        gap: .25rem
    }
}

.c-heading--center .c-heading__inner {
    align-items: center;
    text-align: center
}

@media screen and (width >= 769px) {
    .c-heading--pc-center .c-heading__inner {
        align-items: center;
        text-align: center
    }
}

.c-heading .c-heading__subtitle {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-heading .c-heading__subtitle {
        gap: .5rem;
        font-size: .9375rem
    }
}

.c-heading .c-heading__subtitle:before {
    display: inline-block;
    width: 10px;
    height: 10px;
    content: "";
    background-color: #f39800;
    -webkit-mask-image: url(../../assets/img/common/icon_heading-01.png);
    mask-image: url(../../assets/img/common/icon_heading-01.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media screen and (width <= 768px) {
    .c-heading .c-heading__subtitle: before {
        width:.625rem;
        height: .625rem
    }
}

.c-heading .c-heading__title {
    font-size: 46px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-heading .c-heading__title {
        font-size: 1.5rem
    }
}

.c-heading--title-md .c-heading__title {
    font-size: 32px
}

@media screen and (width <= 768px) {
    .c-heading--title-md .c-heading__title {
        font-size: 1.5rem
    }
}

.c-heading .c-heading__caption {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-heading .c-heading__caption {
        margin-top: .75rem;
        font-size: .875rem;
        font-weight: 700
    }
}

.c-heading-md {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .c-heading-md {
        font-size: 1.375rem
    }
}

.c-heading-sm {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .c-heading-sm {
        font-size: 1.375rem
    }
}

.c-container {
    --gap: 48px;
    --margin: 20px;
    --container: 1200px;
    display: grid;
    gap: var(--gap);
    margin-inline:max(var(--margin),(100% - var(--container)) / 2)}

@media screen and (width <= 768px) {
    .c-container {
        --gap: 1.5rem;
        --margin: 1.25rem
    }
}

.c-container--split {
    grid-template-columns: auto 1fr;
    align-items: flex-start
}

@media screen and (width <= 768px) {
    .c-container--split {
        grid-template-columns: 1fr
    }
}

.c-container--split-reverse {
    grid-template-columns: 1fr 400px;
    align-items: flex-start
}

@media screen and (width <= 768px) {
    .c-container--split-reverse {
        grid-template-columns: 1fr
    }
}

.c-container--lg {
    margin-inline:max(var(--margin),(100% - 1440px) / 2)}

.c-container--md {
    --container: 900px;
    --gap: 32px
}

@media screen and (width <= 768px) {
    .c-container--md {
        --gap: 1.5rem
    }
}

.c-icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-color: currentcolor;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media screen and (width <= 768px) {
    .c-icon {
        width: 1.5rem;
        height: 1.5rem
    }
}

.c-icon--xxs {
    width: 10px;
    height: 10px
}

@media screen and (width <= 768px) {
    .c-icon--xxs {
        width: .625rem;
        height: .625rem
    }
}

.c-icon--xs {
    width: 16px;
    height: 16px
}

@media screen and (width <= 768px) {
    .c-icon--xs {
        width: 1rem;
        height: 1rem
    }
}

.c-icon--sm {
    width: 18px;
    height: 18px
}

@media screen and (width <= 768px) {
    .c-icon--sm {
        width: 1.125rem;
        height: 1.125rem
    }
}

.c-icon--lg {
    width: 32px;
    height: 32px
}

@media screen and (width <= 768px) {
    .c-icon--lg {
        width: 2rem;
        height: 2rem
    }
}

.c-icon--mail {
    -webkit-mask-image: url(../../assets/img/common/icon_mail-01.png);
    mask-image: url(../../assets/img/common/icon_mail-01.png)
}

.c-icon--home {
    -webkit-mask-image: url(../../assets/img/common/icon_home-01.png);
    mask-image: url(../../assets/img/common/icon_home-01.png)
}

.c-icon--x {
    -webkit-mask-image: url(../../assets/img/common/icon_x-01.png);
    mask-image: url(../../assets/img/common/icon_x-01.png)
}

.c-icon--facebook {
    -webkit-mask-image: url(../../assets/img/common/icon_facebook-01.png);
    mask-image: url(../../assets/img/common/icon_facebook-01.png)
}

.c-icon--youtube {
    -webkit-mask-image: url(../../assets/img/common/icon_youtube-01.png);
    mask-image: url(../../assets/img/common/icon_youtube-01.png)
}

.c-icon--external {
    -webkit-mask-image: url(../../assets/img/common/icon_external-01.png);
    mask-image: url(../../assets/img/common/icon_external-01.png)
}

.c-icon--download {
    -webkit-mask-image: url(../../assets/img/common/icon_download-01.png);
    mask-image: url(../../assets/img/common/icon_download-01.png)
}

.c-icon--arrow {
    -webkit-mask-image: url(../../assets/img/common/icon_arrow-right-01.png);
    mask-image: url(../../assets/img/common/icon_arrow-right-01.png)
}

.c-icon--arrow-bottom {
    -webkit-mask-image: url(../../assets/img/common/icon_arrow-right-01.png);
    mask-image: url(../../assets/img/common/icon_arrow-right-01.png);
    transform: rotate(90deg)
}

.c-icon--arrow-top {
    -webkit-mask-image: url(../../assets/img/common/icon_arrow-top-01.png);
    mask-image: url(../../assets/img/common/icon_arrow-top-01.png)
}

.c-icon--arrow-breadcrumb {
    -webkit-mask-image: url(../../assets/img/common/icon_arrow-breadcrumb-01.png);
    mask-image: url(../../assets/img/common/icon_arrow-breadcrumb-01.png)
}

.c-icon--ellipsis {
    -webkit-mask-image: url(../../assets/img/common/icon_ellipsis-01.png);
    mask-image: url(../../assets/img/common/icon_ellipsis-01.png)
}

.c-icon-pdf {
    display: inline-flex;
    width: 20px;
    height: 20px;
    background-color: #e31e24;
    border-radius: 2px
}

@media screen and (width <= 768px) {
    .c-icon-pdf {
        width: 1.25rem;
        height: 1.25rem;
        border-radius: .125rem
    }
}

.c-icon-pdf:before {
    display: inline-block;
    width: 20px;
    height: 20px;
    content: "";
    background-color: #fff;
    -webkit-mask-image: url(../../assets/img/common/icon_pdf-01.png);
    mask-image: url(../../assets/img/common/icon_pdf-01.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media screen and (width <= 768px) {
    .c-icon-pdf: before {
        width:1.25rem;
        height: 1.25rem
    }
}

.c-adobe-reader {
    display: flex;
    gap: 24px;
    align-items: center
}

@media screen and (width <= 768px) {
    .c-adobe-reader {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start
    }
}

.c-adobe-reader .c-adobe-reader__logo {
    flex-shrink: 0;
    width: 200px
}

@media screen and (width <= 768px) {
    .c-adobe-reader .c-adobe-reader__logo {
        width: 12.5rem
    }
}

.c-adobe-reader .c-adobe-reader__text {
    flex-grow: 1;
    font-size: 14px;
    color: #3d3d3d
}

@media screen and (width <= 768px) {
    .c-adobe-reader .c-adobe-reader__text {
        font-size: .875rem
    }
}

.c-list .c-list__item {
    display: flex;
    gap: 8px;
    align-items: center
}

@media screen and (width <= 768px) {
    .c-list .c-list__item {
        gap: .5rem
    }
}

.c-list .c-list__item:before {
    display: block;
    flex-shrink: 0;
    width: 6px;
    height: 1px;
    content: "";
    background-color: #a7aab9
}

@media screen and (width <= 768px) {
    .c-list .c-list__item: before {
        width:.375rem;
        height: .0625rem
    }
}

.c-list .c-list__item+.c-list__item {
    margin-top: 8px
}

@media screen and (width <= 768px) {
    .c-list .c-list__item+.c-list__item {
        margin-top: .5rem
    }
}

.c-ir-list {
    display: flex;
    flex-wrap: wrap
}

.c-ir-list .c-ir-list__item {
    display: flex;
    width: 33.3333333333%;
    border-top: 1px solid #e4e5e9;
    border-left: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .c-ir-list .c-ir-list__item {
        width: 100%;
        border-top-width: .0625rem;
        border-left-width: .0625rem
    }
}

.c-article-list .c-article-list__item {
    padding: 24px 0;
    border-bottom: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .c-article-list .c-article-list__item {
        padding: 1rem 0
    }
}

.c-article-list .c-article-list__item:first-child {
    border-top: 1px solid #e4e5e9
}

.c-info-list .c-info-list__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px
}

@media screen and (width <= 768px) {
    .c-info-list .c-info-list__item {
        gap: .75rem
    }
}

.c-info-list .c-info-list__item:before {
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-top: calc(.5lh - 3px);
    content: "";
    background-color: #cbcdd6;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .c-info-list .c-info-list__item: before {
        width:.375rem;
        height: .375rem;
        margin-top: calc(.5lh - .1875rem)
    }
}

.c-info-list .c-info-list__item+.c-info-list__item {
    margin-top: 8px
}

@media screen and (width <= 768px) {
    .c-info-list .c-info-list__item+.c-info-list__item {
        margin-top: .5rem
    }
}

.c-list-disc {
    padding-left: 26px;
    list-style: disc
}

@media screen and (width <= 768px) {
    .c-list-disc {
        padding-left: 1.25rem
    }
}

.c-flowing-text {
    display: flex;
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
    will-change: transform;
    backface-visibility: hidden
}

.c-flowing-text:before,.c-flowing-text:after {
    display: inline-block;
    flex-shrink: 0;
    content: attr(data-text)
}

.c-flowing-text:before {
    animation: flowing-text-before 50s -25s linear infinite
}

.c-flowing-text:after {
    animation: flowing-text-after 50s linear infinite
}

@keyframes flowing-text-before {
    0% {
        transform: translate(100%)
    }

    to {
        transform: translate(calc(-100% - 1em))
    }
}

@keyframes flowing-text-after {
    0% {
        transform: translate(0)
    }

    to {
        transform: translate(calc(-200% - 1em))
    }
}

.c-button {
    --color: #004ea2;
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 330px;
    min-height: 80px;
    padding: 24px 24px 24px 32px;
    font-size: 16px;
    font-weight: 500;
    color: #fcfcfa;
    background-color: var(--color);
    border-radius: 100vmax
}

@media screen and (width <= 768px) {
    .c-button {
        min-width: 16.375rem;
        min-height: 3.9375rem;
        padding: 1rem 1rem 1rem 2rem;
        font-size: .9375rem
    }
}

.c-button--sm {
    min-width: 260px;
    min-height: 52px;
    padding: 16px 16px 16px 24px;
    font-size: 15px
}

@media screen and (width <= 768px) {
    .c-button--sm {
        min-width: 16.375rem;
        min-height: 3.25rem;
        padding: .5rem 1rem .5rem 1.5rem;
        font-size: .9375rem
    }
}

.c-button--xs {
    min-width: 206px;
    min-height: 50px;
    padding: 16px 16px 16px 24px;
    font-size: 15px
}

@media screen and (width <= 768px) {
    .c-button--xs {
        min-width: 13.75rem;
        min-height: 3.25rem;
        padding: .5rem 1rem .5rem 1.5rem;
        font-size: .9375rem
    }
}

.c-button--accent {
    --color: #f39800;
    min-width: 360px;
    min-height: 80px;
    padding: 20px 24px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .c-button--accent {
        min-width: unset;
        min-height: 3.875rem;
        padding: 1rem 1.5rem;
        font-size: .875rem
    }
}

.c-button--outline {
    font-weight: 700;
    color: #004ea2;
    background-color: transparent;
    border: solid 1px var(--color)
}

@media screen and (width <= 768px) {
    .c-button--outline {
        border-width: .0625rem
    }
}

.c-button--white {
    --color: #fcfcfa;
    color: #004ea2
}

.c-button--white-outline {
    --color: #fcfcfa;
    font-weight: 700;
    background-color: transparent;
    border: solid 1px var(--color)
}

@media screen and (width <= 768px) {
    .c-button--white-outline {
        border-width: .0625rem
    }
}

.c-button .c-button__icon-plus {
    display: grid;
    place-content: center;
    place-items: center
}

.c-button .c-button__icon-plus:before,.c-button .c-button__icon-plus:after {
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 5px);
    display: block;
    width: 10px;
    height: 2px;
    content: "";
    background-color: #fcfcfa;
    border-radius: 100vmax;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-button .c-button__icon-plus: before,.c-button .c-button__icon-plus:after {
        top:calc(50% - .0625rem);
        left: calc(50% - .3125rem);
        width: .625rem;
        height: .125rem
    }
}

.c-button .c-button__icon-plus:after {
    transform: rotate(90deg)
}

.c-button.is_active .c-button__icon-plus:before,.c-button.is_active .c-button__icon-plus:after {
    transform: rotate(180deg)
}

.c-button .c-icon {
    flex-shrink: 0
}

.c-button .c-button__inner {
    display: flex;
    gap: 20px;
    align-items: center;
    align-self: stretch;
    text-decoration: underline;
    text-underline-offset: 3px
}

@media screen and (width <= 768px) {
    .c-button .c-button__inner {
        gap: 1.25rem;
        text-underline-offset: .1875rem
    }
}

.c-button .c-button__icon {
    position: relative;
    z-index: 0;
    display: flex;
    flex-shrink: 0;
    align-items: center
}

.c-button .c-button__icon--before {
    justify-content: flex-start;
    width: 40px;
    height: 40px;
    border-right: 1px solid #fcfcfa
}

@media screen and (width <= 768px) {
    .c-button .c-button__icon--before {
        width: 2.5rem;
        height: 1.9375rem;
        border-right-width: .0625rem
    }
}

.c-button .c-button__icon--after {
    justify-content: center;
    width: 21px;
    height: 21px;
    margin-left: auto;
    background-color: #fcfcfa;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .c-button .c-button__icon--after {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

.c-button .c-button__icon--after .c-icon {
    width: 10px;
    height: 10px;
    background-color: var(--color)
}

@media screen and (width <= 768px) {
    .c-button .c-button__icon--after .c-icon {
        width: .625rem;
        height: .625rem
    }
}

.c-button--arrow-up-right .c-button__icon--after {
    transform: rotate(-45deg)
}

.c-button--outline .c-button__icon--after {
    background-color: var(--color)
}

.c-button--outline .c-button__icon--after .c-icon {
    background-color: #fcfcfa
}

.c-button--white-outline .c-button__icon--after .c-icon,.c-button--white .c-button__icon--after {
    background-color: #004ea2
}

.c-button--white .c-button__icon--after .c-icon {
    background-color: var(--color)
}

.c-category-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 106px;
    min-height: 45px;
    padding: 4px 16px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    background-color: #e4e5e9;
    border: unset;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .c-category-button {
        min-width: 4rem;
        min-height: 2.5rem;
        padding: .25rem 1rem;
        font-size: .8125rem
    }
}

.c-category-button.is_active {
    color: #fff;
    background-color: #09090b
}

.c-section-links .c-section-links__list {
    display: flex;
    flex-wrap: wrap;
    gap: 0 48px;
    align-items: center;
    justify-content: center;
    padding: 0 24px;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .c-section-links .c-section-links__list {
        gap: 1.5625rem;
        padding: 1rem 1.25rem
    }
}

.c-section-links .c-section-links__item {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    width: calc((100% - 96px) / 3);
    min-height: 60px;
    padding: 8px 0
}

@media screen and (width <= 768px) {
    .c-section-links .c-section-links__item {
        width: 100%;
        min-height: unset;
        padding: unset
    }
}

.c-section-links .c-section-links__item:not(:first-child):before {
    position: absolute;
    top: calc(50% - 12px);
    left: -24px;
    display: block;
    width: 1px;
    height: 24px;
    content: "";
    background-color: #e4e5e9
}

@media screen and (width <= 768px) {
    .c-section-links .c-section-links__item: not(:first-child):before {
        top:-.78125rem;
        left: 0;
        width: 100%;
        height: .0625rem
    }
}

@media screen and (width >= 769px) {
    .c-section-links .c-section-links__item: nth-child(3n+1):before {
        content:none
    }
}

.c-section-links .c-section-links__link {
    display: flex;
    flex-grow: 1;
    align-items: center;
    justify-content: space-between;
    font-size: 15px;
    font-weight: 500;
    color: #004ea2;
    text-align: center
}

@media screen and (width <= 768px) {
    .c-section-links .c-section-links__link {
        font-size: .9375rem
    }
}

.c-section-links .c-section-links__icon {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    background-color: #fcfcfa;
    border: solid 1px #e4e5e9;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .c-section-links .c-section-links__icon {
        width: 1.3125rem;
        height: 1.3125rem;
        border-width: .0625rem
    }
}

.c-share-button {
    display: flex;
    gap: 20px
}

@media screen and (width <= 768px) {
    .c-share-button {
        gap: 1.25rem
    }
}

.c-share-button .c-share-button__link {
    display: block;
    width: 24px
}

@media screen and (width <= 768px) {
    .c-share-button .c-share-button__link {
        width: 1.5rem
    }
}

.c-cta {
    padding: 80px 0;
    color: #fff;
    background-color: #1f1f1f
}

@media screen and (width <= 768px) {
    .c-cta {
        padding: 2.5rem 0
    }
}

.c-cta .c-cta__inner {
    display: flex;
    gap: 80px;
    align-items: center;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .c-cta .c-cta__inner {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start
    }
}

.c-cta .c-cta__title {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.c-cta .c-cta__title-ja {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-cta .c-cta__title-ja {
        font-size: 1.5rem
    }
}

.c-cta .c-cta__title-en {
    font-family: Roboto,sans-serif;
    font-size: 16px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .c-cta .c-cta__title-en {
        font-size: 1rem
    }
}

.c-cta .c-cta__caption {
    flex-grow: 1;
    font-size: 15px
}

@media screen and (width <= 768px) {
    .c-cta .c-cta__caption {
        font-size: .875rem
    }
}

@media screen and (width <= 768px) {
    .c-cta .c-cta__button {
        align-self: stretch;
        margin-top: 1rem
    }
}

@media screen and (width <= 768px) {
    .c-cta .c-cta__button .c-button {
        width: 100%
    }
}

.c-cta-ir {
    padding: 80px 0;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .c-cta-ir {
        padding: 2.5rem 0
    }
}

.c-cta-ir .c-ir-list {
    background-color: #fff
}

.c-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
    color: #fcfcfa;
    background-color: #063165;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .c-badge {
        min-height: 1.5rem;
        padding: .25rem .75rem;
        font-size: .75rem;
        border-radius: .25rem
    }
}

.c-breadcrumb {
    border-top: 1px solid #e4e5e9
}

.c-breadcrumb .c-breadcrumb__list {
    display: flex;
    gap: 8px;
    align-items: center;
    padding: 16px 0;
    overflow-x: scroll
}

@media screen and (width <= 768px) {
    .c-breadcrumb .c-breadcrumb__list {
        gap: .5rem;
        padding: .75rem 0
    }
}

.c-breadcrumb .c-breadcrumb__list::-webkit-scrollbar {
    display: none
}

.c-breadcrumb .c-breadcrumb__list-item {
    display: flex;
    flex-shrink: 0;
    gap: 8px;
    align-items: center
}

@media screen and (width <= 768px) {
    .c-breadcrumb .c-breadcrumb__list-item {
        gap: .25rem
    }
}

.c-breadcrumb .c-breadcrumb__list-item .c-icon {
    display: inline-flex
}

@media screen and (width <= 768px) {
    .c-breadcrumb .c-breadcrumb__list-item .c-icon {
        width: .875rem;
        height: .875rem
    }
}

.c-breadcrumb .c-breadcrumb__list-item:not(:first-child):before {
    display: block;
    width: 3.5px;
    height: 6px;
    content: "";
    background-color: #7b7f95;
    -webkit-mask-image: url(../../assets/img/common/icon_arrow-breadcrumb-01.png);
    mask-image: url(../../assets/img/common/icon_arrow-breadcrumb-01.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

.c-breadcrumb .c-breadcrumb__link-text {
    display: inline-flex;
    font-size: 12px;
    line-height: 1.5;
    color: #383941
}

@media screen and (width <= 768px) {
    .c-breadcrumb .c-breadcrumb__link-text {
        font-size: .6875rem
    }
}

.c-breadcrumb a.c-breadcrumb__link-text {
    color: #004ea2;
    text-decoration: underline;
    text-underline-offset: 2px
}

@media screen and (width <= 768px) {
    .c-breadcrumb a.c-breadcrumb__link-text {
        text-underline-offset: .125rem
    }
}

.c-lower {
    position: relative;
    z-index: 0;
    display: flex;
    align-items: center;
    min-height: 200px
}

@media screen and (width <= 768px) {
    .c-lower {
        min-height: 8.125rem
    }
}

.c-lower--lg {
    min-height: 250px
}

@media screen and (width <= 768px) {
    .c-lower--lg {
        min-height: 11.25rem
    }
}

.c-lower .c-container {
    width: 100%
}

.c-lower .c-lower__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

.c-lower .c-lower__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.c-lower .c-lower__bg-text {
    position: absolute;
    top: 50%;
    z-index: -1;
    display: flex;
    align-items: flex-start;
    font-family: Roboto,sans-serif;
    font-size: 170px;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    letter-spacing: 0;
    opacity: .2;
    transform: translateY(-50%)
}

@media screen and (width <= 768px) {
    .c-lower .c-lower__bg-text {
        font-size: 3.75rem
    }
}

.c-lower .c-lower__bg-text:before {
    display: block;
    width: 22px;
    height: 22px;
    content: "";
    background-color: currentcolor;
    -webkit-mask-image: url(../../assets/img/common/icon_heading-01.png);
    mask-image: url(../../assets/img/common/icon_heading-01.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

.c-lower .c-lower__title {
    font-size: 40px;
    font-weight: 500;
    line-height: 1.5;
    color: #004ea2;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .c-lower .c-lower__title {
        font-size: 1.5rem
    }
}

.c-lower--lg .c-lower__title {
    font-size: 50px
}

@media screen and (width <= 768px) {
    .c-lower--lg .c-lower__title {
        font-size: 2rem
    }
}

.c-tab .c-tab__buttons {
    display: flex;
    gap: 20px
}

@media screen and (width <= 768px) {
    .c-tab .c-tab__buttons {
        gap: .625rem
    }
}

.c-tab .c-tab__button {
    position: relative;
    z-index: 0;
    flex-grow: 1;
    min-height: 56px;
    padding: 16px 12px;
    background-color: #f4f5f7;
    border-top: 1px solid #cbcdd6;
    border-right: 1px solid #cbcdd6;
    border-left: 1px solid #cbcdd6;
    border-radius: 4px 4px 0 0;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-tab .c-tab__button {
        min-height: 3.125rem;
        padding: .75rem .5rem
    }
}

.c-tab .c-tab__button:before {
    position: absolute;
    inset: 0 0 calc(100% - 3px) 0;
    content: "";
    background-color: #004ea2;
    border-radius: 4px 4px 0 0;
    opacity: 0;
    transition: .3s
}

.c-tab .c-tab__button.is_active {
    background-color: #fff
}

.c-tab .c-tab__button.is_active:before {
    opacity: 1
}

.c-tab .c-tab__label {
    display: block;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    text-align: center
}

@media screen and (width <= 768px) {
    .c-tab .c-tab__label {
        font-size: .875rem
    }
}

.c-tab .c-tab__content {
    position: relative;
    z-index: 0;
    display: grid;
    grid-template-areas: "content";
    margin-top: 24px
}

@media screen and (width <= 768px) {
    .c-tab .c-tab__content {
        margin-top: 1.5rem
    }
}

.c-tab .c-tab__container {
    grid-area: content;
    width: 100%
}

.c-tab .c-tab__container:not(.is_active) {
    pointer-events: none;
    opacity: 0
}

.c-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 24px 26px
}

@media screen and (width <= 768px) {
    .c-card {
        gap: .75rem;
        padding: 1rem 1.25rem
    }
}

.c-card .c-card__img {
    overflow: hidden;
    border-radius: 8px;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-card .c-card__img {
        border-radius: .25rem
    }
}

.c-card .c-card__img img {
    width: 100%
}

.c-card .c-card__link {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .c-card .c-card__link {
        gap: .75rem
    }
}

.c-card a.c-card__link:hover .c-card__img {
    opacity: .7
}

.c-card a.c-card__link:hover .c-card__title {
    text-decoration: underline
}

.c-card .c-card__icon {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    background-color: #004ea2;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .c-card .c-card__icon {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

.c-card .c-card__icon .c-icon {
    width: 9px;
    height: 9px;
    color: #fff
}

@media screen and (width <= 768px) {
    .c-card .c-card__icon .c-icon {
        width: .5625rem;
        height: .5625rem
    }
}

.c-card .c-card__title {
    display: flex;
    gap: 12px;
    align-items: center;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-card .c-card__title {
        gap: .5rem;
        font-size: 1rem
    }
}

.c-card .c-card__body {
    flex-grow: 1;
    padding: 20px;
    background-color: #fff;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .c-card .c-card__body {
        padding: 1rem 1.25rem
    }
}

.c-card .c-card__list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .c-card .c-card__list {
        gap: .5rem .75rem
    }
}

.c-card .c-card__list-item {
    display: flex;
    gap: 8px;
    align-items: center;
    font-size: 14px;
    font-weight: 500
}

@media screen and (width <= 768px) {
    .c-card .c-card__list-item {
        gap: .25rem;
        font-size: .875rem
    }
}

.c-card .c-card__list-item:before {
    width: 6px;
    height: 6px;
    content: "";
    background-color: currentcolor;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .c-card .c-card__list-item: before {
        width:.375rem;
        height: .375rem
    }
}

.c-card .c-card__list-item a:hover {
    text-decoration: underline;
    text-underline-offset: 2px
}

@media screen and (width <= 768px) {
    .c-card .c-card__list-item a: hover {
        text-underline-offset:.125rem
    }
}

.c-article {
    display: flex;
    gap: 16px 24px
}

@media screen and (width <= 768px) {
    .c-article {
        gap: 1rem
    }
}

.c-article .c-article__inner {
    display: flex;
    flex-direction: column;
    gap: 16px 24px
}

@media screen and (width <= 768px) {
    .c-article .c-article__inner {
        flex-direction: column;
        gap: .5rem;
        align-items: flex-start
    }
}

.c-article--row .c-article__inner {
    flex-direction: row;
    align-items: center
}

@media screen and (width <= 768px) {
    .c-article--row .c-article__inner {
        flex-direction: column;
        align-items: flex-start;
        gap: .5rem
    }
}

.c-article .c-article__date {
    flex-shrink: 0;
    width: 82px;
    font-family: Roboto,sans-serif;
    line-height: 1;
    color: #60637a
}

@media screen and (width <= 768px) {
    .c-article .c-article__date {
        width: auto
    }
}

.c-article .c-article__meta {
    display: flex;
    flex-shrink: 0;
    gap: 12px;
    align-items: center
}

.c-article .c-article__body {
    flex-grow: 1
}

.c-article .c-article__arrow {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    margin: auto 0 auto auto;
    color: #004ea2;
    background-color: #f4f5f7;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .c-article .c-article__arrow {
        width: 2.5rem;
        height: 2.5rem
    }
}

.c-article .c-article__title {
    font-size: 16px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .c-article .c-article__title {
        margin-right: .25rem;
        font-size: 1rem
    }
}

.c-article .c-article__pdf {
    display: inline;
    margin-left: 8px;
    vertical-align: middle
}

@media screen and (width <= 768px) {
    .c-article .c-article__pdf {
        display: inline;
        margin-left: .5rem
    }
}

.c-article .c-article__pdf .c-icon-pdf {
    margin-right: 8px
}

@media screen and (width <= 768px) {
    .c-article .c-article__pdf .c-icon-pdf {
        margin-right: .5rem
    }
}

.c-article .c-article__filesize {
    font-size: 14px;
    font-weight: 400
}

@media screen and (width <= 768px) {
    .c-article .c-article__filesize {
        font-size: .875rem
    }
}

.c-table-container {
    overflow-x: auto;
    contain: inline-size
}

@media screen and (width <= 768px) {
    .c-table-container {
        width: calc(100% + var(--margin) * 2);
        padding: 0 var(--margin) .5rem;
        margin-left: calc(var(--margin) * -1)
    }
}

.c-table-container::-webkit-scrollbar {
    width: 4px;
    height: 4px;
    background-color: transparent
}

@media screen and (width <= 768px) {
    .c-table-container: :-webkit-scrollbar {
        width:.25rem;
        height: .25rem
    }
}

.c-table-container::-webkit-scrollbar-track {
    background-color: #fff
}

.c-table-container::-webkit-scrollbar-thumb {
    background-color: #cbcdd6
}

.c-table {
    width: 100%;
    font-size: 14px;
    line-height: 1.5;
    color: #09090b;
    text-align: right;
    border-collapse: collapse
}

.c-table--align-left {
    text-align: left
}

.c-table--fixed {
    table-layout: fixed
}

@media screen and (width >= 769px) {
    .c-table--fixed-pc {
        table-layout: fixed
    }
}

@media screen and (width <= 768px) {
    .c-table {
        width: 100%;
        font-size: .75rem
    }
}

.c-table th,.c-table td {
    padding: 12px;
    border: 1px solid #cbcdd6
}

@media screen and (width <= 768px) {
    .c-table th,.c-table td {
        min-width: 6.25rem;
        padding: .5rem .75rem;
        border-width: .0625rem
    }
}

.c-table th {
    font-weight: 400;
    vertical-align: middle;
    background-color: #f4f5f7
}

.c-table thead th {
    text-align: center
}

.c-table .c-table__cell-md {
    width: 180px
}

@media screen and (width <= 768px) {
    .c-table .c-table__cell-md {
        min-width: 6.25rem
    }
}

.c-table .c-table__cell-lg {
    width: 270px
}

@media screen and (width <= 768px) {
    .c-table .c-table__cell-lg {
        min-width: 7.5rem
    }
}

.c-table .c-table__cell-xl {
    width: 300px
}

@media screen and (width <= 768px) {
    .c-table .c-table__cell-xl {
        min-width: 8.75rem
    }
}

.c-select {
    display: block;
    width: 100%;
    padding: 10px 16px;
    font-size: 14px;
    font-weight: 700;
    background-color: #fcfcfa;
    background-image: url(../../assets/img/common/icon_arrow-select-01.png);
    background-repeat: no-repeat;
    background-position: right 10px center;
    background-size: 10px;
    border-radius: 4px;
    outline: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .c-select {
        padding: .625rem 1rem;
        font-size: .875rem;
        background-size: .625rem;
        outline-width: .0625rem
    }
}

.c-select:focus {
    outline: 1px solid #004ea2
}

@media screen and (width <= 768px) {
    .c-select: focus {
        outline-width:.0625rem
    }
}

.c-prose {
    font-size: 16px;
    color: #383941
}

@media screen and (width <= 768px) {
    .c-prose {
        font-size: .9375rem
    }
}

.c-prose>*:not(:first-child) {
    margin-top: 48px
}

@media screen and (width <= 768px) {
    .c-prose>*: not(:first-child) {
        margin-top:1.5rem
    }
}

.c-prose h1,.c-prose h2,.c-prose h3 {
    margin-bottom: 24px
}

@media screen and (width <= 768px) {
    .c-prose h1,.c-prose h2,.c-prose h3 {
        margin-bottom: 1rem
    }
}

.c-prose h1 {
    font-size: 32px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .c-prose h1 {
        font-size: 1.5rem
    }
}

.c-prose h2 {
    position: relative;
    z-index: 0;
    padding-bottom: 24px;
    font-size: 26px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-prose h2 {
        padding-bottom: 1rem;
        font-size: 1.25rem
    }
}

.c-prose h2:before,.c-prose h2:after {
    position: absolute;
    bottom: 0;
    content: ""
}

.c-prose h2:before {
    left: 2px;
    width: 12px;
    height: 2px;
    background-color: #004ea2
}

@media screen and (width <= 768px) {
    .c-prose h2: before {
        left:.125rem;
        width: .75rem;
        height: .125rem
    }
}

.c-prose h2:after {
    left: 18px;
    width: calc(100% - 18px);
    height: 1px;
    background-color: currentcolor;
    opacity: .15
}

@media screen and (width <= 768px) {
    .c-prose h2: after {
        left:1.125rem;
        width: calc(100% - 1.125rem);
        height: .0625rem
    }
}

@media screen and (width <= 768px) {
    .c-prose h2 {
        font-size: 1.125rem
    }
}

.c-prose h3 {
    padding: 12px 24px 16px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    color: #09090b;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .c-prose h3 {
        padding: .625rem 1.25rem;
        font-size: 1.125rem
    }
}

.c-prose h4 {
    margin-bottom: 12px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .c-prose h4 {
        font-size: 1rem
    }
}

.c-prose a {
    color: #004ea2;
    text-decoration: underline
}

.c-prose ul {
    padding-left: 1.4em;
    list-style: disc
}

.c-prose ol {
    padding-left: 2.2em;
    list-style: decimal-leading-zero
}

.c-prose ol ol {
    list-style: lower-alpha
}

.c-prose li::marker {
    font-weight: 700
}

.c-prose a {
    color: var(--color-link, #0a66c2);
    text-decoration: underline
}

.c-prose img,.c-prose video,.c-prose iframe {
    max-width: 100%;
    height: auto
}

.c-prose blockquote {
    font-size: 14px
}

.c-prose table {
    display: block;
    padding-bottom: 24px;
    overflow-x: scroll;
    font-size: 15px;
    border-collapse: collapse;
    contain: inline-size
}

@media screen and (width <= 768px) {
    .c-prose table {
        padding-bottom: 1.5rem;
        font-size: .875rem
    }
}

.c-prose table::-webkit-scrollbar {
    width: 2px;
    height: 2px;
    background-color: transparent
}

@media screen and (width <= 768px) {
    .c-prose table: :-webkit-scrollbar {
        width:.0625rem;
        height: .0625rem
    }
}

.c-prose table::-webkit-scrollbar-track {
    background-color: #a7aab9
}

.c-prose table::-webkit-scrollbar-thumb {
    background-color: #09090b
}

.c-prose th,.c-prose td {
    min-width: 260px;
    border: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .c-prose th,.c-prose td {
        min-width: 15rem;
        border-width: .0625rem
    }
}

.c-prose th {
    padding: 16px 20px;
    font-weight: 500;
    color: #fcfcfa;
    background-color: #004ea2
}

@media screen and (width <= 768px) {
    .c-prose th {
        padding: 1rem 1.25rem
    }
}

.c-prose td {
    padding: 20px
}

@media screen and (width <= 768px) {
    .c-prose td {
        padding: 1rem 1.25rem
    }
}

.c-document {
    display: flex;
    flex-direction: column;
    gap: 48px;
    font-size: 16px;
    color: #383941
}

@media screen and (width <= 768px) {
    .c-document {
        font-size: .9375rem
    }
}

.c-document h2 {
    padding: 12px 24px 16px;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    color: #09090b;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .c-document h2 {
        padding: .625rem 1.25rem;
        font-size: 1.125rem
    }
}

.c-document h3 {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #09090b
}

@media screen and (width <= 768px) {
    .c-document h3 {
        font-size: 1rem
    }
}

.c-document a {
    color: #004ea2;
    text-decoration: underline
}

.c-document small {
    font-size: 14px
}

.c-document ul,.c-document ol {
    padding-left: 1.4em
}

.c-document ul {
    list-style: disc
}

.c-document ol {
    list-style: decimal
}

.c-document ol ol {
    list-style: lower-alpha
}

.c-document table {
    width: 100%;
    font-size: 15px;
    border-collapse: collapse
}

@media screen and (width <= 768px) {
    .c-document table {
        font-size: .875rem
    }
}

.c-document table th,.c-document table td {
    padding: 20px;
    border: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .c-document table th,.c-document table td {
        min-width: 13.75rem;
        padding: 1.25rem;
        border-width: .0625rem
    }
}

.c-document table thead th {
    padding: 16px 20px;
    font-size: 16px;
    font-weight: 700
}

.c-document .c-document__section {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media screen and (width <= 768px) {
    .c-document .c-document__section {
        gap: 1.5rem
    }
}

.c-document .c-document__group {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .c-document .c-document__group {
        gap: 1rem
    }
}

.c-document .c-document__text-right {
    text-align: right
}

.c-document .c-document__text-center {
    text-align: center
}

.c-document .c-document__block {
    padding: 24px;
    color: #004ea2;
    background-color: #ebf9ff
}

@media screen and (width <= 768px) {
    .c-document .c-document__block {
        padding: 1.25rem
    }
}

.c-blockquote {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 0 24px
}

@media screen and (width <= 768px) {
    .c-blockquote {
        gap: 8px;
        padding: unset
    }
}

.c-blockquote .c-blockquote__line {
    display: flex;
    flex-grow: 1;
    gap: 10px;
    align-items: center;
    width: calc(100% + 48px);
    margin-left: -24px;
    color: #e4e5e9
}

@media screen and (width <= 768px) {
    .c-blockquote .c-blockquote__line {
        gap: .5rem;
        width: 100%;
        margin-left: unset
    }
}

.c-blockquote .c-blockquote__line:before,.c-blockquote .c-blockquote__line:after {
    content: "";
    background-color: currentcolor
}

.c-blockquote .c-blockquote__line:before {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    -webkit-mask-image: url(../../assets/img/common/icon_blockquote-01.png);
    mask-image: url(../../assets/img/common/icon_blockquote-01.png);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain
}

@media screen and (width <= 768px) {
    .c-blockquote .c-blockquote__line: before {
        width:1.25rem;
        height: 1.25rem
    }
}

.c-blockquote .c-blockquote__line:after {
    flex-grow: 1;
    height: 1px
}

@media screen and (width <= 768px) {
    .c-blockquote .c-blockquote__line: after {
        height:.0625rem
    }
}

.c-blockquote .c-blockquote__line--end {
    flex-direction: row-reverse;
    order: 100
}

.c-faq {
    padding: 20px 32px;
    border: solid 1px #e4e5e9
}

@media screen and (width <= 768px) {
    .c-faq {
        padding: 1.25rem 1rem
    }
}

.c-faq .c-faq__header {
    display: flex;
    gap: 8px;
    align-items: center;
    width: 100%
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__header {
        gap: .125rem;
        align-items: flex-start
    }
}

.c-faq .c-faq__qa {
    flex-shrink: 0;
    font-family: Roboto,sans-serif;
    font-size: 20px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__qa {
        min-width: 1.375rem;
        font-size: 1.125rem
    }
}

.c-faq .c-faq__title {
    flex-grow: 1;
    font-weight: 500
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__title {
        font-size: .9375rem
    }
}

.c-faq .c-faq__icon {
    position: relative;
    z-index: 0;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 28px;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__icon {
        width: 1.75rem;
        margin: auto auto auto .5rem
    }
}

.c-faq .c-faq__icon:before,.c-faq .c-faq__icon:after {
    position: absolute;
    display: block;
    width: 18px;
    height: 1.4px;
    content: "";
    background-color: currentcolor;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__icon: before,.c-faq .c-faq__icon:after {
        width:1.125rem;
        height: .0875rem
    }
}

.c-faq .c-faq__icon:after {
    transform: rotate(90deg)
}

.c-faq .c-faq__icon.is_active:after {
    opacity: 0;
    transform: rotate(0)
}

.c-faq.is_active .c-faq__icon {
    transform: rotate(90deg)
}

.c-faq.is_active .c-faq__icon:before {
    opacity: 0
}

.c-faq .c-faq__body {
    position: relative;
    z-index: 0;
    margin-top: 12px
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__body {
        margin-top: .75rem
    }
}

.c-faq .c-faq__desc {
    padding: 16px 24px;
    font-size: 15px;
    color: #383941;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .c-faq .c-faq__desc {
        padding: 1rem 1.5rem
    }
}

.c-noresult {
    display: flex;
    flex-direction: column;
    gap: 40px
}

@media screen and (width <= 768px) {
    .c-noresult {
        gap: 1.5rem
    }
}

.c-noresult .c-noresult__title {
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: center
}

@media screen and (width <= 768px) {
    .c-noresult .c-noresult__title {
        gap: .625rem
    }
}

.c-noresult .c-noresult__title-en {
    font-family: Roboto,sans-serif;
    font-size: 56px;
    font-weight: 700;
    line-height: 1;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .c-noresult .c-noresult__title-en {
        font-size: 2rem
    }
}

.c-noresult .c-noresult__title-ja {
    font-size: 18px;
    font-weight: 500;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .c-noresult .c-noresult__title-ja {
        font-size: .9375rem
    }
}

.c-noresult .c-noresult__caption {
    font-size: 16px;
    color: #383941;
    text-align: center
}

@media screen and (width <= 768px) {
    .c-noresult .c-noresult__caption {
        font-size: .9375rem;
        text-align: left
    }
}

.c-noresult .c-noresult__button {
    display: flex;
    justify-content: center
}

.c-pagination {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center
}

@media screen and (width <= 768px) {
    .c-pagination {
        gap: .75rem
    }
}

.c-pagination .c-pagination__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    border: solid 2px #e4e5e9;
    border-radius: 50%;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-pagination .c-pagination__arrow {
        gap: .75rem;
        width: 2.5rem;
        height: 2.5rem;
        font-size: .8125rem
    }
}

.c-pagination .c-pagination__arrow.is_active,.c-pagination .c-pagination__arrow:hover {
    color: #004ea2;
    border: solid 2px currentcolor
}

.c-pagination .c-pagination__arrow .c-icon {
    color: #004ea2
}

.c-pagination .c-pagination__arrow--prev {
    transform: scaleX(-1)
}

.c-pagination .c-pagination__list {
    display: flex;
    gap: 12px;
    align-items: center
}

@media screen and (width <= 768px) {
    .c-pagination .c-pagination__list {
        gap: .75rem
    }
}

.c-pagination .c-pagination__link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    border: solid 2px #e4e5e9;
    border-radius: 50%;
    transition: .3s
}

@media screen and (width <= 768px) {
    .c-pagination .c-pagination__link {
        width: 2.5rem;
        height: 2.5rem;
        font-size: .8125rem;
        border-width: .125rem
    }
}

.c-pagination .c-pagination__link.is_active,.c-pagination .c-pagination__link:hover {
    color: #004ea2;
    border: solid 2px currentcolor
}

.l-articles {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .l-articles {
        padding: 4rem 0
    }
}

.l-articles .c-container {
    --gap: 32px
}

@media screen and (width <= 768px) {
    .l-articles .c-container {
        --gap: 1.5rem
    }
}

.l-articles .l-articles__header {
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__header {
        flex-direction: column;
        gap: 1.5rem;
        align-items: flex-start
    }
}

.l-articles .l-articles__categories {
    display: flex;
    gap: 16px
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__categories {
        flex-direction: column;
        gap: .5rem
    }
}

.l-articles .l-articles__categories-label {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    min-height: 45px;
    vertical-align: middle
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__categories-label {
        min-height: unset;
        font-size: .875rem
    }
}

.l-articles .l-articles__categories-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__categories-list {
        gap: .5rem
    }
}

.l-articles .l-articles__sort {
    flex-shrink: 0;
    min-width: 168px
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__sort {
        width: 100%
    }
}

.l-articles .l-articles__content {
    display: flex;
    flex-direction: column;
    gap: 48px
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__content {
        gap: 2rem
    }
}

.l-articles .l-articles__noresult {
    margin-top: 32px
}

@media screen and (width <= 768px) {
    .l-articles .l-articles__noresult {
        margin-top: .5rem
    }
}

.l-post {
    padding: 32px 0 120px
}

@media screen and (width <= 768px) {
    .l-post {
        padding: 1.875rem 0 4rem
    }
}

.l-post .l-post__container-sp {
    display: contents
}

@media screen and (width <= 768px) {
    .l-post .l-post__container-sp {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        padding-bottom: 1rem;
        border-bottom: solid .0625rem #09090b
    }
}

.l-post .l-post__share {
    position: sticky;
    top: 100px;
    width: 24px;
    height: 0;
    margin-left: -56px
}

@media screen and (width <= 768px) {
    .l-post .l-post__share {
        position: static;
        order: 5;
        width: auto;
        height: auto;
        margin-left: auto
    }
}

.l-post .l-post__share .c-share-button {
    flex-direction: column
}

@media screen and (width <= 768px) {
    .l-post .l-post__share .c-share-button {
        flex-direction: row
    }
}

.l-post .l-post__header {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding-bottom: 32px;
    border-bottom: solid 1px #09090b
}

@media screen and (width <= 768px) {
    .l-post .l-post__header {
        display: contents
    }
}

.l-post .l-post__meta {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.l-post .l-post__date {
    font-size: 14px;
    color: #60637a
}

@media screen and (width <= 768px) {
    .l-post .l-post__date {
        font-size: .875rem
    }
}

.l-post .l-post__title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .l-post .l-post__title {
        font-size: 1.375rem
    }
}

.l-post .l-post__content {
    display: flex;
    flex-direction: column;
    gap: 48px;
    margin-top: 48px
}

@media screen and (width <= 768px) {
    .l-post .l-post__content {
        gap: 1.25rem;
        margin-top: 1.5rem
    }
}

.l-post .l-post__thumbnail {
    overflow: hidden;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .l-post .l-post__thumbnail {
        border-radius: .25rem
    }
}

.l-post .l-post__thumbnail img {
    width: 100%
}

.l-post .l-post__button {
    display: flex;
    justify-content: center
}

.l-post .l-post__footer {
    display: flex;
    flex-direction: column;
    gap: 48px
}

@media screen and (width <= 768px) {
    .l-post .l-post__footer {
        gap: 2rem
    }
}

.l-post .l-post__block {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 32px 40px;
    font-size: 15px;
    border: solid 1px #e4e5e9;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .l-post .l-post__block {
        gap: .75rem;
        padding: 1.5rem 1.25rem;
        font-size: .875rem;
        border-width: .0625rem;
        border-radius: .25rem
    }
}

.l-post .l-post__block a {
    color: var(--color-link, #0a66c2);
    text-decoration: underline
}

.l-post .l-post__block-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .l-post .l-post__block-title {
        font-size: 1rem
    }
}

.p-top-kv {
    position: relative;
    z-index: 0;
    display: flex;
    min-height: 720px;
    padding: 64px 0;
    color: #fff
}

@media screen and (width <= 768px) {
    .p-top-kv {
        min-height: 34.625rem;
        padding: 2rem 0 0
    }
}

.p-top-kv .c-container {
    width: 100%;
    margin-top: auto
}

.p-top-kv .p-top-kv__desc {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .p-top-kv .p-top-kv__desc {
        gap: 1rem
    }
}

.p-top-kv .p-top-kv__title {
    font-size: 54px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .p-top-kv .p-top-kv__title {
        font-size: 1.75rem
    }
}

.p-top-kv .p-top-kv__caption {
    font-size: 18px;
    font-weight: 500
}

@media screen and (width <= 768px) {
    .p-top-kv .p-top-kv__caption {
        font-size: .8125rem
    }
}

.p-top-kv .p-top-kv__button {
    margin-top: 16px
}

@media screen and (width <= 768px) {
    .p-top-kv .p-top-kv__button {
        margin-top: unset
    }
}

.p-top-kv .p-top-kv__buttons {
    position: absolute;
    right: 28px;
    bottom: 32px;
    display: flex;
    gap: 8px;
    justify-content: flex-end;
    counter-reset: kv-slider-button
}

@media screen and (width <= 768px) {
    .p-top-kv .p-top-kv__buttons {
        position: unset;
        gap: .5rem;
        align-items: center;
        justify-content: center;
        width: calc(100% + var(--margin) * 2);
        height: 6.25rem;
        padding: 1rem;
        margin-left: calc(var(--margin) * -1);
        background-color: #eff0f1
    }
}

.p-top-kv-bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: 100%
}

@media screen and (width <= 768px) {
    .p-top-kv-bg {
        height: calc(100% - 6.25rem)
    }
}

.p-top-kv-bg .swiper {
    z-index: -1;
    width: 100%;
    height: 100%
}

.p-top-kv-bg .swiper-slide-prev img {
    animation: zoom-up 10s linear 0s normal both
}

.p-top-kv-bg .p-top-kv-bg__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.p-top-kv-bg .p-top-kv-bg__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    mix-blend-mode: multiply;
    opacity: .3
}

.p-top-kv-slider-button {
    position: relative;
    z-index: 0;
    width: 100px;
    height: 62px;
    counter-increment: kv-slider-button;
    border: solid 4px rgba(0,0,0,.1);
    border-radius: 2px
}

@media screen and (width <= 768px) {
    .p-top-kv-slider-button {
        width: 6.25rem;
        height: 3.875rem;
        border-width: .25rem;
        border-radius: .125rem
    }
}

.p-top-kv-slider-button .p-top-kv-slider-button__inner {
    position: relative;
    z-index: 0;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    border-radius: 2px
}

@media screen and (width <= 768px) {
    .p-top-kv-slider-button .p-top-kv-slider-button__inner {
        border-radius: .125rem
    }
}

.p-top-kv-slider-button .p-top-kv-slider-button__img {
    height: 100%
}

.p-top-kv-slider-button .p-top-kv-slider-button__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.p-top-kv-slider-button .p-top-kv-slider-button__num {
    position: absolute;
    top: 4px;
    left: 4px;
    font-family: Roboto,sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    color: #fff
}

@media screen and (width <= 768px) {
    .p-top-kv-slider-button .p-top-kv-slider-button__num {
        top: .25rem;
        left: .25rem;
        font-size: .625rem
    }
}

.p-top-kv-slider-button .p-top-kv-slider-button__num:before {
    content: counter(kv-slider-button,decimal-leading-zero)
}

.p-top-kv-slider-button .p-top-kv-slider-button__label {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 4px 0;
    font-family: Roboto,sans-serif;
    font-size: 10px;
    font-style: italic;
    line-height: 1;
    color: #004ea2;
    text-align: center;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .p-top-kv-slider-button .p-top-kv-slider-button__label {
        padding: .25rem 0;
        font-size: .625rem
    }
}

.p-top-info {
    padding: 48px 0 64px
}

@media screen and (width <= 768px) {
    .p-top-info {
        padding: 2rem 0 4rem
    }
}

.p-top-info .p-top-info__button {
    display: flex;
    justify-content: flex-end;
    margin-top: 24px
}

@media screen and (width <= 768px) {
    .p-top-info .p-top-info__button .c-button {
        width: 100%
    }
}

.p-top-info-list .p-top-info-list__item {
    padding: 25px 0;
    border-bottom: solid 1px #e4e5e9
}

@media screen and (width <= 768px) {
    .p-top-info-list .p-top-info-list__item {
        padding: 1.25rem 0;
        border-bottom-width: .0625rem
    }
}

.p-top-info-list .p-top-info-list__item:first-child {
    border-top: solid 1px #e4e5e9
}

@media screen and (width <= 768px) {
    .p-top-info-list .p-top-info-list__item: first-child {
        border-top-width:.0625rem
    }
}

.p-top-info-article {
    display: flex;
    gap: 16px;
    align-items: center;
    justify-content: space-between
}

.p-top-info-article .p-top-info-article__inner {
    display: flex;
    gap: 16px;
    align-items: center;
    align-self: stretch
}

@media screen and (width <= 768px) {
    .p-top-info-article .p-top-info-article__inner {
        flex-direction: column;
        gap: .75rem;
        align-items: flex-start
    }
}

.p-top-info-article .p-top-info-article__meta {
    display: flex;
    gap: 12px;
    align-items: center
}

@media screen and (width <= 768px) {
    .p-top-info-article .p-top-info-article__meta {
        gap: .75rem
    }
}

.p-top-info-article .p-top-info-article__date {
    font-family: Roboto,sans-serif;
    color: #60637a;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .p-top-info-article .p-top-info-article__date {
        font-size: .9375rem
    }
}

.p-top-info-article .p-top-info-article__category {
    flex-shrink: 0
}

.p-top-info-article .p-top-info-article__link {
    font-weight: 700;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    white-space: unset
}

@media screen and (width <= 768px) {
    .p-top-info-article .p-top-info-article__link {
        font-size: .9375rem;
        -webkit-line-clamp: 2
    }
}

.p-top-info-article .p-top-info-article__arrow {
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    color: #004ea2;
    background-color: #f4f5f7;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-top-info-article .p-top-info-article__arrow {
        width: 2.5rem;
        height: 2.5rem
    }
}

.p-top-service {
    position: relative;
    z-index: 0;
    padding-top: 80px;
    background-color: #f4f5f7
}

.p-top-service .p-top-service__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 170px;
    left: 0;
    z-index: -1
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__bg {
        bottom: 6.25rem
    }
}

.p-top-service .p-top-service__bg img,.p-top-service .p-top-service__bg picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.p-top-service .p-top-service__slider {
    margin-top: 96px
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__slider {
        margin-top: 4rem
    }
}

.p-top-service .p-top-service__inner {
    display: flex;
    gap: 60px;
    align-items: flex-start
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__inner {
        flex-direction: column;
        gap: 1.5rem
    }
}

.p-top-service .p-top-service__block {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 56px 48px;
    background: #fff9;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 8px
}

.p-top-service .p-top-service__block:nth-child(2n) {
    margin-top: 32px
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__block: nth-child(2n) {
        margin-top:unset
    }
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__block {
        gap: 1rem;
        padding: 2rem 1.25rem;
        border-width: .0625rem;
        border-radius: .5rem
    }
}

.p-top-service .p-top-service__block-desc {
    display: flex;
    flex-direction: column;
    gap: 8px
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__block-desc {
        gap: .5rem
    }
}

.p-top-service .p-top-service__block-caption {
    font-weight: 500
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__block-caption {
        font-size: .875rem
    }
}

.p-top-service .p-top-service__block-title {
    font-family: Roboto,sans-serif;
    font-size: 50px;
    font-style: italic;
    line-height: 1;
    color: #004ea2;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__block-title {
        font-size: 2rem
    }
}

.p-top-service .p-top-service__block-lead {
    margin-top: 8px;
    font-size: 15px;
    font-weight: 400;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__block-lead {
        margin-top: .5rem;
        font-size: .875rem
    }
}

.p-top-service .p-top-service__block-image {
    overflow: hidden;
    border-radius: 8px
}

.p-top-service .p-top-service__block-image img {
    width: 100%
}

.p-top-service .p-top-service__button {
    display: flex;
    justify-content: center
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__button {
        justify-content: flex-start;
        margin-top: .5rem
    }
}

.p-top-service .p-top-service__button--footer {
    margin-top: 56px
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__button--footer {
        margin-top: 2rem
    }
}

@media screen and (width <= 768px) {
    .p-top-service .p-top-service__button--footer .c-button {
        width: 100%
    }
}

.p-top-service-slider .p-top-service-slider__slide {
    --sm: 212px;
    --spacing-sm: 50px;
    --spacing-lg: 110px;
    width: 360px
}

@media screen and (width <= 768px) {
    .p-top-service-slider .p-top-service-slider__slide {
        --sm: 7rem;
        --spacing-sm: 0;
        --spacing-lg: 1.875rem;
        width: 11.625rem
    }
}

.p-top-service-slider .p-top-service-slider__slide img {
    border-radius: 4px
}

.p-top-service-slider .p-top-service-slider__slide--slide-01 {
    padding-top: var(--spacing-sm)
}

.p-top-service-slider .p-top-service-slider__slide--slide-02 {
    width: var(--sm);
    padding-top: var(--spacing-lg)
}

.p-top-service-slider .p-top-service-slider__slide--slide-03 {
    padding-top: var(--spacing-sm)
}

.p-top-service-slider .p-top-service-slider__slide--slide-04 {
    width: var(--sm)
}

.p-top-service-slider .p-top-service-slider__slide--slide-05 {
    padding-top: var(--spacing-sm)
}

.p-top-about {
    padding: 196px 0;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .p-top-about {
        padding-top: 10.25rem;
        padding-bottom: 4rem
    }
}

.p-top-about .p-top-about__inner {
    display: flex;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__inner {
        flex-direction: column
    }
}

.p-top-about .p-top-about__list {
    max-width: 540px;
    margin-top: auto
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__list {
        max-width: unset;
        margin-top: 2.5rem
    }
}

.p-top-about .p-top-about__image-col {
    margin-top: 50px
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__image-col {
        order: 5
    }
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__pc-container {
        display: contents
    }
}

.p-top-about .p-top-about__caption {
    max-width: 500px;
    margin-top: 32px;
    font-size: 15px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__caption {
        margin-top: 1.5rem;
        font-size: .9375rem
    }
}

.p-top-about .p-top-about__block {
    display: flex;
    flex-direction: column;
    gap: 8px
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__block {
        gap: .25rem
    }
}

@media screen and (width >= 769px) {
    .p-top-about .p-top-about__block {
        opacity: .6
    }

    .p-top-about .p-top-about__block.is_active {
        color: #004ea2;
        opacity: 1
    }
}

.p-top-about .p-top-about__block-label {
    font-family: Roboto,sans-serif;
    font-size: 14px;
    line-height: 1;
    color: #7b7f95;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__block-label {
        font-size: .8125rem
    }
}

.p-top-about .p-top-about__block-title {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__block-title {
        font-size: 1.375rem
    }
}

.p-top-about .p-top-about__block-caption {
    font-size: 14px
}

@media screen and (width <= 768px) {
    .p-top-about .p-top-about__block-caption {
        margin-top: .25rem;
        font-size: .875rem
    }
}

.p-top-about-image {
    position: relative;
    z-index: 0;
    width: 460px
}

@media screen and (width <= 768px) {
    .p-top-about-image {
        width: 20.9375rem;
        margin: 0 auto
    }
}

.p-top-about-image .p-top-about-image__bg-overlay {
    position: relative;
    width: 436px;
    height: 436px;
    margin: 0 auto
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__bg-overlay {
        width: 18.125rem;
        height: 18.125rem
    }
}

.p-top-about-image .p-top-about-image__bg-overlay span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background-color: #004ea2;
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

.p-top-about-image .p-top-about-image__bg-overlay span:nth-child(1) {
    width: 100%;
    height: 100%;
    opacity: .1
}

.p-top-about-image .p-top-about-image__bg-overlay span:nth-child(2) {
    width: calc(100% - 80px);
    height: calc(100% - 80px);
    opacity: .1
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__bg-overlay span: nth-child(2) {
        width:calc(100% - 3.25rem);
        height: calc(100% - 3.25rem)
    }
}

.p-top-about-image .p-top-about-image__bg-overlay span:nth-child(3) {
    width: calc(100% - 152px);
    height: calc(100% - 152px);
    opacity: .2
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__bg-overlay span: nth-child(3) {
        width:calc(100% - 6.25rem);
        height: calc(100% - 6.25rem)
    }
}

.p-top-about-image .p-top-about-image__bg-caption {
    position: absolute;
    bottom: 25px;
    left: 50%;
    width: 150px;
    transform: translate(-50%)
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__bg-caption {
        width: 6.25rem
    }
}

.p-top-about-image .p-top-about-image__bg-items {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 220px;
    height: 220px;
    overflow: hidden;
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__bg-items {
        width: 9.125rem;
        height: 9.125rem
    }
}

.p-top-about-image .p-top-about-image__bg-img {
    position: absolute;
    top: 0;
    left: 0;
    transition: .6s linear
}

.p-top-about-image .p-top-about-image__bg-img:not(.is_active) {
    opacity: 0
}

.p-top-about-image .p-top-about-image__icon-block {
    position: absolute;
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block {
        gap: .25rem
    }
}

.p-top-about-image .p-top-about-image__icon-block:nth-child(1) {
    top: 0;
    left: 0
}

.p-top-about-image .p-top-about-image__icon-block:nth-child(2) {
    top: 0;
    right: 0
}

.p-top-about-image .p-top-about-image__icon-block:nth-child(3) {
    right: 0;
    bottom: 0;
    flex-direction: column-reverse
}

.p-top-about-image .p-top-about-image__icon-block:nth-child(4) {
    bottom: 0;
    left: 0;
    flex-direction: column-reverse
}

.p-top-about-image .p-top-about-image__icon-title {
    font-family: Roboto,sans-serif;
    font-size: 13px;
    font-style: italic;
    color: #004ea2;
    text-align: center
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-title {
        font-size: .75rem
    }
}

.p-top-about-image .p-top-about-image__icon {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background-color: #f4f5f7;
    border-radius: 50%;
    box-shadow: 0 4px 4px #0000000d;
    transition: .3s
}

.p-top-about-image .p-top-about-image__icon:before {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    border: solid 4px #fff;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon: before {
        border-width:.25rem
    }
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon {
        gap: unset;
        width: 5rem;
        height: 5rem;
        box-shadow: 0 .1875rem .1875rem #0000000d
    }
}

.p-top-about-image .p-top-about-image__icon-img {
    width: 32px;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-img {
        width: 1.75rem;
        height: 1.75rem
    }
}

.p-top-about-image .p-top-about-image__icon-label {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-label {
        font-size: .75rem;
        line-height: 1.5
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active:nth-child(1) {
    top: -24px;
    left: -24px
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active: nth-child(1) {
        top:-.5rem;
        left: -.5rem
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active:nth-child(2) {
    top: -24px;
    right: -24px
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active: nth-child(2) {
        top:-.5rem;
        right: -.5rem
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active:nth-child(3) {
    right: -24px;
    bottom: -24px
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active: nth-child(3) {
        right:-.5rem;
        bottom: -.5rem
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active:nth-child(4) {
    bottom: -24px;
    left: -24px
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active: nth-child(4) {
        bottom:-.5rem;
        left: -.5rem
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active .p-top-about-image__icon {
    width: 162px;
    height: 162px;
    border: solid 1px #004ea2
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active .p-top-about-image__icon {
        width: 6.25rem;
        height: 6.25rem;
        border-width: .0625rem
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active .p-top-about-image__icon-img {
    width: 64px
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active .p-top-about-image__icon-img {
        width: 2.5rem;
        height: 2.5rem
    }
}

.p-top-about-image .p-top-about-image__icon-block.is_active .p-top-about-image__icon-label {
    font-size: 18px;
    font-weight: 700;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-top-about-image .p-top-about-image__icon-block.is_active .p-top-about-image__icon-label {
        font-size: .875rem
    }
}

.p-top-about-list .p-top-about-list__item {
    padding: 20px 0;
    border-bottom: solid 1px #cbcdd6
}

@media screen and (width <= 768px) {
    .p-top-about-list .p-top-about-list__item {
        padding: 1.25rem 0;
        border-bottom-width: .0625rem
    }
}

.p-top-about-list .p-top-about-list__item:first-child {
    border-top: solid 1px #cbcdd6
}

@media screen and (width <= 768px) {
    .p-top-about-list .p-top-about-list__item: first-child {
        border-top-width:.0625rem
    }
}

.p-top-companies {
    padding: 32px 0 16px;
    background-color: #eff0f1
}

@media screen and (width <= 768px) {
    .p-top-companies {
        padding: 2rem 0 1.5rem
    }
}

.p-top-companies .c-container {
    --gap: 10px;
    margin-inline:unset}

@media screen and (width <= 768px) {
    .p-top-companies .c-container {
        --gap: .5rem
    }
}

.p-top-companies .p-top-companies__title {
    margin-inline:max(var(--margin),(100% - 1200px) / 2);font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-top-companies .p-top-companies__title {
        font-size: .9375rem
    }
}

.p-top-companies .p-top-companies__slider {
    overflow: hidden
}

.p-top-companies .p-top-companies__slide {
    width: 200px;
    overflow: hidden;
    border-radius: 2px
}

@media screen and (width <= 768px) {
    .p-top-companies .p-top-companies__slide {
        width: 10rem;
        border-radius: .125rem
    }
}

.p-top-companies .p-top-companies__subscript {
    margin-inline:max(var(--margin),(100% - 1200px) / 2);font-size: 14px;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-top-companies .p-top-companies__subscript {
        font-size: .75rem
    }
}

.p-top-ir {
    padding: 96px 0 40px
}

@media screen and (width <= 768px) {
    .p-top-ir {
        padding: 4rem 0 2.5rem
    }
}

.p-top-ir .c-container {
    --gap: 32px
}

@media screen and (width <= 768px) {
    .p-top-ir .c-container {
        --gap: 1.5rem
    }
}

.p-top-recruit {
    padding-top: 40px;
    padding-bottom: 96px
}

@media screen and (width <= 768px) {
    .p-top-recruit {
        padding-top: 2.5rem;
        padding-bottom: 4rem
    }
}

.p-top-recruit .c-container {
    --container: 1300px
}

.p-top-recruit .splide .splide__slide img {
    height: 100%
}

.p-top-recruit .p-top-recruit__block {
    color: #fff
}

.p-top-recruit .p-top-recruit__slider-container {
    position: relative;
    z-index: 0;
    display: grid;
    grid-template-areas: "content";
    align-items: center;
    overflow: hidden;
    border-radius: 8px 8px 0 0
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__slider-container {
        border-radius: .5rem .5rem 0 0
    }
}

.p-top-recruit .p-top-recruit__slider-container>* {
    grid-area: content
}

.p-top-recruit .p-top-recruit__slide {
    height: 300px
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__slide {
        height: 13.125rem
    }
}

.p-top-recruit .p-top-recruit__overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background-color: #09090b;
    opacity: .3
}

.p-top-recruit .p-top-recruit__title {
    position: relative;
    z-index: 0;
    width: min(1056px,100%);
    margin: 0 auto
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__title {
        width: 100%;
        padding: 0 1.25rem
    }
}

.p-top-recruit .p-top-recruit__desc {
    position: relative;
    z-index: 0;
    padding: 36px 0 100px;
    background-color: #004ea2;
    border-radius: 0 0 8px 8px
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__desc {
        padding: 2rem 1.25rem;
        border-radius: 0 0 .5rem .5rem
    }
}

.p-top-recruit .p-top-recruit__desc-inner {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    width: min(1056px,100%);
    margin: 0 auto
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__desc-inner {
        flex-direction: column;
        gap: 1.5rem;
        align-items: flex-start
    }
}

.p-top-recruit .p-top-recruit__caption {
    font-size: 22px;
    font-weight: 700;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__caption {
        font-size: 1rem;
        line-height: 1.8
    }
}

.p-top-recruit .p-top-recruit__buttons {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-top: -108px
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__buttons {
        align-self: stretch;
        margin-top: unset
    }
}

@media screen and (width <= 768px) {
    .p-top-recruit .p-top-recruit__buttons .c-button {
        width: 100%
    }
}

.p-about-intro {
    position: relative;
    padding: 80px 0 120px
}

@media screen and (width <= 768px) {
    .p-about-intro {
        padding: 3rem 0 4rem
    }
}

.p-about-intro .c-container {
    --gap: 48px
}

@media screen and (width <= 768px) {
    .p-about-intro .c-container {
        --gap: 1.5rem
    }
}

.p-about-intro .c-heading .c-heading__title {
    font-size: 50px;
    color: #09090b
}

@media screen and (width <= 768px) {
    .p-about-intro .c-heading .c-heading__title {
        font-size: 2rem
    }
}

.p-about-intro .c-heading .c-heading__caption {
    color: #09090b
}

@media screen and (width <= 768px) {
    .p-about-intro .c-heading .c-heading__caption {
        font-size: .8125rem
    }
}

.p-about-intro .p-about-intro__desc {
    max-width: 832px;
    margin-left: auto;
    line-height: 2.4;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-about-intro .p-about-intro__desc {
        margin-left: unset;
        font-size: .9375rem;
        line-height: 1.8
    }
}

.p-about-info {
    position: relative;
    padding: 120px 0 100px;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .p-about-info {
        padding: 4rem 0
    }
}

.p-about-info .c-container {
    --gap: 120px
}

@media screen and (width <= 768px) {
    .p-about-info .c-container {
        --gap: 4rem
    }
}

.p-about-info .p-about-info__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__inner {
        flex-direction: column-reverse;
        gap: 1.5rem
    }
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__inner--pc {
        display: none
    }
}

.p-about-info .p-about-info__images {
    position: sticky;
    top: calc(50% - 175px);
    z-index: 0;
    width: 560px
}

@media screen and (width >= 769px) {
    .p-about-info .p-about-info__image.is_active {
        background-color: #f4f5f7;
        transition: .4s
    }

    .p-about-info .p-about-info__image:not(.is_active) img {
        opacity: 0;
        transform: scale(.4)
    }

    .p-about-info .p-about-info__image:not(:first-child) {
        position: absolute;
        top: 0;
        left: 0
    }
}

.p-about-info .p-about-info__image img {
    width: 100%;
    transition: .4s
}

.p-about-info .p-about-info__desc-container {
    display: flex;
    flex-direction: column
}

.p-about-info .p-about-info__desc {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 520px
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__desc {
        gap: .5rem
    }
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__desc {
        width: 100%
    }
}

.p-about-info .p-about-info__desc-container .p-about-info__desc {
    padding: 120px 0
}

.p-about-info .p-about-info__desc-container .p-about-info__desc:first-of-type {
    padding-top: unset
}

.p-about-info .p-about-info__desc-container .p-about-info__desc:last-of-type {
    padding-bottom: unset
}

.p-about-info .p-about-info__title .c-heading .c-heading__inner {
    gap: 24px
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__title .c-heading .c-heading__inner {
        gap: 1rem
    }
}

.p-about-info .p-about-info__title .c-heading .c-heading__subtitle {
    align-self: stretch;
    padding-bottom: 12px;
    border-bottom: solid 1px #cbcdd6
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__title .c-heading .c-heading__subtitle {
        padding-bottom: .75rem;
        font-size: 1.125rem
    }
}

.p-about-info .p-about-info__title .c-heading .c-heading__title {
    font-size: 32px;
    color: #09090b
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__title .c-heading .c-heading__title {
        font-size: 1.5rem
    }
}

.p-about-info .p-about-info__text {
    font-size: 15px;
    line-height: 2.4;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__text {
        font-size: .9375rem;
        line-height: 1.8
    }
}

.p-about-info .p-about-info__values {
    display: flex;
    flex-direction: column;
    gap: 70px
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__values {
        gap: 1.5rem
    }
}

.p-about-info .p-about-info__values-title .c-heading__subtitle {
    align-self: stretch;
    padding-bottom: 12px;
    font-size: 24px;
    border-bottom: solid 1px #cbcdd6
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__values-title .c-heading__subtitle {
        padding-bottom: .75rem;
        font-size: 1.125rem
    }
}

.p-about-info .p-about-info__container {
    --gap: 42px;
    display: flex;
    flex-wrap: wrap;
    gap: var(--gap)
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__container {
        --gap: 2.5rem
    }
}

.p-about-info .p-about-info__container--gap-lg {
    --gap: 60px
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__container--gap-lg {
        --gap: 2.5rem
    }
}

.p-about-info .p-about-info__container+.p-about-info__container {
    margin-top: 80px
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__container+.p-about-info__container {
        margin-top: 2.5rem
    }
}

.p-about-info .p-about-info__col {
    width: calc((100% - var(--gap) * 2) / 3)
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__col {
        width: 100%
    }
}

.p-about-info .p-about-info__col--lg {
    width: calc((100% - var(--gap)) / 2)
}

@media screen and (width <= 768px) {
    .p-about-info .p-about-info__col--lg {
        width: 100%
    }
}

.p-about-info-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
    counter-increment: var(--counter, info-block)
}

@media screen and (width <= 768px) {
    .p-about-info-block {
        gap: 1rem
    }
}

.p-about-info-block .p-about-info-block__header {
    position: relative;
    z-index: 0;
    align-self: stretch
}

.p-about-info-block .p-about-info-block__img {
    width: 140px;
    margin: 0 auto
}

@media screen and (width <= 768px) {
    .p-about-info-block .p-about-info-block__img {
        width: 8.75rem
    }
}

.p-about-info-block .p-about-info-block__img img {
    width: 100%
}

.p-about-info-block .p-about-info-block__number {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    min-height: 20px;
    padding: 0 12px;
    font-family: Roboto,sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
    color: #004ea2;
    text-align: center;
    border: solid 1px currentcolor;
    border-radius: 100vmax
}

@media screen and (width <= 768px) {
    .p-about-info-block .p-about-info-block__number {
        min-width: 2.375rem;
        min-height: 1.25rem;
        font-size: .9375rem;
        border-width: .0625rem
    }
}

.p-about-info-block .p-about-info-block__number:before {
    content: counter(var(--counter, info-block),decimal-leading-zero)
}

.p-about-info-block .p-about-info-block__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-self: stretch;
    font-size: 14px;
    line-height: 2.4;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-about-info-block .p-about-info-block__body {
        gap: .75rem;
        font-size: .9375rem;
        line-height: 1.8
    }
}

.p-about-info-block .p-about-info-block__title {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.5;
    color: #09090b
}

@media screen and (width <= 768px) {
    .p-about-info-block .p-about-info-block__title {
        font-size: 1.125rem
    }
}

.p-about-message {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-about-message {
        padding: 3rem 0
    }
}

.p-about-message .c-container {
    --gap: 32px
}

@media screen and (width <= 768px) {
    .p-about-message .c-container {
        --gap: 1.5rem
    }
}

.p-about-message .p-about-message__inner {
    display: flex;
    gap: 48px;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-about-message .p-about-message__inner {
        flex-direction: column
    }
}

.p-about-message .p-about-message__images {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 427px
}

@media screen and (width <= 768px) {
    .p-about-message .p-about-message__images {
        gap: .5rem;
        max-width: unset
    }
}

.p-about-message .p-about-message__image {
    overflow: hidden;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .p-about-message .p-about-message__image {
        max-width: 18.875rem;
        margin: 0 auto;
        border-radius: .25rem
    }
}

.p-about-message .p-about-message__image img {
    width: 100%
}

.p-about-message .p-about-message__sign {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .p-about-message .p-about-message__sign {
        font-size: 1.375rem
    }
}

.p-about-message .p-about-message__text-small {
    font-size: 16px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .p-about-message .p-about-message__text-small {
        font-size: .875rem
    }
}

.p-about-message .p-about-message__body {
    max-width: 680px
}

.p-about-company-link {
    position: relative;
    padding: 80px 0;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .p-about-company-link {
        padding: 3rem 0
    }
}

.p-about-company-link .c-container {
    --gap: 32px
}

@media screen and (width <= 768px) {
    .p-about-company-link .c-container {
        --gap: 2rem
    }
}

.p-about-company-link .p-about-company-link__list {
    display: flex;
    flex-wrap: wrap;
    gap: 18px
}

@media screen and (width <= 768px) {
    .p-about-company-link .p-about-company-link__list {
        gap: .75rem
    }
}

.p-about-company-link .p-about-company-link__list-item {
    width: calc((100% - 36px) / 3)
}

@media screen and (width <= 768px) {
    .p-about-company-link .p-about-company-link__list-item {
        width: 100%
    }
}

.p-about-company-link-block {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between;
    padding: 24px;
    background-color: #fcfcfa;
    border-radius: 2px
}

@media screen and (width <= 768px) {
    .p-about-company-link-block {
        gap: 1rem;
        padding: 1rem 1.5rem;
        border-radius: .125rem
    }
}

.p-about-company-link-block .p-about-company-link-block__icon {
    flex-shrink: 0;
    width: 48px
}

@media screen and (width <= 768px) {
    .p-about-company-link-block .p-about-company-link-block__icon {
        width: 2.5rem
    }
}

.p-about-company-link-block .p-about-company-link-block__title {
    display: flex;
    flex-grow: 1;
    align-items: center;
    justify-content: space-between;
    font-size: 18px;
    font-weight: 500;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-about-company-link-block .p-about-company-link-block__title {
        font-size: 1rem
    }
}

.p-about-company-link-block .p-about-company-link-block__arrow {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    background-color: #004ea2;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-about-company-link-block .p-about-company-link-block__arrow {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

.p-about-company-link-block .p-about-company-link-block__arrow .c-icon {
    width: 9px;
    height: 9px;
    color: #fff
}

@media screen and (width <= 768px) {
    .p-about-company-link-block .p-about-company-link-block__arrow .c-icon {
        width: .5625rem;
        height: .5625rem
    }
}

.p-corporation-section-links {
    position: relative;
    padding: 80px 0 64px
}

@media screen and (width <= 768px) {
    .p-corporation-section-links {
        padding: 3rem 0
    }
}

.p-corporation-outline {
    position: relative;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-corporation-outline {
        padding: 4rem 0
    }
}

.p-corporation-outline .p-corporation-outline__content {
    max-width: 780px;
    margin-left: auto
}

.p-corporation-outline-data {
    display: flex;
    gap: 24px;
    align-items: flex-start;
    padding: 0 8px
}

@media screen and (width <= 768px) {
    .p-corporation-outline-data {
        flex-direction: column;
        gap: .25rem;
        padding: unset;
        font-size: .9375rem
    }
}

.p-corporation-outline-data .p-corporation-outline-data__label {
    flex-shrink: 0;
    width: 216px;
    font-weight: 500
}

@media screen and (width <= 768px) {
    .p-corporation-outline-data .p-corporation-outline-data__label {
        width: auto
    }
}

.p-corporation-outline-data .p-corporation-outline-data__value {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 12px
}

@media screen and (width <= 768px) {
    .p-corporation-outline-data .p-corporation-outline-data__value {
        gap: .75rem
    }
}

.p-corporation-outline-data .p-corporation-outline-data__value a {
    color: #004ea2;
    text-decoration: underline;
    text-underline-offset: 2px
}

@media screen and (width <= 768px) {
    .p-corporation-outline-data .p-corporation-outline-data__value a {
        text-underline-offset: .125rem
    }
}

.p-corporation-outline-data .p-corporation-outline-data__iframe-container {
    position: relative;
    z-index: 0;
    height: 280px
}

@media screen and (width <= 768px) {
    .p-corporation-outline-data .p-corporation-outline-data__iframe-container {
        height: 20.9375rem
    }
}

.p-corporation-outline-data .p-corporation-outline-data__iframe-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.p-corporation-executive {
    position: relative;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-corporation-executive {
        padding: 4rem 0
    }
}

.p-corporation-executive .p-corporation-executive__list {
    display: flex;
    flex-wrap: wrap;
    gap: 60px
}

@media screen and (width <= 768px) {
    .p-corporation-executive .p-corporation-executive__list {
        gap: 2rem .9375rem
    }
}

.p-corporation-executive .p-corporation-executive__list-item {
    display: flex;
    width: calc((100% - 120px) / 3)
}

@media screen and (width <= 768px) {
    .p-corporation-executive .p-corporation-executive__list-item {
        width: calc((100% - .9375rem)/2)
    }
}

.p-corporation-executive-card {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding-bottom: 18px;
    border-bottom: solid 1px #cbcdd6
}

@media screen and (width <= 768px) {
    .p-corporation-executive-card {
        gap: .75rem;
        padding-bottom: 1rem;
        border-bottom-width: .0625rem
    }
}

.p-corporation-executive-card .p-corporation-executive-card__img {
    overflow: hidden;
    border: solid 1px #e4e5e9;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .p-corporation-executive-card .p-corporation-executive-card__img {
        border-width: .0625rem;
        border-radius: .25rem
    }
}

.p-corporation-executive-card .p-corporation-executive-card__img img {
    width: 100%
}

.p-corporation-executive-card .p-corporation-executive-card__body {
    flex-grow: 1
}

.p-corporation-executive-card .p-corporation-executive-card__label {
    font-size: 12px;
    font-weight: 700;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-corporation-executive-card .p-corporation-executive-card__label {
        font-size: .75rem
    }
}

.p-corporation-executive-card .p-corporation-executive-card__title {
    display: flex;
    align-items: flex-end;
    justify-content: space-between
}

.p-corporation-executive-card .p-corporation-executive-card__name {
    font-size: 22px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .p-corporation-executive-card .p-corporation-executive-card__name {
        font-size: 1.125rem
    }
}

.p-corporation-executive-card .p-corporation-executive-card__icon {
    position: relative;
    z-index: 0;
    display: grid;
    flex-shrink: 0;
    place-content: center;
    place-items: center;
    width: 28px;
    height: 28px;
    color: #004ea2;
    border: solid 1px #e4e5e9;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-corporation-executive-card .p-corporation-executive-card__icon {
        width: 1.75rem;
        height: 1.75rem;
        border-width: .0625rem
    }
}

.p-corporation-executive-card .p-corporation-executive-card__icon:before,.p-corporation-executive-card .p-corporation-executive-card__icon:after {
    position: absolute;
    top: calc(50% - 1px);
    left: calc(50% - 6px);
    width: 12px;
    height: 2px;
    content: "";
    background-color: currentcolor
}

@media screen and (width <= 768px) {
    .p-corporation-executive-card .p-corporation-executive-card__icon: before,.p-corporation-executive-card .p-corporation-executive-card__icon:after {
        top:calc(50% - .0625rem);
        left: calc(50% - .375rem);
        width: .75rem;
        height: .125rem
    }
}

.p-corporation-executive-card .p-corporation-executive-card__icon:after {
    transform: rotate(90deg)
}

.p-corporation-history {
    padding: 120px 0
}

@media screen and (width <= 768px) {
    .p-corporation-history {
        padding: 4rem 0
    }
}

.p-corporation-history .c-container {
    --gap: 40px
}

@media screen and (width <= 768px) {
    .p-corporation-history .c-container {
        --gap: 2rem
    }
}

.p-corporation-history .p-corporation-history__container {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.p-corporation-history .p-corporation-history__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 25%;
    background-image: linear-gradient(to bottom,#fcfcfa00,#fcfcfa);
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__overlay {
        height: 25%
    }
}

.p-corporation-history .is_active+.p-corporation-history__overlay {
    pointer-events: none;
    opacity: 0
}

.p-corporation-history .p-corporation-history__wrapper {
    position: relative;
    z-index: 0;
    display: grid;
    height: auto;
    height: calc-size(auto,size);
    overflow: hidden;
    transition: .4s
}

.p-corporation-history .p-corporation-history__wrapper:not(.is_active) {
    height: 970px
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__wrapper: not(.is_active) {
        height:37.5rem
    }
}

.p-corporation-history .p-corporation-history__group {
    position: relative;
    z-index: 0;
    display: flex;
    gap: 32px;
    align-items: flex-start
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__group {
        flex-direction: column;
        gap: unset
    }
}

.p-corporation-history .p-corporation-history__group:before {
    position: absolute;
    inset: 0 calc(100% - 8px) 0 7px;
    z-index: -1;
    content: "";
    background-color: #e4e5e9
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__group: before {
        inset:0 calc(100% - .5rem) 0 .4375rem
    }
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__group: not(:first-child) {
        padding-top:1.5rem
    }
}

.p-corporation-history .p-corporation-history__group:first-child:before {
    top: 30px
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__group: first-child:before {
        top:1.5rem
    }
}

.p-corporation-history .p-corporation-history__group:last-child:before {
    bottom: calc(100% - 30px)
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__group: last-child:before {
        bottom:calc(100% - 3rem)
    }
}

.p-corporation-history .p-corporation-history__year {
    display: flex;
    flex-shrink: 0;
    gap: 40px;
    align-items: center;
    width: 156px;
    min-height: 60px;
    font-family: Roboto,sans-serif;
    font-size: 25px;
    font-weight: 700;
    line-height: 1.3
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__year {
        gap: .75rem;
        min-height: 3rem;
        font-size: 1.5625rem
    }
}

.p-corporation-history .p-corporation-history__year:before {
    display: block;
    flex-shrink: 0;
    width: 15px;
    height: 15px;
    content: "";
    background-color: #fcfcfa;
    border: solid 4px #004ea2;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-corporation-history .p-corporation-history__year: before {
        width:.9375rem;
        height: .9375rem;
        border-width: .25rem
    }
}

.p-corporation-history .p-corporation-history__button {
    display: flex;
    justify-content: center;
    margin-top: 40px
}

.p-corporation-history-list {
    flex-grow: 1;
    align-self: stretch
}

.p-corporation-history-list .p-corporation-history-list__item {
    padding: 20px 24px;
    border-bottom: dashed 1px #cbcdd6
}

@media screen and (width <= 768px) {
    .p-corporation-history-list .p-corporation-history-list__item {
        padding: 1rem 0;
        margin-left: 1.25rem
    }
}

.p-corporation-history-event {
    display: flex;
    align-items: flex-start
}

@media screen and (width <= 768px) {
    .p-corporation-history-event {
        flex-direction: column;
        font-size: .9375rem
    }
}

.p-corporation-history-event .p-corporation-history-event__month {
    flex-shrink: 0;
    width: 60px;
    font-weight: 500;
    color: #60637a
}

@media screen and (width <= 768px) {
    .p-corporation-history-event .p-corporation-history-event__month {
        width: auto
    }
}

.p-corporation-drawer .p-corporation-drawer__container {
    display: flex;
    flex-direction: column;
    gap: 32px;
    justify-content: center;
    max-width: 700px;
    min-height: 100%;
    padding: 80px 0;
    margin: 0 auto
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__container {
        gap: 1rem;
        justify-content: flex-start;
        padding: 4rem 1.25rem 2.5rem
    }
}

.p-corporation-drawer .p-corporation-drawer__header {
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__header {
        flex-direction: column;
        gap: 1.5rem
    }
}

.p-corporation-drawer .p-corporation-drawer__img {
    flex-shrink: 0;
    width: 300px;
    overflow: hidden;
    border: solid 1px #e4e5e9;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__img {
        width: 100%;
        border-width: .0625rem;
        border-radius: .25rem
    }
}

.p-corporation-drawer .p-corporation-drawer__img img {
    width: 100%
}

.p-corporation-drawer .p-corporation-drawer__profile {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    gap: 24px;
    align-self: stretch
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__profile {
        gap: .75rem
    }
}

.p-corporation-drawer .p-corporation-drawer__label {
    font-weight: 700;
    color: #004ea2
}

.p-corporation-drawer .p-corporation-drawer__name {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__name {
        font-size: 1.5rem
    }
}

.p-corporation-drawer .p-corporation-drawer__name-en {
    font-size: 14px;
    font-weight: 500;
    color: #525468
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__name-en {
        font-size: .75rem
    }
}

.p-corporation-drawer .p-corporation-drawer__bio {
    font-size: 14px;
    font-weight: 500;
    color: #525468
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__bio {
        font-size: .75rem
    }
}

.p-corporation-drawer .p-corporation-drawer__career {
    display: flex;
    flex-direction: column;
    gap: 12px
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__career {
        gap: .75rem
    }
}

.p-corporation-drawer .p-corporation-drawer__title {
    font-size: 22px;
    font-weight: 500;
    line-height: 1.5;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__title {
        font-size: 1.125rem
    }
}

.p-corporation-drawer .p-corporation-drawer__career-list {
    color: #383941
}

@media screen and (width <= 768px) {
    .p-corporation-drawer .p-corporation-drawer__career-list {
        font-size: .875rem
    }
}

.p-product-about {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-product-about {
        padding: 3rem 0
    }
}

.p-product-about .c-container {
    --container: 1360px;
    --gap: 0px
}

@media screen and (width <= 768px) {
    .p-product-about .c-container {
        margin-inline: unset
    }
}

.p-product-about .p-product-about__bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1
}

.p-product-about .p-product-about__bg img,.p-product-about .p-product-about__bg picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.p-product-about .p-product-about__heading {
    padding: 56px 0;
    overflow: hidden;
    background-color: #f4f5f7;
    border-start-start-radius: 12px;
    border-start-end-radius: 12px
}

@media screen and (width <= 768px) {
    .p-product-about .p-product-about__heading {
        padding: 4rem 1.25rem;
        border-radius: unset
    }
}

.p-product-about .p-product-about__header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-product-about .p-product-about__header-inner {
        flex-direction: column;
        gap: 2.5rem
    }
}

.p-product-about .p-product-about__title {
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 500px
}

@media screen and (width <= 768px) {
    .p-product-about .p-product-about__title {
        gap: 1.5rem;
        width: auto
    }
}

.p-product-about .p-product-about__lead {
    font-size: 15px;
    color: #383941
}

.p-product-about .p-product-about__container {
    max-width: 1090px;
    margin: 0 auto
}

.p-product-about .p-product-about__contents {
    position: relative;
    z-index: 0;
    padding: 80px 0;
    overflow: hidden;
    border-end-start-radius: 12px;
    border-end-end-radius: 12px
}

.p-product-about .p-product-about__list {
    display: flex;
    flex-wrap: wrap;
    gap: 40px
}

@media screen and (width <= 768px) {
    .p-product-about .p-product-about__list {
        gap: 1.5rem;
        padding: 0 1.25rem
    }
}

.p-product-about .p-product-about__list-item {
    display: flex;
    width: calc((100% - 40px)/2)
}

@media screen and (width <= 768px) {
    .p-product-about .p-product-about__list-item {
        width: 100%
    }
}

.p-product-about-block {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 48px 48px 40px;
    background: #fff9;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 8px
}

@media screen and (width <= 768px) {
    .p-product-about-block {
        gap: 1rem;
        padding: 2rem 1.25rem;
        border-width: .0625rem;
        border-radius: .5rem
    }
}

.p-product-about-block .p-product-about-block__header {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .p-product-about-block .p-product-about-block__header {
        gap: 1rem
    }
}

.p-product-about-block .p-product-about-block__caption {
    font-weight: 500
}

@media screen and (width <= 768px) {
    .p-product-about-block .p-product-about-block__caption {
        font-size: .875rem
    }
}

.p-product-about-block .p-product-about-block__title {
    font-family: Roboto,sans-serif;
    font-size: 32px;
    font-style: italic;
    line-height: 1;
    color: #004ea2;
    letter-spacing: 0
}

@media screen and (width <= 768px) {
    .p-product-about-block .p-product-about-block__title {
        font-size: 2rem
    }
}

.p-product-about-block .p-product-about-block__lead {
    font-size: 15px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-product-about-block .p-product-about-block__lead {
        font-size: .875rem
    }
}

.p-product-about-block .p-product-about-block__image {
    overflow: hidden;
    border-radius: 8px
}

.p-product-about-block .p-product-about-block__image img {
    width: 100%
}

.p-product-about-block .p-product-about-block__button {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: center
}

@media screen and (width <= 768px) {
    .p-product-about-block .p-product-about-block__button {
        gap: .75rem;
        justify-content: flex-start
    }
}

.p-product-about-image {
    position: relative;
    z-index: 0;
    width: 460px
}

@media screen and (width <= 768px) {
    .p-product-about-image {
        width: 20.9375rem;
        margin: 0 auto
    }
}

.p-product-about-image .p-product-about-image__bg-overlay {
    position: relative;
    width: 436px;
    height: 436px;
    margin: 0 auto
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__bg-overlay {
        width: 18.125rem;
        height: 18.125rem
    }
}

.p-product-about-image .p-product-about-image__bg-overlay span {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    background-color: #004ea2;
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

.p-product-about-image .p-product-about-image__bg-overlay span:nth-child(1) {
    width: 100%;
    height: 100%;
    opacity: .1
}

.p-product-about-image .p-product-about-image__bg-overlay span:nth-child(2) {
    width: calc(100% - 80px);
    height: calc(100% - 80px);
    opacity: .1
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__bg-overlay span: nth-child(2) {
        width:calc(100% - 3.25rem);
        height: calc(100% - 3.25rem)
    }
}

.p-product-about-image .p-product-about-image__bg-overlay span:nth-child(3) {
    width: calc(100% - 152px);
    height: calc(100% - 152px);
    opacity: .2
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__bg-overlay span: nth-child(3) {
        width:calc(100% - 6.25rem);
        height: calc(100% - 6.25rem)
    }
}

.p-product-about-image .p-product-about-image__bg-overlay span:nth-child(4) {
    width: calc(100% - 218px);
    height: calc(100% - 218px)
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__bg-overlay span: nth-child(4) {
        width:calc(100% - 8.75rem);
        height: calc(100% - 8.75rem)
    }
}

.p-product-about-image .p-product-about-image__bg-caption {
    position: absolute;
    bottom: 25px;
    left: 50%;
    width: 150px;
    transform: translate(-50%)
}

.p-product-about-image .p-product-about-image__bg-caption--center {
    top: 50%;
    bottom: unset;
    left: 50%;
    transform: translate(-50%,-50%)
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__bg-caption {
        width: 6.25rem
    }
}

.p-product-about-image .p-product-about-image__bg-items {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 220px;
    height: 220px;
    overflow: hidden;
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__bg-items {
        width: 9.125rem;
        height: 9.125rem
    }
}

.p-product-about-image .p-product-about-image__icon-block {
    position: absolute;
    display: inline-flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__icon-block {
        gap: .25rem
    }
}

.p-product-about-image .p-product-about-image__icon-block:nth-child(1) {
    top: 0;
    left: 0
}

.p-product-about-image .p-product-about-image__icon-block:nth-child(2) {
    top: 0;
    right: 0
}

.p-product-about-image .p-product-about-image__icon-block:nth-child(3) {
    right: 0;
    bottom: 0;
    flex-direction: column-reverse
}

.p-product-about-image .p-product-about-image__icon-block:nth-child(4) {
    bottom: 0;
    left: 0;
    flex-direction: column-reverse
}

.p-product-about-image .p-product-about-image__icon-title {
    font-family: Roboto,sans-serif;
    font-size: 13px;
    font-style: italic;
    color: #004ea2;
    text-align: center
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__icon-title {
        font-size: .75rem
    }
}

.p-product-about-image .p-product-about-image__icon {
    position: relative;
    z-index: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    background-color: #f4f5f7;
    border-radius: 50%;
    box-shadow: 0 4px 4px #0000000d;
    transition: .3s
}

.p-product-about-image .p-product-about-image__icon:before {
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    content: "";
    border: solid 4px #fff;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__icon: before {
        border-width:.25rem
    }
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__icon {
        gap: unset;
        width: 5rem;
        height: 5rem;
        box-shadow: 0 .1875rem .1875rem #0000000d
    }
}

.p-product-about-image .p-product-about-image__icon-img {
    width: 32px;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__icon-img {
        width: 1.75rem;
        height: 1.75rem
    }
}

.p-product-about-image .p-product-about-image__icon-label {
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-product-about-image .p-product-about-image__icon-label {
        font-size: .75rem;
        line-height: 1.5
    }
}

@media screen and (width >= 769px) {
    .p-product-about-image .p-product-about-image__icon-block.is_active: nth-child(1) {
        top:-24px;
        left: -24px
    }

    .p-product-about-image .p-product-about-image__icon-block.is_active:nth-child(2) {
        top: -24px;
        right: -24px
    }

    .p-product-about-image .p-product-about-image__icon-block.is_active:nth-child(3) {
        right: -24px;
        bottom: -24px
    }

    .p-product-about-image .p-product-about-image__icon-block.is_active:nth-child(4) {
        bottom: -24px;
        left: -24px
    }

    .p-product-about-image .p-product-about-image__icon-block.is_active .p-product-about-image__icon {
        width: 162px;
        height: 162px;
        border: solid 1px #004ea2
    }

    .p-product-about-image .p-product-about-image__icon-block.is_active .p-product-about-image__icon-img {
        width: 64px
    }

    .p-product-about-image .p-product-about-image__icon-block.is_active .p-product-about-image__icon-label {
        font-size: 18px;
        font-weight: 700;
        color: #004ea2
    }
}

.p-product-service {
    padding: 120px 0
}

@media screen and (width <= 768px) {
    .p-product-service {
        padding: 4rem 0
    }
}

.p-product-service .c-container {
    --gap: 40px
}

@media screen and (width <= 768px) {
    .p-product-service .c-container {
        --gap: 1.5rem
    }
}

.p-product-service .p-product-service__list {
    display: flex;
    flex-wrap: wrap;
    gap: 34px
}

@media screen and (width <= 768px) {
    .p-product-service .p-product-service__list {
        gap: 1.5rem
    }
}

.p-product-service .p-product-service__list-item {
    width: calc((100% - 68px) / 3)
}

@media screen and (width <= 768px) {
    .p-product-service .p-product-service__list-item {
        width: 100%
    }
}

.p-product-service-card {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .p-product-service-card {
        gap: 1rem
    }
}

.p-product-service-card .p-product-service-card__img {
    overflow: hidden;
    border-radius: 8px
}

@media screen and (width <= 768px) {
    .p-product-service-card .p-product-service-card__img {
        border-radius: .25rem
    }
}

.p-product-service-card .p-product-service-card__img img {
    width: 100%
}

.p-product-service-card .p-product-service-card__body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

@media screen and (width <= 768px) {
    .p-product-service-card .p-product-service-card__body {
        gap: .5rem
    }
}

.p-product-service-card .p-product-service-card__title {
    font-family: Roboto,sans-serif;
    font-size: 20px;
    font-style: italic;
    font-weight: 600;
    line-height: 1;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-product-service-card .p-product-service-card__title {
        font-size: 1.125rem
    }
}

.p-product-service-card .p-product-service-card__lead {
    font-size: 15px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-product-service-card .p-product-service-card__lead {
        font-size: .9375rem
    }
}

a.p-product-service-card:hover .p-product-service-card__img {
    opacity: .7
}

a.p-product-service-card:hover .p-product-service-card__title {
    text-decoration: underline
}

.p-privacy-info {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-privacy-info {
        padding: 4rem 0
    }
}

.p-privacy-info .p-privacy-info__table {
    counter-reset: info-table
}

@media screen and (width <= 768px) {
    .p-privacy-info .p-privacy-info__table th,.p-privacy-info .p-privacy-info__table td {
        min-width: 21.25rem
    }
}

.p-privacy-info .p-privacy-info__table th:nth-child(1),.p-privacy-info .p-privacy-info__table td:nth-child(1) {
    width: 40%
}

@media screen and (width <= 768px) {
    .p-privacy-info .p-privacy-info__table th: nth-child(1),.p-privacy-info .p-privacy-info__table td:nth-child(1) {
        min-width:13.75rem
    }
}

.p-privacy-info .p-privacy-info__table-title {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    counter-increment: info-table
}

.p-privacy-info .p-privacy-info__table-title:before {
    flex-shrink: 0;
    content: "(" counter(info-table) ")"
}

.p-disclosure-info {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-disclosure-info {
        padding: 4rem 0
    }
}

.p-disclosure-info .p-disclosure-info__group {
    counter-reset: info-table
}

.p-disclosure-info .p-disclosure-info__subgroup-title {
    display: flex;
    align-items: flex-start;
    font-size: 16px;
    font-weight: 700;
    counter-increment: info-table
}

@media screen and (width <= 768px) {
    .p-disclosure-info .p-disclosure-info__subgroup-title {
        font-size: 1rem
    }
}

.p-disclosure-info .p-disclosure-info__subgroup-title:before {
    content: counter(info-table,decimal) "."
}

.p-security-info {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-security-info {
        padding: 4rem 0
    }
}

.p-security-info .p-security-info__table th,.p-security-info .p-security-info__table td {
    padding: 16px 20px
}

@media screen and (width <= 768px) {
    .p-security-info .p-security-info__table th,.p-security-info .p-security-info__table td {
        min-width: unset;
        padding: 1rem 1.25rem
    }
}

.p-security-info .p-security-info__table tbody th {
    width: 30%;
    font-size: 16px
}

@media screen and (width <= 768px) {
    .p-security-info .p-security-info__table tbody th {
        width: 40%;
        font-size: .875rem
    }
}

.p-error-404 {
    position: relative;
    z-index: 0;
    padding: 120px 0
}

@media screen and (width <= 768px) {
    .p-error-404 {
        padding: 3rem 0 5rem
    }
}

.p-ir-document {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-document {
        padding: 3rem 0
    }
}

.p-ir-document .c-container {
    --gap: 108px
}

@media screen and (width <= 768px) {
    .p-ir-document .c-container {
        --gap: 1.5rem
    }
}

.p-ir-document .p-ir-document__heading {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media screen and (width <= 768px) {
    .p-ir-document .p-ir-document__heading {
        display: contents
    }
}

.p-ir-document .p-ir-document__title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-ir-document .p-ir-document__title {
        font-size: 1.375rem
    }
}

@media screen and (width <= 768px) {
    .p-ir-document .p-ir-document__button {
        order: 3;
        margin-top: .5rem
    }
}

.p-ir-news {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-news {
        padding: 3rem 0
    }
}

.p-ir-news .p-ir-news__title {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-ir-news .p-ir-news__title {
        font-size: 1.375rem
    }
}

.p-ir-news .p-ir-news__content {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.p-ir-news .p-ir-news__button {
    display: flex;
    justify-content: flex-end
}

@media screen and (width <= 768px) {
    .p-ir-news .p-ir-news__button {
        justify-content: flex-start
    }
}

.p-ir-news .p-ir-news__list {
    max-height: 585px;
    overflow-y: scroll
}

@media screen and (width <= 768px) {
    .p-ir-news .p-ir-news__list {
        max-height: unset;
        overflow-y: unset
    }
}

.p-ir-plan {
    padding: 96px 0
}

@media screen and (width <= 768px) {
    .p-ir-plan {
        padding: 4rem 0
    }
}

.p-ir-plan .c-container {
    --gap: 56px
}

@media screen and (width <= 768px) {
    .p-ir-plan .c-container {
        --gap: 3rem
    }
}

.p-ir-plan .p-ir-plan__inner {
    display: flex;
    gap: 80px;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-ir-plan .p-ir-plan__inner {
        flex-direction: column;
        gap: 2rem
    }
}

.p-ir-plan .p-ir-plan__heading {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 520px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-plan .p-ir-plan__heading {
        gap: 1rem;
        max-width: unset
    }
}

@media screen and (width <= 768px) {
    .p-ir-plan .p-ir-plan__lead {
        font-size: .9375rem
    }
}

@media screen and (width <= 768px) {
    .p-ir-plan .p-ir-plan__button {
        margin-top: .5rem
    }
}

.p-ir-plan .p-ir-plan__slide-img {
    width: 50%;
    max-width: 600px
}

@media screen and (width <= 768px) {
    .p-ir-plan .p-ir-plan__slide-img {
        width: auto;
        max-width: unset
    }
}

.p-ir-plan .p-ir-plan__movie {
    position: relative;
    z-index: 0;
    max-width: 750px;
    margin: 0 auto
}

.p-ir-plan .p-ir-plan__movie-thumbnail img {
    width: 100%
}

.p-ir-plan .p-ir-plan__movie-button {
    position: absolute;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background-color: #004ea2;
    border-radius: 50%;
    transform: translate(-50%,-50%)
}

.p-ir-plan .p-ir-plan__movie-button-icon {
    display: inline-block;
    width: 12px;
    height: 16px;
    clip-path: polygon(0 0,0% 100%,100% 50%);
    background-color: #fff
}

.p-ir-message {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-message {
        padding: 3rem 0
    }
}

.p-ir-message .c-container {
    --gap: 32px
}

@media screen and (width <= 768px) {
    .p-ir-message .c-container {
        --gap: 1.5rem
    }
}

.p-ir-message .p-ir-message__inner {
    display: flex;
    gap: 48px;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-ir-message .p-ir-message__inner {
        flex-direction: column
    }
}

.p-ir-message .p-ir-message__images {
    display: flex;
    flex-direction: column;
    gap: 16px;
    max-width: 427px
}

@media screen and (width <= 768px) {
    .p-ir-message .p-ir-message__images {
        gap: .5rem;
        max-width: unset
    }
}

.p-ir-message .p-ir-message__image {
    overflow: hidden;
    border-radius: 4px
}

@media screen and (width <= 768px) {
    .p-ir-message .p-ir-message__image {
        max-width: 18.875rem;
        margin: 0 auto;
        border-radius: .25rem
    }
}

.p-ir-message .p-ir-message__image img {
    width: 100%
}

.p-ir-message .p-ir-message__sign {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .p-ir-message .p-ir-message__sign {
        font-size: 1.375rem
    }
}

.p-ir-message .p-ir-message__text-small {
    font-size: 16px;
    font-weight: 700
}

@media screen and (width <= 768px) {
    .p-ir-message .p-ir-message__text-small {
        font-size: .875rem
    }
}

.p-ir-message .p-ir-message__body {
    max-width: 680px
}

.p-ir-pages {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-pages {
        padding: 4rem 0
    }
}

.p-ir-pages .c-container {
    --gap: 32px
}

@media screen and (width <= 768px) {
    .p-ir-pages .c-container {
        --gap: 1.5rem
    }
}

.p-ir-pages .p-ir-pages__list {
    display: flex;
    flex-wrap: wrap;
    gap: 42px
}

@media screen and (width <= 768px) {
    .p-ir-pages .p-ir-pages__list {
        flex-direction: column;
        gap: 1rem
    }
}

.p-ir-pages .p-ir-pages__list-item {
    width: calc((100% - 84px) / 3)
}

@media screen and (width <= 768px) {
    .p-ir-pages .p-ir-pages__list-item {
        width: 100%
    }
}

.p-ir-pages .p-ir-pages__card {
    padding: unset
}

.p-ir-pages .p-ir-pages__card .c-card__img {
    border-radius: 12px
}

.p-ir-data {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-data {
        padding: 3rem 0
    }
}

.p-ir-data .c-container {
    --gap: 64px
}

@media screen and (width <= 768px) {
    .p-ir-data .c-container {
        --gap: 2.5rem
    }
}

.p-ir-data .p-ir-data__container {
    display: flex;
    flex-direction: column;
    gap: 32px
}

@media screen and (width <= 768px) {
    .p-ir-data .p-ir-data__container {
        gap: 1.5rem
    }
}

.p-ir-data .p-ir-data__subscript {
    font-size: 14px;
    color: #60637a
}

@media screen and (width <= 768px) {
    .p-ir-data .p-ir-data__subscript {
        font-size: .75rem
    }
}

.p-ir-library-links {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-library-links {
        padding: 4rem 0
    }
}

.p-ir-library-links .p-ir-library-links__list {
    display: flex;
    flex-wrap: wrap;
    gap: 18px
}

@media screen and (width <= 768px) {
    .p-ir-library-links .p-ir-library-links__list {
        gap: .75rem
    }
}

.p-ir-library-links .p-ir-library-links__list-item {
    display: flex;
    width: calc((100% - 36px) / 3)
}

@media screen and (width <= 768px) {
    .p-ir-library-links .p-ir-library-links__list-item {
        width: 100%
    }
}

.p-ir-library-links .p-ir-library-links__list-item>* {
    flex-grow: 1
}

.p-ir-library-block {
    display: flex;
    gap: 24px;
    align-items: center;
    padding: 32px 24px;
    border: 1px solid #004ea2;
    border-radius: 2px;
    transition: .3s
}

@media screen and (width <= 768px) {
    .p-ir-library-block {
        gap: 1.5rem;
        padding: 1rem;
        border-radius: .125rem
    }
}

.p-ir-library-block:hover {
    background-color: #ebf9ff
}

.p-ir-library-block .p-ir-library-block__icon {
    flex-shrink: 0;
    width: 48px
}

@media screen and (width <= 768px) {
    .p-ir-library-block .p-ir-library-block__icon {
        width: 2.5rem
    }
}

.p-ir-library-block .p-ir-library-block__icon img {
    width: 100%
}

.p-ir-library-block .p-ir-library-block__title {
    flex-grow: 1;
    font-size: 18px;
    font-weight: 500;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-library-block .p-ir-library-block__title {
        font-size: 1rem
    }
}

.p-ir-library-block .p-ir-library-block__arrow {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 21px;
    height: 21px;
    background-color: #004ea2;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-ir-library-block .p-ir-library-block__arrow {
        width: 1.3125rem;
        height: 1.3125rem
    }
}

.p-ir-library-block .p-ir-library-block__arrow .c-icon {
    width: 9px;
    height: 9px;
    color: #fff
}

@media screen and (width <= 768px) {
    .p-ir-library-block .p-ir-library-block__arrow .c-icon {
        width: .5625rem;
        height: .5625rem
    }
}

.p-ir-results {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-results {
        padding: 4rem 0
    }
}

@media screen and (width <= 768px) {
    .p-ir-results .c-container {
        --gap: 1.5rem
    }
}

.p-ir-results .p-ir-results__header {
    display: flex;
    gap: 24px;
    align-items: center;
    justify-content: space-between
}

@media screen and (width <= 768px) {
    .p-ir-results .p-ir-results__header {
        flex-direction: column;
        gap: 1.5rem;
        align-items: flex-start
    }
}

.p-ir-results .p-ir-results__sort {
    flex-shrink: 0;
    min-width: 168px
}

@media screen and (width <= 768px) {
    .p-ir-results .p-ir-results__sort {
        width: 100%
    }
}

.p-ir-results .p-ir-results__content {
    display: flex;
    flex-direction: column;
    gap: 48px
}

.p-ir-results .p-ir-results__group {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media screen and (width <= 768px) {
    .p-ir-results .p-ir-results__group {
        gap: 1rem
    }
}

.p-ir-results .p-ir-results__noresult {
    padding: 44px 0;
    border-top: 1px solid #e4e5e9;
    border-bottom: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .p-ir-results .p-ir-results__noresult {
        padding: 1rem 0
    }
}

.p-ir-results .p-ir-results__noresult-text {
    font-weight: 700
}

.p-ir-results-nav {
    display: flex;
    flex-wrap: wrap
}

@media screen and (width <= 768px) {
    .p-ir-results-nav {
        gap: .0625rem 0
    }
}

.p-ir-results-nav .p-ir-results-nav__link {
    position: relative;
    z-index: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 170px;
    min-height: 45px;
    padding: 8px 10px;
    line-height: 1.5;
    color: #004ea2;
    text-align: center;
    background-color: #f4f5f7
}

@media screen and (width <= 768px) {
    .p-ir-results-nav .p-ir-results-nav__link {
        width: 33.3333333333%;
        min-width: unset;
        min-height: 2.75rem;
        font-size: .8125rem
    }
}

.p-ir-results-nav .p-ir-results-nav__link.is_active {
    color: #fff;
    background-color: #004ea2
}

.p-ir-results-nav .p-ir-results-nav__link.is_active:before {
    content: none!important
}

.p-ir-results-nav .p-ir-results-nav__link:before {
    position: absolute;
    top: calc(50% - 8px);
    left: 0;
    display: block;
    width: 1px;
    height: 16px;
    background-color: #e4e5e9
}

@media screen and (width >= 769px) {
    .p-ir-results-nav .p-ir-results-nav__link: not(:first-child):before {
        content:""
    }
}

@media screen and (width <= 768px) {
    .p-ir-results-nav .p-ir-results-nav__link: not(:nth-child(3n+1)):before {
        content:""
    }
}

.p-ir-stock {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-stock {
        padding: 4rem 0
    }
}

.p-ir-stock .c-container {
    --container: 900px;
    --gap: 80px
}

@media screen and (width <= 768px) {
    .p-ir-stock .c-container {
        --gap: 4rem
    }
}

.p-ir-stock .p-ir-stock__group {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media screen and (width <= 768px) {
    .p-ir-stock .p-ir-stock__group {
        gap: 1.5rem
    }
}

.p-ir-stock .p-ir-stock__button {
    display: flex;
    justify-content: center;
    margin-top: 8px
}

@media screen and (width <= 768px) {
    .p-ir-stock .p-ir-stock__button {
        margin-top: .5rem
    }
}

@media screen and (width <= 768px) {
    .p-ir-stock .p-ir-stock__table tbody th {
        width: 8.75rem
    }
}

@media screen and (width <= 768px) {
    .p-ir-stock .p-ir-stock__table tbody td {
        width: 12.1875rem
    }
}

.p-ir-disclaimer {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-disclaimer {
        padding: 4rem 0
    }
}

.p-ir-disclaimer .c-container {
    --container: 900px;
    --gap: 80px
}

@media screen and (width <= 768px) {
    .p-ir-disclaimer .c-container {
        --gap: 4rem
    }
}

.p-ir-disclaimer .p-ir-disclaimer__content {
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-disclaimer .p-ir-disclaimer__content {
        font-size: .9375rem
    }
}

.p-ir-disclosure {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-disclosure {
        padding: 3rem 0
    }
}

.p-ir-disclosure .c-container {
    --container: 900px;
    --gap: 80px
}

@media screen and (width <= 768px) {
    .p-ir-disclosure .c-container {
        --gap: 4rem
    }
}

.p-ir-disclosure .p-ir-disclosure__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-disclosure .p-ir-disclosure__content {
        gap: 1.5rem;
        font-size: .9375rem
    }
}

.p-ir-disclosure .p-ir-disclosure__group {
    display: flex;
    flex-direction: column;
    gap: 12px
}

@media screen and (width <= 768px) {
    .p-ir-disclosure .p-ir-disclosure__group {
        gap: .75rem
    }
}

.p-ir-disclosure .p-ir-disclosure__title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #09090b
}

@media screen and (width <= 768px) {
    .p-ir-disclosure .p-ir-disclosure__title {
        font-size: 1rem
    }
}

.p-ir-notice {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-notice {
        padding: 3rem 0
    }
}

.p-ir-notice .c-container {
    --container: 900px
}

.p-ir-notice .p-ir-notice__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-notice .p-ir-notice__content {
        gap: 1.5rem;
        font-size: .9375rem
    }
}

.p-ir-notice .p-ir-notice__group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-notice .p-ir-notice__group {
        gap: .75rem
    }
}

.p-ir-notice .p-ir-notice__group a {
    color: #004ea2;
    text-decoration: underline
}

.p-ir-notice .p-ir-notice__title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: #09090b
}

@media screen and (width <= 768px) {
    .p-ir-notice .p-ir-notice__title {
        font-size: 1rem
    }
}

.p-ir-section-links {
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-section-links {
        padding: 3rem 0
    }
}

.p-ir-cal {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-cal {
        padding: 4rem 0
    }
}

.p-ir-cal .p-ir-cal__group {
    display: flex;
    flex-direction: column;
    gap: 32px
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__group {
        gap: 2rem
    }
}

.p-ir-cal .p-ir-cal__group--narrow {
    gap: 16px
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__group--narrow {
        gap: 1rem
    }
}

.p-ir-cal .p-ir-cal__list-item {
    padding: 24px;
    border-bottom: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__list-item {
        padding: 1rem .5rem;
        border-bottom: .0625rem solid #e4e5e9
    }
}

.p-ir-cal .p-ir-cal__list-item:first-child {
    border-top: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__list-item: first-child {
        border-top:.0625rem solid #e4e5e9
    }
}

.p-ir-cal .p-ir-cal__schedule {
    display: flex;
    gap: 40px;
    align-items: center
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__schedule {
        flex-direction: column;
        gap: 0;
        align-items: flex-start;
        font-size: .9375rem
    }
}

.p-ir-cal .p-ir-cal__schedule-label {
    flex-shrink: 0;
    width: 200px;
    border-right: 1px solid #e4e5e9
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__schedule-label {
        width: auto;
        border: unset
    }
}

.p-ir-cal .p-ir-cal__subscript {
    font-size: 14px;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-cal .p-ir-cal__subscript {
        font-size: .875rem
    }
}

.p-ir-calendar {
    display: flex
}

@media screen and (width <= 768px) {
    .p-ir-calendar {
        flex-wrap: wrap
    }
}

.p-ir-calendar .p-ir-calendar__col {
    display: flex;
    flex: 1;
    flex-direction: column
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__col {
        flex: unset;
        width: 50%
    }
}

.p-ir-calendar .p-ir-calendar__period {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #fcfcfa;
    text-align: center;
    background-color: #063165
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__period {
        min-height: 2.75rem;
        padding: .5rem;
        font-size: .875rem
    }
}

@media screen and (width >= 769px) {
    .p-ir-calendar .p-ir-calendar__col: not(:first-child) .p-ir-calendar__period,.p-ir-calendar .p-ir-calendar__col:not(:first-child) .p-ir-calendar__month {
        border-left:1px solid #e4e5e9
    }
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__col: nth-child(2n) .p-ir-calendar__period,.p-ir-calendar .p-ir-calendar__col:nth-child(2n) .p-ir-calendar__month {
        border-left:.0625rem solid #e4e5e9
    }
}

.p-ir-calendar .p-ir-calendar__month {
    display: flex;
    background-color: #f4f5f7
}

.p-ir-calendar .p-ir-calendar__month-label {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    min-height: 70px;
    padding: 10px;
    font-size: 15px;
    font-weight: 500;
    color: #063165;
    text-align: center
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__month-label {
        min-height: 3.5rem;
        padding: .5rem;
        font-size: .875rem
    }
}

.p-ir-calendar .p-ir-calendar__month-label:not(:first-child) {
    border-left: 2px dashed #e4e5e9
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__month-label: not(:first-child) {
        border-left:.125rem dashed #e4e5e9
    }
}

.p-ir-calendar .p-ir-calendar__events {
    position: relative;
    z-index: 0;
    height: 90px;
    margin-top: -4px
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__events {
        height: 5rem;
        margin-top: -.25rem
    }
}

.p-ir-calendar .p-ir-calendar__event {
    position: absolute;
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    align-items: center;
    transform: translate(-50%)
}

.p-ir-calendar .p-ir-calendar__event--center {
    left: 50%
}

.p-ir-calendar .p-ir-calendar__event--end {
    left: 94%
}

.p-ir-calendar .p-ir-calendar__event-allow {
    position: relative;
    z-index: 0;
    width: 8px;
    height: 32px;
    color: #004ea2
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__event-allow {
        width: .5rem;
        height: 1.5rem
    }
}

.p-ir-calendar .p-ir-calendar__event-allow--lg {
    height: 60px
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__event-allow--lg {
        height: 3rem
    }
}

.p-ir-calendar .p-ir-calendar__event-allow:before,.p-ir-calendar .p-ir-calendar__event-allow:after {
    display: block;
    content: "";
    background-color: currentcolor
}

.p-ir-calendar .p-ir-calendar__event-allow:after {
    width: 8px;
    height: 8px;
    border-radius: 50%
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__event-allow: after {
        width:.5rem;
        height: .5rem
    }
}

.p-ir-calendar .p-ir-calendar__event-allow:before {
    position: absolute;
    top: 0;
    left: calc(50% - .5px);
    width: 1px;
    height: 100%
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__event-allow: before {
        left:calc(50% - .03125rem);
        width: .0625rem
    }
}

.p-ir-calendar .p-ir-calendar__event-label {
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    color: #004ea2;
    white-space: nowrap
}

@media screen and (width <= 768px) {
    .p-ir-calendar .p-ir-calendar__event-label {
        font-size: .8125rem;
        line-height: 1.5;
        text-align: center
    }
}

.p-ir-faq {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-faq {
        padding: 4rem 0
    }
}

.p-ir-faq .p-ir-faq__content {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .p-ir-faq .p-ir-faq__content {
        gap: 1rem
    }
}

.p-ir-governance {
    position: relative;
    z-index: 0;
    padding: 80px 0
}

@media screen and (width <= 768px) {
    .p-ir-governance {
        padding: 4rem 0
    }
}

.p-ir-governance .p-ir-governance__content {
    display: flex;
    flex-direction: column;
    gap: 48px
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__content {
        gap: 2.5rem
    }
}

.p-ir-governance .p-ir-governance__title-md {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.5
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__title-md {
        font-size: 1.125rem
    }
}

.p-ir-governance .p-ir-governance__group {
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__group {
        gap: 1rem
    }
}

.p-ir-governance .p-ir-governance__desc {
    display: flex;
    flex-direction: column;
    gap: 16px
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__desc {
        gap: 1rem
    }
}

.p-ir-governance .p-ir-governance__link {
    color: #004ea2;
    text-decoration: underline
}

.p-ir-governance .p-ir-governance__link .c-icon-pdf {
    margin: 0 8px;
    vertical-align: middle
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__link .c-icon-pdf {
        margin: 0 .5rem
    }
}

.p-ir-governance .p-ir-governance__text {
    font-size: 1rem;
    color: #383941
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__text {
        font-size: .9375rem
    }
}

.p-ir-governance .p-ir-governance__chart {
    padding: 32px 48px;
    border: solid 1px #e4e5e9
}

@media screen and (width <= 768px) {
    .p-ir-governance .p-ir-governance__chart {
        padding: .75rem;
        border-width: .0625rem
    }
}

.js-slider-carousel .swiper-wrapper {
    transition-timing-function: linear
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform,height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper:before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop:always}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start:var(--swiper-centered-offset-before)}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper: before {
    height:100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start:var(--swiper-centered-offset-before)}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper: before {
    width:100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: #00000026
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top,#00000080,#0000)
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom,#00000080,#0000)
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(360deg)
    }
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-prev,.swiper-button-next {
    position: absolute;
    width: var(--swiper-navigation-size);
    height: var(--swiper-navigation-size);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-prev.swiper-button-disabled,.swiper-button-next.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-prev.swiper-button-hidden,.swiper-button-next.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-prev,.swiper-navigation-disabled .swiper-button-next {
    display: none!important
}

.swiper-button-prev svg,.swiper-button-next svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center;
    fill: currentColor;
    pointer-events: none
}

.swiper-button-lock {
    display: none
}

.swiper-button-prev,.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2))
}

.swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto
}

.swiper-button-prev .swiper-navigation-icon {
    transform: rotate(180deg)
}

.swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto
}

.swiper-horizontal .swiper-button-prev,.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal~.swiper-button-next {
    top: var(--swiper-navigation-top-offset, 50%);
    margin-top: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-left: 0
}

.swiper-horizontal .swiper-button-prev,.swiper-horizontal~.swiper-button-prev,.swiper-horizontal.swiper-rtl .swiper-button-next,.swiper-horizontal.swiper-rtl~.swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 4px);
    right: auto
}

.swiper-horizontal .swiper-button-next,.swiper-horizontal~.swiper-button-next,.swiper-horizontal.swiper-rtl .swiper-button-prev,.swiper-horizontal.swiper-rtl~.swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 4px);
    left: auto
}

.swiper-horizontal .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal~.swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-next .swiper-navigation-icon {
    transform: rotate(180deg)
}

.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl~.swiper-button-prev .swiper-navigation-icon {
    transform: rotate(0)
}

.swiper-vertical .swiper-button-prev,.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-prev,.swiper-vertical~.swiper-button-next {
    left: var(--swiper-navigation-top-offset, 50%);
    right: auto;
    margin-left: calc(0px - (var(--swiper-navigation-size) / 2));
    margin-top: 0
}

.swiper-vertical .swiper-button-prev,.swiper-vertical~.swiper-button-prev {
    top: var(--swiper-navigation-sides-offset, 4px);
    bottom: auto
}

.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical~.swiper-button-prev .swiper-navigation-icon {
    transform: rotate(-90deg)
}

.swiper-vertical .swiper-button-next,.swiper-vertical~.swiper-button-next {
    bottom: var(--swiper-navigation-sides-offset, 4px);
    top: auto
}

.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical~.swiper-button-next .swiper-navigation-icon {
    transform: rotate(90deg)
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translateZ(0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,.swiper-pagination.swiper-pagination-disabled {
    display: none!important
}

.swiper-pagination-fraction,.swiper-pagination-custom,.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active,.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none!important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-vertical>.swiper-pagination-bullets,.swiper-pagination-vertical.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0,-50%,0)
}

.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform,.2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translate(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform,.2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-horizontal,.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-vertical>.swiper-pagination-progressbar,.swiper-pagination-progressbar.swiper-pagination-vertical,.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    backface-visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    margin: 0!important;
    padding: 0!important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    -ms-flex-align: center;
    align-items: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 0;
    pointer-events: none
}

.splide__pagination li {
    display: inline-block;
    line-height: 1;
    list-style-type: none;
    margin: 0;
    pointer-events: auto
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    position: relative;
    visibility: hidden
}

.splide.is-initialized,.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    list-style-type: none!important;
    margin: 0;
    position: relative
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    animation: splide-loading 1s linear infinite;
    border: 2px solid #999;
    border-left-color: transparent;
    border-radius: 50%;
    bottom: 0;
    contain: strict;
    display: inline-block;
    height: 20px;
    left: 0;
    margin: auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 20px
}

.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px
}

.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    overflow: hidden;
    position: relative;
    z-index: 0
}

@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }

    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    margin: 0!important;
    opacity: 0;
    z-index: 0
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    background: #ccc;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    display: -ms-flexbox;
    display: flex;
    height: 2em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: .7;
    padding: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 2em;
    z-index: 1
}

.splide__arrow svg {
    fill: #000;
    height: 1.2em;
    width: 1.2em
}

.splide__arrow:hover:not(:disabled) {
    opacity: .9
}

.splide__arrow:disabled {
    opacity: .3
}

.splide__arrow:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__arrow--prev {
    left: 1em
}

.splide__arrow--prev svg {
    transform: scaleX(-1)
}

.splide__arrow--next {
    right: 1em
}

.splide.is-focus-in .splide__arrow:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__pagination {
    bottom: .5em;
    left: 0;
    padding: 0 1em;
    position: absolute;
    right: 0;
    z-index: 1
}

.splide__pagination__page {
    background: #ccc;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 8px;
    margin: 3px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    width: 8px
}

.splide__pagination__page.is-active {
    background: #fff;
    transform: scale(1.4);
    z-index: 1
}

.splide__pagination__page:hover {
    cursor: pointer;
    opacity: .9
}

.splide__pagination__page:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__pagination__page:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__progress__bar {
    background: #ccc;
    height: 3px
}

.splide__slide {
    -webkit-tap-highlight-color: rgba(0,0,0,0)
}

.splide__slide:focus {
    outline: 0
}

@supports (outline-offset: -3px) {
    .splide__slide:focus-visible {
        outline:3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast:none) {
    .splide__slide:focus-visible {
        border: 3px solid #0bf
    }
}

@supports (outline-offset: -3px) {
    .splide.is-focus-in .splide__slide:focus {
        outline:3px solid #0bf;
        outline-offset: -3px
    }
}

@media screen and (-ms-high-contrast:none) {
    .splide.is-focus-in .splide__slide:focus {
        border: 3px solid #0bf
    }

    .splide.is-focus-in .splide__track>.splide__list>.splide__slide:focus {
        border-color: #0bf
    }
}

.splide__toggle {
    cursor: pointer
}

.splide__toggle:focus-visible {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide.is-focus-in .splide__toggle:focus {
    outline: 3px solid #0bf;
    outline-offset: 3px
}

.splide__track--nav>.splide__list>.splide__slide {
    border: 3px solid transparent;
    cursor: pointer
}

.splide__track--nav>.splide__list>.splide__slide.is-active {
    border: 3px solid #000
}

.splide__arrows--rtl .splide__arrow--prev {
    left: auto;
    right: 1em
}

.splide__arrows--rtl .splide__arrow--prev svg {
    transform: scaleX(1)
}

.splide__arrows--rtl .splide__arrow--next {
    left: 1em;
    right: auto
}

.splide__arrows--rtl .splide__arrow--next svg {
    transform: scaleX(-1)
}

.splide__arrows--ttb .splide__arrow {
    left: 50%;
    transform: translate(-50%)
}

.splide__arrows--ttb .splide__arrow--prev {
    top: 1em
}

.splide__arrows--ttb .splide__arrow--prev svg {
    transform: rotate(-90deg)
}

.splide__arrows--ttb .splide__arrow--next {
    bottom: 1em;
    top: auto
}

.splide__arrows--ttb .splide__arrow--next svg {
    transform: rotate(90deg)
}

.splide__pagination--ttb {
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    left: auto;
    padding: 1em 0;
    right: .5em;
    top: 0
}
