
*:where(:not(iframe, canvas, img, svg, video, svg *)) {
    all: unset;
    display: revert
}
*, *::before, *::after {
    box-sizing: border-box
}
ol, ul {
    list-style: none
}
img {
    max-width: 100%
}
table {
    border-collapse: collapse
}
textarea {
    white-space: revert
}
picture {
    display: block
}
@keyframes ticker-to-left {
    0% {
        transform: translateX(0)
    }
    100% {
        transform: translateX(-50%)
    }
}

.c-box {
    position: relative
}
.c-box-list-stripe .c-box:nth-child(even) {
    background-color: var(--color-sky-light)
}
.c-box-list-stripe-reverse .c-box:nth-child(odd) {
    background-color: var(--color-sky-light)
}
.c-button {
    --button-r: 999px;
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    line-height: var(--leading-tight);
    color: var(--color-white);
    text-decoration: none;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: var(--button-r);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.c-button-white {
    background-color: var(--color-white);
    border: 1px solid var(--color-white)
}
.c-button-white .c-button-text {
    color: var(--color-primary)
}
.c-button-white .c-button-icon::before {
    background-color: var(--color-primary)
}
.c-button-white .c-button-icon svg {
    stroke: var(--color-white)
}
.c-button-stroke {
    background-color: rgba(0, 0, 0, 0);
    border-color: var(--color-white)
}
.c-button-text, .c-button-cover-text {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-tight)
}
.c-button-icon {
    position: relative;
    flex: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}
.c-button-icon::before {
    position: absolute;
    inset: 0;
    content: "";
    background-color: var(--color-white);
    border-radius: 50%;
    transition: transform 80ms var(--ease-power4-out), opacity 80ms ease, color 80ms ease, background-color 80ms ease, border-color 80ms ease
}
.c-button-icon svg {
    position: relative;
    z-index: 2;
    width: 40%;
    stroke: var(--color-primary);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.c-button-cover {
    position: absolute;
    inset: 0;
    text-decoration: none;
    pointer-events: none;
    background-color: var(--color-white);
    border-radius: var(--button-r);
    transform: translate3d(calc(-100% - 1px), 0, 0)
}
.c-button-arrow-left .c-button-cover {
    transform: translate3d(calc(100% + 1px), 0, 0)
}
.c-button-white .c-button-cover {
    background-color: var(--color-primary)
}
.c-button-cover-text {
    position: absolute;
    inset: 0;
    z-index: 2;
    color: var(--color-primary);
    pointer-events: none;
    opacity: 0
}
.c-button-white .c-button-cover-text {
    color: var(--color-white)
}
.c-button {
    --cover-enter-sec: 300ms;
    --cover-return-sec: 240ms;
    --opacity-enter-sec: 200ms;
    --opacity-return-sec: 120ms
}
.c-button-icon {
    transition: left calc(var(--cover-return-sec) - 30ms) 0ms var(--ease-power4-out)
}
.c-button-cover {
    transition: transform var(--cover-return-sec) 0ms var(--ease-power4-out)
}
.c-button-cover-text {
    transition: opacity var(--opacity-return-sec) ease
}
.l-footer-contact .c-button-parent, .recruit-entry .c-button-parent {
    transition: 0s;
    transition-delay: 0s
}



.c-section {
    width: 100%
}
.c-section-list {
    display: flex;
    flex-direction: column
}
.c-rise {
    opacity: 0
}
.c-rise.is-active {
    opacity: 1;
    transition: opacity 320ms ease, transform 1000ms var(--ease-expo-out);
    transition-delay: 620ms;
    transform: translateY(0)
}
.c-service-card {
    display: flex;
    flex-direction: column
}
.c-service-card-list {
    display: grid
}
.c-service-card-action {
    flex-grow: 1;
    background-color: var(--color-white);
    border-radius: var(--r);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.c-service-card-action.is-active {
    background-color: var(--color-primary)
}
.c-service-card-action.is-active .c-service-card-index {
    color: var(--color-white)
}
.c-service-card-action.is-active .c-service-card-info {
    color: var(--color-white)
}
.c-service-card-action.is-active .c-service-card-icon {
    stroke: var(--color-white)
}
.c-service-card-action.is-active .c-service-card-figure img {
    transform: scale(1.1)
}
.c-service-card-figure {
    overflow: hidden
}
.c-service-card-figure img {
    transform-origin: center;
    object-fit: cover;
    transition: transform 400ms var(--ease-power4-out)
}
.c-service-card-info {
    position: relative;
    display: flex;
    flex-direction: column;
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.c-service-card-index {
    margin-right: auto;
    line-height: var(--leading-none);
    color: var(--color-primary);
    border: 1px solid currentcolor;
    border-radius: 999px;
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke;
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold);
}
.c-service-card-heading {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-half)
}
.c-service-card-icon {
    position: absolute;
    stroke: var(--color-primary);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke;
    display: none;
}
.c-service-card-detail-frame {
    overflow: hidden
}
.c-service-card-detail-index {
    padding: .6rem 1.7rem;
    font-size: 1.8rem;
    line-height: var(--leading-none);
    border: 1px solid var(--color-white);
    border-radius: 999px;
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}
.c-service-card-detail-heading {
    margin-top: 2.5rem;
    font-size: 4.8rem;
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-quarter)
}
.c-service-card-detail-description {
    margin-top: 3.8rem;
    text-align: justify
}
.c-service-card-detail-children {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 3.2rem;
    width: 100%;
    margin-top: 6.4rem
}
.c-service-card-detail-children-link {
    display: flex;
    column-gap: 1.6rem;
    align-items: center
}
.c-service-card-detail-children-icon {
    flex: none;
    width: 4rem;
    height: 4rem;
    background-color: var(--color-white);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}
.c-service-card-detail-children-icon svg {
    width: 1.6rem;
    stroke: var(--color-primary)
}
.c-service-card-detail-children-name {
    font-size: 2.6rem;
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-half)
}
.c-spec {
    position: relative
}
.c-spec::before, .c-spec::after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    content: ""
}
.c-spec::before {
    width: 100%;
    background-color: var(--color-gray-light)
}
.c-spec::after {
    z-index: 1;
    width: var(--heading-width);
    background-color: var(--color-primary)
}
.c-spec-item {
    position: relative;
    display: flex
}
.c-spec-item::before, .c-spec-item::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    content: ""
}
.c-spec-item::before {
    width: 100%;
    background-color: var(--color-gray-light)
}
.c-spec-item::after {
    z-index: 1;
    width: var(--heading-width);
    background-color: var(--color-primary)
}
.c-spec-heading {
    flex: none;
    font-weight: var(--font-weight-medium);
    color: var(--color-primary)
}
.c-spec-desc-text {
    display: block
}
.c-spec-desc:has(.c-spec-desc-image) {
    display: flex;
    flex-grow: 1;
    justify-content: space-between
}
.c-spec-desc-image {
    flex: none;
    height: -moz-fit-content;
    height: fit-content;
    overflow: hidden;
    border-radius: var(--r)
}
.c-spec-link {
    display: inline-flex;
    align-items: center;
    text-decoration: underline
}
.c-spec-link-icon {
    position: relative;
    flex: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}
.c-spec-link-icon::before {
    --icon-hover-scale: scale(1.2);
    position: absolute;
    inset: 0;
    content: "";
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 50%;
    transition: transform 80ms var(--ease-power4-out), opacity 80ms ease, color 80ms ease, background-color 80ms ease, border-color 80ms ease
}
.c-spec-link-icon svg {
    position: relative;
    z-index: 2
}
.c-spec-link-icon svg {
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke;
    width: calc(40% + .2rem);
    stroke: var(--color-white)
}
.c-split-text {
    display: flex;
    margin-bottom: -0.15em
}
.c-split-text.is-active {
    transition: transform 1300ms var(--ease-power4-out);
    transform: translate(0, 0)
}
.c-split-text.is-active .c-split-text-char {
    clip-path: polygon(0 0, 108% 0, 100% 100%, 0 100%);
    transition: clip-path 560ms var(--ease-power4-out);
    transition-delay: calc(var(--index, 0)*30ms);
    transform: translate(0, 0)
}
.c-split-text-char {
    padding-right: .1em;
    padding-bottom: .15em;
    margin-right: -0.1em;
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    transform: translate(0.8em, 0);
    will-change: transform
}
.c-toc .lwptoc_header {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}
.c-toc-item, .c-toc .lwptoc_item {
    display: flex;
    flex-direction: column
}
.c-toc-item-link, .c-toc .lwptoc_item a {
    position: relative;
    display: flex;
    flex-grow: 1;
    line-height: var(--leading-tight);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.c-toc-item-link::before, .c-toc .lwptoc_item a::before {
    position: absolute;
    bottom: 0;
    display: flex;
    width: 100%;
    height: 1px;
    content: "";
    background-color: var(--color-snow)
}
.c-toc-item-icon, .c-toc .lwptoc_item_number {
    flex: none;
    display: flex;
    align-items: center;
    justify-content: center
}
.c-toc-item-icon::before, .c-toc .lwptoc_item_number::before {
    content: "";
    background-image: url("../images/common/icons/icon_arrow_right_primary.svg");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain
}
.c-toc-item-icon::after, .c-toc .lwptoc_item_number::after {
    position: absolute;
    bottom: 0;
    height: 1px;
    content: "";
    background-color: var(--color-primary)
}
.c-toc .lwptoc_item_number {
    font-size: 0;
    color: rgba(0, 0, 0, 0)
}
.c-toc-item-index {
    position: relative;
    top: .1em;
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}
.c-toc-item-text, .c-toc .lwptoc_item_label {
    font-weight: var(--font-weight-medium)
}
.c-wrap {
    position: relative
}
:root {
    --vw: 100vw;
    --max-view-width: 1728px;
    --color-base: #242424;
    --color-dark: #4a4a4a;
    --color-bg: var(--color-white);
    --color-border: var(--color-gray-light);
    --color-primary: #006db2;
    --color-primary-selected: #ebf1f8;
    --color-sky: #5eaad7;
    --color-sky-light: #edf5fc;
    --color-sky-selected: #dfeef7;
    --color-navy: #1a335b;
    --color-navy-selected: #e8eaee;
    --color-navy-light: #485c7c;
    --color-yellow: #ffcc00;
    --color-danger: #bb503a;
    --color-danger-light: #fcefed;
    --color-gray: #a4a4a4;
    --color-gray-light: #dbdbdb;
    --color-snow: #ededed;
    --color-facebook: #0866ff;
    --color-line: #06c755;
    --color-white: #ffffff;
    --color-black: #000000;
    --breakpoints-xs: 320px;
    --breakpoints-sm: 768px;
    --breakpoints-md: 1024px;
    --breakpoints-lg: 1440px;
    --breakpoints-xl: 1728px;
    --breakpoints-full: 9999px;
    --zindex-back: 0;
    --zindex-middle: 10;
    --zindex-front: 100;
    --zindex-nav: 200;
    --zindex-modal: 1000;
    --zindex-magic: 10000;
    --font-weight-thin: 100;
    --font-weight-extra-light: 200;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semi-bold: 600;
    --font-weight-bold: 700;
    --font-weight-extra-bold: 800;
    --font-weight-black: 900;
    --font-family-base: "Noto Sans JP", sans-serif;
    --font-family-en: "Outfit", sans-serif;
    --leading-zero: 0;
    --leading-none: 1;
    --leading-quarter: 1.25;
    --leading-tight: 1.4;
    --leading-half: 1.5;
    --leading-normal: 1.6;
    --leading-base: 1.75;
    --leading-relaxed: 2;
    --leading-loose: 2.25;
    --tracking-none: 0;
    --tracking-tighter: 0.01em;
    --tracking-tight: 0.02em;
    --tracking-base: 0.05em;
    --tracking-wide: 0.1em;
    --tracking-wider: 0.2em;
    --tracking-widest: 0.28em;
    --ease-none: cubic-bezier(0.25, 0.25, 0.75, 0.75);
    --ease-power1-in: cubic-bezier(0.55, 0.085, 0.68, 0.53);
    --ease-power1-inout: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    --ease-power1-out: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    --ease-power2-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    --ease-power2-inout: cubic-bezier(0.645, 0.045, 0.355, 1);
    --ease-power2-out: cubic-bezier(0.215, 0.61, 0.355, 1);
    --ease-power3-in: cubic-bezier(0.895, 0.03, 0.685, 0.22);
    --ease-power3-inout: cubic-bezier(0.77, 0, 0.175, 1);
    --ease-power3-out: cubic-bezier(0.165, 0.84, 0.44, 1);
    --ease-power4-in: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    --ease-power4-inout: cubic-bezier(0.86, 0, 0.07, 1);
    --ease-power4-out: cubic-bezier(0.23, 1, 0.32, 1);
    --ease-expo-in: cubic-bezier(0.95, 0.05, 0.795, 0.035);
    --ease-expo-inout: cubic-bezier(1, 0, 0, 1);
    --ease-expo-out: cubic-bezier(0.19, 1, 0.22, 1);
    --ease-circ-in: cubic-bezier(0.6, 0.04, 0.98, 0.335);
    --ease-circ-inout: cubic-bezier(0.785, 0.135, 0.15, 0.86);
    --ease-circ-out: cubic-bezier(0.075, 0.82, 0.165, 1);
    --ease-back-in: cubic-bezier(0.6, -0.28, 0.735, 0.045);
    --ease-back-inout: cubic-bezier(0.68, -0.55, 0.265, 1.55);
    --ease-back-out: cubic-bezier(0.175, 0.885, 0.32, 1.275)
}
html {
    scroll-behavior: smooth
}
body {
    font-family: var(--font-family-base);
    font-feature-settings: "palt";
    line-height: var(--leading-base);
    color: var(--color-base);
    letter-spacing: var(--tracking-none);
    background-color: var(--color-bg);
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: unset
}
img, svg, video {
    display: block;
    width: 100%;
    max-width: none;
    height: auto
}
svg:where(:not([fill])) {
    fill: currentcolor
}
img, svg {
    pointer-events: none
}
a, button, input[type=button], input[type=submit] {
    cursor: pointer
}
a, button, label {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    outline: none
}
button, input[type=button] {
    display: block;
    width: 100%
}
strong {
    font-weight: var(--font-weight-bold)
}
em {
    font-style: italic
}
sub, sup {
    font-size: .8em;
    line-height: var(--leading-tight)
}
sub {
    vertical-align: sub
}
sup {
    vertical-align: super
}
textarea {
    resize: vertical
}
[data-whatinput=keyboard] a, [data-whatinput=keyboard] button, [data-whatinput=keyboard] [tabindex="0"] {
    outline: 2px solid rgba(0, 0, 0, 0)
}
[data-whatinput=keyboard] a:focus, [data-whatinput=keyboard] button:focus, [data-whatinput=keyboard] [tabindex="0"]:focus {
    outline: 2px solid var(--color-sky)
}
[v-cloak] {
    visibility: hidden
}
.tmp-heading {
    height: 80vh;
    font-size: 4em;
    color: var(--color-primary);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold);
    display: flex;
    align-items: center;
    justify-content: center
}
.tmp-list {
    padding: 8rem 4rem;
    font-size: 4rem;
    color: var(--color-primary);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold);
    display: flex;
    align-items: center;
    justify-content: center
}
.tmp-list a {
    display: block;
    text-decoration: none
}
/*header____ pc sp
-----------------------------------------------------------------------------------------------*/
.l-header-container {
    line-height: var(--leading-tight)
}
.l-header-logo-link {
    display: block
}
.l-header-nav {
    display: flex
}
.l-header-nav-link {
    display: flex;
    font-weight: var(--font-weight-medium);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.l-header-contact-link {
    --cover-enter-sec: 300ms;
    --cover-return-sec: 240ms;
    --opacity-enter-sec: 200ms;
    --opacity-return-sec: 120ms;
    --button-r: 999px;
    position: relative;
    width: 100%;
    padding-bottom: .1em;
    overflow: hidden;
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-tight);
    border-radius: var(--button-r);
    display: flex;
    align-items: center;
    justify-content: center;
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
body.is-device-changed .l-header-container {
    transition: 0s !important
}
/*検索ボタン*/
.header-search {
    text-align: center;
    width: 3em;
    border-radius: 5em;
    aspect-ratio: 1;
    cursor: pointer;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.15s ease;
}
.header-search img {
    width: 100%;
    height: 1.7em;
    aspect-ratio: 1;
    transition: all 0.15s ease;
}
    .header_search_pd .m_search input[type=text]::placeholder {
        color: #A4A4A4;
        font-weight: bold;
        letter-spacing: 2px;
    }

@media screen and (min-width: 769px), print {
    .header-search-box {
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 0;
          display: none;
        z-index: 500;
        /*開発*/
       /* display: block;*/
    }
    .header-search-close-area {
        position: absolute;
        background: rgba(000, 000, 000, 0.7);
        width: 100%;
        height: 100%;
        z-index: 600;
        top: 0;
        left: 0;
    }
    .header-search-box-inner {
        background: #fff;
        position: absolute;
        top: 50%;
        left: 50%;
        width: 1200px;
        transform: translate(-50%, -50%);
        z-index: 700;
        border-radius: 0.5em;
    }
    .header_search_pd {
        padding: 6em 3em;
    }
    .header_search_pd .m_search {
        font-size: 1.6rem;
        position: relative;
        max-width: 900px;
        margin: auto;
    }
    .header_search_pd .m_search input[type=text] {
        width: 100%;
        background: #F5F5F5;
        border-radius: 7em;
        padding: 0.8em 3em 0.8em 2em;
    }

    .header_search_pd .m_search .s_btn {
        background: url("../images/blog/icon_search.svg") no-repeat;
        background-size: 2em;
        background-position: center;

        width: 5em;
        height: 100%;
        position: absolute;
        right: 0;
        top: 0;
        border-radius: 0 7em 7em 0;
    }
    .header-search-close {
        position: absolute;
        top: 1.5em;
        right: 1.5em;
        aspect-ratio: 1.5/1;
        width: 1.5em;
    }
    .header-search-close img {
        width: 100%;
    }
    .sp-header-search-box{
        display: none;
    }
}
@media screen and (min-width: 769px)and (hover: hover) {
    .header-search:hover {
        background: var(--color-primary);
    }
    .header-search:hover img {
        filter: brightness(0) invert(1);
    }
}
@media screen and (max-width: 1300px) {
    .header-search-box-inner {
        width: 80%;
        margin: auto;
    }
}
    @media screen and (max-width: 768px) {
    .l-header-fixed .header-search {
        display: none;
    }
    .l-header-container .header-search {
        display: none;
    }
    .header-search-box {
        display: none;
    }
    /*検索　sp*/
    .sp-header-search-box{
        padding:0 0 3em 0;
    }
      .sp-header-search-box  .m_search{
 
          min-height: 6em;
          display: flex;
          justify-content: center;
          position: relative;
    }
        .sp-header-search-box  .m_search input[type=text] {
        width: 100%;
        padding: 0.8em 3em 0.8em 0;
         background: #fff;
          padding: 1em;
          border-radius: 0.5em;
    }

    .sp-header-search-box  .m_search .s_btn {
        background: url("../images/blog/icon_search.svg") no-repeat;
        background-size: 1.8em;
        background-position: center;
        width: 3em;
        height: 100%;
        position: absolute;
        right: 0.5em;
        top: 0;
    }
}
@media screen and (max-width: 480px) {
            .sp-header-search-box  .m_search input[type=text] {
            font-size: 16px;
    }

}
@media screen and (max-width: 320px) {
            .sp-header-search-box  .m_search input[type=text] {
            font-size: 14px;
    }
}
/*footer___ pc sp
-------------------------------------------------------------------*/
.l-footer {
    position: relative;
    color: var(--color-white);
    background-color: var(--color-navy)
}
.l-footer-contact {
    position: absolute;
    right: 0;
    left: 0;
    width: 100%
}
.l-footer-contact-container {
    position: relative;
    display: block;
    overflow: hidden;
    color: var(--color-white);
    background-color: var(--color-primary);
    isolation: isolate;
    border-radius: var(--r)
}
.l-footer-contact-container::before {
    position: absolute;
    z-index: -1;
    aspect-ratio: 575/350;
    content: "";
    background-image: url("../images/common/logo_shape_white.svg");
    opacity: .05;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain
}
.l-footer-contact-heading-ja {
    font-weight: var(--font-weight-bold)
}
.l-footer-contact-heading-en {
    line-height: var(--leading-none);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}
.l-footer-contact-action .c-button {
    position: relative;
    display: flex
}
.l-footer-container {
    line-height: var(--leading-half)
}
.l-footer-breadcrumb {
    display: flex;
    color: var(--color-gray)
}
.l-footer-breadcrumb-item {
    display: flex;
    align-items: center
}
.l-footer-breadcrumb-item:nth-child(n+2)::before {
    display: block;
    width: 1px;
    content: "";
    background-color: var(--color-gray);
    transform: rotate(45deg)
}
.l-footer-breadcrumb-link {
    color: var(--color-white);
    text-decoration: none
}
.l-footer-nav {
    display: grid
}
.l-footer-nav-list {
    display: flex;
    flex-direction: column;
    margin-top: 2.1rem
}
.l-footer-nav-link {
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    --hover-opacity: 0.5;
    transition: opacity 80ms ease
}
.l-footer-service {
    border-top: 1px solid var(--color-navy-light)
}
.l-footer-service-heading {
    font-weight: var(--font-weight-medium)
}
.l-footer-service-heading-link {
    --hover-opacity: 0.5;
    transition: opacity 80ms ease
}
.l-footer-service-list {
    display: grid
}
.l-footer-service-item {
    grid-area: var(--footer-item-area)
}
.l-footer-service-item-heading {
    color: var(--color-sky)
}
.l-footer-primary-section {
    border-top: 1px solid var(--color-navy-light)
}
.l-footer-primary-heading-link {
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    --hover-opacity: 0.5;
    transition: opacity 80ms ease
}
.l-footer-secondary-item {
    border-top: 1px solid var(--color-navy-light)
}
.l-footer-secondary-link {
    display: block;
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    --hover-opacity: 0.5;
    transition: opacity 80ms ease
}
.l-footer-info {
    display: flex;
    flex-direction: column
}
.l-footer-info-identity {
    display: flex;
    flex-direction: column;
    align-items: center
}
.l-footer-info-logo-link {
    display: block
}
.l-footer-info-name {
    font-weight: var(--font-weight-medium)
}
.l-footer-info-address {
    line-height: var(--leading-base)
}
.l-footer-info-address a {
    text-decoration: none
}
/*sp___
-----------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    .c-archive-journal {
        width: 100%
    }
    .c-archive-journal-list {
        display: flex;
        flex-direction: column;
        row-gap: 9.6rem
    }
    .c-archive-journal-info {
        margin-top: 4.8rem
    }
    .c-archive-journal-category {
        gap: 1.2rem
    }
    .c-archive-journal-category-item {
        padding: .8rem 1.8rem;
        font-size: 1.8rem
    }
    .c-archive-journal-heading {
        margin-top: 2rem;
        font-size: 3.2rem
    }
    .c-archive-news-link {
        flex-wrap: wrap;
        row-gap: 2rem;
        padding: 4rem 0
    }
    .c-archive-news-date {
        width: 16rem
    }
    .c-archive-news-category {
        flex-grow: 1
    }
    .c-archive-news-category-text {
        min-width: 16.8rem;
        padding: .8rem 1.6rem;
        font-size: 1.8rem
    }
    .c-archive-news-icon {
        display: none
    }
    .c-box-frame {
        padding-right: var(--padding);
        padding-left: var(--padding)
    }
    .c-box-frame {
        padding-top: 12.8rem;
        padding-bottom: 16rem
    }
    .c-button {
        flex-direction: row-reverse;
        padding: 2.6rem 3.6rem
    }
    .c-button-stroke {
        padding: 2.6rem 3.2rem
    }
    .c-button-text {
        padding-right: 2rem;
        padding-bottom: .1rem;
        padding-left: 2rem
    }
    .c-button-text, .c-button-cover-text {
        font-size: 2.8rem
    }
    .c-button-icon {
        width: 4rem;
        height: 4rem
    }
    .c-button-cover {
        display: none
    }
    .c-button-cover-text {
        display: none
    }
    .c-content {
        padding-right: var(--padding);
        padding-left: var(--padding)
    }
    .c-content {
        padding-bottom: 19.2rem;
        margin-top: 16rem
    }
    .c-filter {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.6rem 2.4rem
    }
    .c-filter-action {
        padding: 1.2rem;
        font-size: 2.2rem
    }
    .c-frame {
        padding-right: var(--padding);
        padding-left: var(--padding)
    }
    .c-gallery {
        --extra-padding: 0;
        margin-right: calc(-1*var(--padding));
        margin-left: calc(-1*var(--padding))
    }
    .c-gallery-item {
        width: 60.8rem;
        padding-right: 1.6rem;
        padding-left: 1.6rem
    }
    .c-heading {
        margin-bottom: 6.4rem;
        font-size: 4.8rem
    }
    .c-intro-01 .c-intro-info {
        padding-right: var(--padding);
        padding-left: var(--padding)
    }
    .c-intro-01 .c-intro-info {
        padding-top: 5rem;
        padding-bottom: 9.6rem
    }
    .c-intro-01 .c-intro-info.journal-c-intro-info {
        padding-top: 5rem;
        padding-bottom: 0rem
    }
    .c-intro-01 .c-intro-heading-ja {
        font-size: 2rem
    }
    .c-intro-01 .c-intro-heading-en {
        margin-top: .8rem;
        font-size: 10rem
    }
    .c-intro-01 .c-intro-description {
        margin-top: 7.2rem;
        font-size: 2.6rem
    }
    .c-intro-02 .c-intro-info {
        /*padding-top: 37.7rem;*/
        padding-top: 5rem;
        padding-bottom: 9.6rem
    }
    .c-intro-02 .c-intro-heading {
        font-size: 5.6rem
    }
    .c-intro-02 .c-intro-description {
        margin-top: 5.7rem;
        font-size: 2.6rem;
        text-align: justify
    }
    .c-intro-02 .c-intro-gallery-item {
        width: 68rem;
        padding: 0 1.6rem
    }
    .c-intro-03 .c-intro-info {
        row-gap: .8rem;
        padding-top: 38.4rem;
        padding-bottom: 9.6rem;
        padding-right: var(--padding);
        padding-left: var(--padding)
    }
    .c-intro-03 .c-intro-heading-main {
        font-size: 5.6rem
    }
    .c-intro-03 .c-intro-heading-sub {
        column-gap: 1.2rem
    }
    .c-intro-03 .c-intro-heading-sub-index {
        padding: .6rem 1.6rem;
        font-size: 1.8rem
    }
    .c-intro-03 .c-intro-heading-sub-text {
        font-size: 2rem
    }
    .c-intro-03 .c-intro-cover img {
        object-fit: cover;
        height: 50rem
    }
    .c-intro-04 .c-intro-info {
        padding-right: var(--padding);
        padding-left: var(--padding)
    }
    .c-intro-04 .c-intro-info {
        padding-top: 5rem;
        padding-bottom: 9.6rem
    }
    .c-intro-04 .c-intro-heading-ja {
        font-size: 5.6rem;
        font-weight: var(--font-weight-medium);
        line-height: var(--leading-half);
        color: var(--color-primary);
    }
    .c-intro-04 .c-intro-heading-en {
        margin-top: .8rem;
        font-size: 10rem
    }
    .c-intro-04 .c-intro-description {
        margin-top: 7.2rem;
        font-size: 2.6rem
    }
    .c-intro-blog {
        margin-bottom: 6rem
    }
    .c-intro-blog .c-intro-info {
        column-gap: 2.4rem
    }
    .c-intro-blog .c-intro-date {
        font-size: 2.6rem
    }
    .c-intro-blog .c-intro-heading {
        margin-top: 1.2rem;
        font-size: 5.6rem
    }
    .c-intro-blog .c-intro-category {
        gap: 1.2rem
    }
    .c-intro-blog .c-intro-category-link {
        padding: .7rem 2.5rem;
        font-size: 1.8rem
    }
    .c-intro-blog .c-intro-cover {
        margin-top: 6rem
    }
    .c-map-button-link {
        column-gap: 1rem;
        padding: 1.5rem 2rem
    }
    .c-map-button-icon {
        width: 1.6rem
    }
    .c-map-button-text {
        font-size: 2rem
    }
    .c-pagination {
        margin-top: 4.8rem
    }
    .c-pagination-neighbor-link {
        column-gap: .4rem
    }
    .c-pagination-neighbor-icon {
        width: 4rem;
        height: 4rem
    }
    .c-pagination-neighbor-icon svg {
        width: 1.5rem;
        padding-top: .3rem
    }
    .c-pagination-neighbor-text {
        font-size: 2.2rem
    }
    .c-pagination-main {
        display: none
    }
    .c-record {
        flex-direction: column;
        padding-bottom: 2.4rem
    }
    .c-record-has-link {
        padding-bottom: 8.8rem
    }
    .c-record-list {
        display: grid;
        grid-template-columns: 1fr;
        gap: 8rem 0
    }
    .c-record-list-multi {
        grid-template-columns: repeat(2, 1fr);
        gap: 6.4rem 2.4rem
    }
    .c-record-list-multi .c-record-info {
        margin-top: 2.8rem
    }
    .c-record-list-multi .c-record-heading {
        font-size: 2.8rem
    }
    .c-record-list-multi .c-record-description {
        margin-top: 1.8rem;
        font-size: 2.4rem
    }
    .c-record-info {
        margin-top: 4.3rem
    }
    .c-record-heading {
        font-size: 3.6rem
    }
    .c-record-description {
        margin-top: 2rem !important
    }
    .c-record-description-cell {
        display: block
    }
    .c-record-category {
        gap: .8rem;
        margin-top: 4rem !important
    }
    .c-record-category-item {
        padding: .6rem 1.7rem;
        font-size: 1.8rem
    }
    .c-record-arrow {
        bottom: 2.4rem;
        width: 4rem;
        height: 4rem
    }
    .c-section {
        scroll-margin-top: var(--padding)
    }
    .c-section-list {
        row-gap: 19.2rem
    }
    .c-rise {
        transform: translateY(6.4rem)
    }
    .c-service-card-list {
        grid-template-columns: 1fr;
        gap: 1.2rem
    }
    .c-service-card-action {
        display: grid;
        grid-template-columns: 21.6rem 1fr
    }
    .c-service-card-action.is-active ~ .c-service-card-detail {
        grid-template-rows: 1fr;
        margin-top: 2rem;
        transition: grid-template-rows 480ms var(--ease-power4-out)
    }
    .c-service-card-figure {
        display: flex;
        flex-direction: column;
        border-radius: var(--r) 0 0 var(--r)
    }
    .c-service-card-figure img {
        flex-grow: 1
    }
    .c-service-card-info {
        row-gap: 2.6rem;
        justify-content: center;
        padding: 3.2rem 6rem 3.2rem 3.2rem
    }
    .c-service-card-index {
        padding: .6rem 1.6rem;
        font-size: 1.8rem
    }
    .c-service-card-description {
        display: none
    }
    .c-service-card-icon {
        right: 4.4rem;
        bottom: 4rem;
        width: 1.8rem
    }
    .c-service-card-detail {
        display: grid;
        grid-template-rows: 0fr;
        overflow: hidden;
        transition: margin 480ms var(--ease-power4-out), grid-template-rows 480ms var(--ease-power4-out)
    }
    .c-service-card-detail-inner {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        padding: 9.6rem var(--padding) 12.8rem;
        color: var(--color-white);
        background-color: var(--color-primary)
    }
    .c-side {
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-top: 9.6rem;
        margin-bottom: 16rem
    }
    .c-spec {
        --heading-width: 14.4rem
    }
    .c-spec-item {
        flex-direction: column;
        row-gap: 2.4rem;
        padding: 4.8rem 0
    }
    .c-spec-desc {
        font-size: 2.6rem
    }
    .c-spec-desc:has(.c-spec-desc-image) {
        column-gap: 4.8rem
    }
    .c-spec-desc-image {
        width: 28.8rem
    }
    .c-spec-link {
        column-gap: 1.6rem
    }
    .c-spec-link-icon {
        width: 4rem;
        height: 4rem
    }
    .c-split-text {
        transform: translate(-6rem, 0)
    }
    .c-toc-list, .c-toc .lwptoc_itemWrap {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 2rem 3.2rem;
        margin-top: -2.2rem
    }
    .c-toc-item-link, .c-toc .lwptoc_item a {
        align-items: flex-end;
        padding: 2.6rem 0
    }
    .c-toc-item-icon, .c-toc .lwptoc_item_number {
        order: 10;
        width: 4rem;
        margin-left: auto
    }
    .c-toc-item-icon::before, .c-toc .lwptoc_item_number::before {
        position: relative;
        top: -0.8rem;
        width: 1.6rem;
        height: 1.6rem;
        rotate: 90deg
    }
    .c-toc-item-icon::after, .c-toc .lwptoc_item_number::after {
        right: 0;
        width: 4rem
    }
    .c-toc-item-index {
        margin-right: 1.2rem;
        margin-left: 1rem;
        font-size: 2.4rem
    }
    .c-toc-item-text, .c-toc .lwptoc_item_label {
        font-size: 2.4rem
    }
    .c-toc-return {
        display: none
    }
    .u-display-pc {
        display: none
    }
    :root {
        --design-view-width: 750;
        --pixel-ratio: 1;
        --font-size-base: 26px;
        --margin: 19.2rem;
        --padding: 5.1rem;
        --padding-l: 24rem;
        --r: 0.8rem
    }
    html {
        font-size: calc(100vw / 75)
    }
    body {
        font-size: 2.6rem
    }
    /*header___ nav__ sp
	------------------------------------------------------------------------------*/
    .l-header.is-active .l-header-container {
        visibility: visible;
        opacity: 1;
        transition: opacity 200ms ease, visibility 0s
    }
    .l-header.is-active .l-header-burger {
        background-color: var(--color-white)
    }
    .l-header.is-active .l-header-burger i {
        translate: 0 0;
        transition: translate 200ms var(--ease-power4-out), rotate 200ms 200ms var(--ease-power4-out)
    }
    .l-header.is-active .l-header-burger i:nth-child(1) {
        rotate: 45deg
    }
    .l-header.is-active .l-header-burger i:nth-child(2) {
        rotate: -45deg
    }
    .l-header.is-active .l-header-burger i::before {
        background-color: var(--color-primary)
    }
    .l-header.is-active .l-header-nav-item {
        transition: transform 1300ms var(--ease-power4-out);
        transition-delay: calc(var(--item-index, 0)*40ms);
        transform: translate(0, 0)
    }
    .l-header.is-active .l-header-nav-link-char {
        clip-path: polygon(0 0, 108% 0, 100% 100%, 0 100%);
        transition: clip-path 560ms var(--ease-power4-out);
        transition-delay: calc(var(--item-index, 0)*60ms + var(--char-index, 0)*30ms)
    }
    .l-header.is-active .l-header-contact {
        opacity: 1;
        transition: opacity 200ms ease, transform 700ms var(--ease-power4-out);
        transform: translateY(0)
    }
    .l-header-container {
        position: fixed;
        top: 0;
        left: 0;
        z-index: var(--zindex-nav);
        width: 100%;
        height: 100vh;
        height: 100dvh;
        overflow-y: auto;
        visibility: hidden;
        background-color: var(--color-primary);
        opacity: 0;
        transition: opacity 200ms ease, visibility 0s, 200ms;
    /*開発*/
/*        visibility: visible;
        opacity: 1;
        transition: opacity 200ms ease, visibility 0s;*/
        
    }
    .l-header-frame {
        display: flex;
        flex-direction: column;
        min-height: 100vh;
        min-height: 100dvh;
        padding: 5.6rem 4.8rem 7.2rem
    }
    .l-header-logo-front {
        position: absolute;
        top: 5.6rem;
        left: 4.8rem;
        z-index: var(--zindex-front)
    }
    .l-header-logo-menu {
        margin-bottom: 10rem
    }
    .l-header-logo-link {
        width: 14.7rem
    }
    .l-header-nav {
        flex-direction: column;
        gap: 5.2rem;
        padding: 0 .3rem;
        margin-top: auto;
        margin-bottom: auto
    }
    .l-header-nav-item {
        transition: transform 0s 200ms;
        transform: translate(-6rem, 0)
    }
    .l-header-nav-link {
        font-size: 4rem;
        color: var(--color-white)
    }
    .l-header-nav-link-char {
        clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
        will-change: clip-path;
        transition: clip-path 0s 200ms
    }
    .l-header-contact {
        padding: 0 .3rem;
        margin-top: 10rem;
        opacity: 0;
        transition: opacity 0s, transform 0s;
        transition-delay: 200ms;
        transform: translateY(50%)
    }
    .l-header-contact-link {
        height: 13.2rem;
        font-size: 4rem;
        color: var(--color-primary);
        background-color: var(--color-white)
    }
    .l-header-contact-link-cover {
        display: none
    }
    .l-header-contact-link-cover-text {
        display: none
    }
    .l-header-burger {
        position: fixed;
        top: 6.4rem;
        right: 5.6rem;
        z-index: calc(var(--zindex-nav) + 1);
        width: 11.2rem;
        height: 11.2rem;
        background-color: var(--color-primary);
        border-radius: 50%;
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke
    }
    .l-header-burger i {
        position: absolute;
        inset: 0;
        width: 4rem;
        height: 2px;
        margin: auto;
        rotate: 0deg;
        will-change: translate, rotate;
        transition: rotate 200ms var(--ease-power4-out), translate 200ms 200ms var(--ease-power4-out)
    }
    .l-header-burger i:nth-child(1) {
        translate: 0 -0.6rem
    }
    .l-header-burger i:nth-child(2) {
        translate: 0 .6rem
    }
    .l-header-burger i::before {
        content: "";
        background-color: var(--color-white);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke
    }
    .l-header-fixed {
        display: none
    }
    /*footer____ custom________ sp
	----------------------------------------------------------------*/
    .l-footer {
        padding-top: 2rem;
        padding-bottom: 11.4rem
    }
    .l-footer-has-breadcrumb {
        padding-top: 4.8rem
    }
    .l-footer-has-contact {
        padding-top: 44.3rem;
        margin-top: 31.7rem
    }
    .l-footer-has-breadcrumb.l-footer-has-contact {
        padding-top: 35.8rem
    }
    .l-footer-contact {
        top: -31.7rem
    }
    .l-footer-contact-container {
        padding: 7.8rem 5.6rem 8rem
    }
    .l-footer-contact-container::before {
        right: 0;
        bottom: -1.3rem;
        width: 57.5rem
    }
    .l-footer-contact-heading-ja {
        font-size: 2rem
    }
    .l-footer-contact-heading-en {
        margin-top: .8rem;
        font-size: 10rem
    }
    .l-footer-contact-description {
        margin-top: 5rem
    }
    .l-footer-contact-action {
        margin-top: 9.8rem
    }
    .l-footer-contact-action .c-button {
        width: 100%
    }
    .l-footer-contact-action .c-button-icon {
        position: absolute;
        top: 0;
        right: 3.2rem;
        bottom: 0;
        margin: auto 0
    }
    .l-footer-breadcrumb {
        margin-bottom: 10.8rem;
        font-size: 2rem
    }
    .l-footer-breadcrumb-item:nth-child(n+2)::before {
        height: 2.4rem;
        margin: 0 2rem
    }
    .l-footer-copy {
        display: flex;
        justify-content: center
    }
    .l-footer-copy-text {
        width: 44.4rem
    }
    .l-footer-nav {
        grid-template-columns: repeat(2, 1fr);
        column-gap: 2.4rem
    }
    .l-footer-nav-list {
        gap: 1.8rem
    }
    .l-footer-nav-link {
        font-size: 2.2rem
    }
    .l-footer-service {
        grid-column: 1/3;
        padding-top: 4rem;
        margin-top: 11.1rem
    }
    .l-footer-service-heading {
        margin-bottom: 4.8rem;
        font-size: 2.6rem
    }
    .l-footer-service-list {
        grid-template-areas: "logistics engineering""staffing engineering""packing vehicle";
        grid-template-columns: repeat(2, 1fr);
        gap: 6.4rem 2.6rem
    }
    .l-footer-service-item-heading {
        margin-bottom: 2.7rem;
        font-size: 2rem
    }
    .l-footer-primary {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column: 1/3;
        gap: 4.8rem 2.4rem;
        margin-top: 6.2rem
    }
    .l-footer-primary-section {
        padding-top: 4rem
    }
    /*		.l-footer-primary-heading {
			margin-bottom: 4.3rem;
		}*/
    .l-footer-primary-heading-link {
        font-size: 2.6rem;
    }
    .l-footer-secondary {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-column: 1/3;
        column-gap: 2.4rem;
        margin-top: 6.2rem
    }
    .l-footer-secondary-link {
        padding: 4rem 0;
        font-size: 2.6rem
    }
    .l-footer-aside {
        display: none
    }
    .l-footer-info {
        align-items: center;
        margin-top: 10.4rem;
        text-align: center
    }
    .l-footer-info-logo {
        width: 19.6rem
    }
    .l-footer-info-name {
        margin-top: 4.8rem;
        font-size: 2.6rem
    }
    .l-footer-info-address {
        margin-top: 1.6rem;
        font-size: 2rem
    }
    .l-footer-info-copyright {
        margin-top: 6.4rem;
        font-family: var(--font-family-en);
        font-size: 2rem
    }
}
/*pc
----------------------------------------------------------------------------*/
@media screen and (min-width: 769px) {
    .c-archive-journal-list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 9.6rem
    }
    .c-archive-journal-info {
        margin-top: 3.2rem
    }
    .c-archive-journal-category {
        gap: .8rem
    }
    .c-archive-journal-category-item {
        padding: .4rem 1rem;
        font-size: 1rem
    }
    .c-archive-journal-heading {
        margin-top: 1.4rem;
        font-size: 2rem
    }
    .c-archive-news-link {
        position: relative;
        padding: 3.2rem 7.2rem 3.2rem .8rem
    }
    .c-archive-news-date {
        width: 10.4rem;
        font-size: 1.5rem
    }
    .c-archive-news-category-text {
        min-width: 10.4rem;
        padding: .4rem 1.6rem;
        font-size: 1rem
    }
    .c-archive-news-heading {
        margin-left: 4rem
    }
    .c-archive-news-icon {
        position: absolute;
        top: 0;
        right: .8rem;
        bottom: 0;
        width: 2.4rem;
        height: 2.4rem;
        margin: auto 0;
        flex: none;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center
    }
    .c-archive-news-icon::before {
        --icon-hover-scale: scale(1.2);
        position: absolute;
        inset: 0;
        content: "";
        background-color: var(--color-primary);
        border: 1px solid var(--color-primary);
        border-radius: 50%;
        transition: transform 80ms var(--ease-power4-out), opacity 80ms ease, color 80ms ease, background-color 80ms ease, border-color 80ms ease
    }
    .c-archive-news-icon svg {
        position: relative;
        z-index: 2
    }
    .c-archive-news-icon svg {
        width: 1rem;
        stroke: var(--color-white);
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke
    }
    .c-box-frame {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto
    }
    .c-box-frame {
        padding-top: 12.8rem;
        padding-bottom: 12.8rem;
        padding-left: var(--padding-l)
    }
    .c-button {
        padding: 2rem 2.4rem
    }
    .c-button-stroke {
        padding: 2rem 2.4rem
    }
    .c-button-text {
        padding-right: 1.2rem;
        padding-bottom: .1rem;
        padding-left: 1.2rem
    }
    .c-button-text, .c-button-cover-text {
        font-size: 1.8rem
    }
    .c-button-icon {
        left: 0;
        z-index: 3;
        width: 2.4rem;
        height: 2.4rem
    }
    .c-button-cover {
        padding: 2rem 4.4rem 2rem 2.4rem
    }
    .c-button-arrow-left .c-button-cover {
        padding: 2rem 2.4rem 2rem 4.4rem
    }
    .c-button-cover-text {
        padding: 2rem 5.6rem 2.1rem 3.6rem
    }
    .c-button-arrow-left .c-button-cover-text {
        padding: 2rem 3.6rem 2.1rem 5.6rem;
        text-align: right
    }
    .c-content {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto
    }
    .c-content {
        min-height: 50vh;
        padding-top: 12.8rem;
        padding-bottom: 12.8rem;
        padding-left: var(--padding-l)
    }
    .c-filter {
        grid-template-columns: 1fr;
        row-gap: .8rem
    }
    .c-filter-action {
        padding: .7rem;
        font-size: 1.2rem
    }
    .c-frame {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto
    }
    .c-gallery {
        --extra-padding: max(0px, calc((var(--vw) - var(--max-view-width)) * 0.5));
        margin-right: calc(-1*(var(--padding) + var(--extra-padding)))
    }
    .c-gallery-item {
        width: calc(var(--vw) * 648 / 1440);
        padding-right: calc(var(--vw) * 16 / 1440);
        padding-left: calc(var(--vw) * 16 / 1440)
    }
    .c-heading {
        margin-bottom: 4.8rem;
        font-size: 3.2rem
    }
    .c-intro-01 .c-intro-info {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto
    }
    .c-intro-01 .c-intro-info {
        display: flex;
        flex-direction: column;
        /*padding-top: 25.4rem;*/
        padding-top: 10rem;
        padding-bottom: 9.6rem
    }
    .c-intro-01 .c-intro-info.journal-c-intro-info {
        padding-top: 5rem;
        padding-bottom: 0rem
    }
    .c-intro-01 .c-intro-heading-ja {
        font-size: 1.2rem
    }
    .c-intro-01 .c-intro-heading-en {
        margin-top: .8rem;
        font-size: 8.8rem
    }
    .c-intro-01 .c-intro-description {
        max-width: 70rem;
        margin-top: 3.8rem;
        margin-left: auto;
        font-size: 1.8rem
    }
    .c-intro-02 .c-intro-info {
        /*	padding-top: 23.5rem;*/
        padding-top: 10rem;
        padding-bottom: 9.6rem
    }
    .c-intro-02 .c-intro-heading {
        font-size: 4rem
    }
    .c-intro-02 .c-intro-description {
        margin-top: 2.8rem;
        font-size: 1.8rem
    }
    .c-intro-02 .c-intro-gallery-item {
        width: calc(var(--vw) * 680 / 1440);
        padding: 0 calc(var(--vw) * 16 / 1440)
    }
    .c-intro-03 {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto
    }
    .c-intro-03 .c-intro-info {
        row-gap: .4rem;
        padding-top: 8rem;
        padding-bottom: 5.8rem
    }
    .c-intro-03 .c-intro-heading-main {
        font-size: 4rem
    }
    .c-intro-03 .c-intro-heading-sub {
        column-gap: .8rem
    }
    .c-intro-03 .c-intro-heading-sub-index {
        padding: .4rem 1rem;
        font-size: 1rem
    }
    .c-intro-03 .c-intro-heading-sub-text {
        font-size: 1.2rem
    }
    .c-intro-03 .c-intro-cover img {
        border-radius: var(--r)
    }
    .c-intro-04 .c-intro-info {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto
    }
    .c-intro-04 .c-intro-info {
        display: flex;
        flex-direction: column;
        /*padding-top: 25.4rem;*/
        padding-top: 5rem;
        padding-bottom: 5rem
    }
    .c-intro-04 .c-intro-heading-ja {
        font-size: 4rem;
        font-weight: var(--font-weight-medium);
        line-height: var(--leading-half);
        color: var(--color-primary);
    }
    .c-intro-04 .c-intro-heading-en {
        margin-top: .8rem;
        font-size: 8.8rem
    }
    .c-intro-04 .c-intro-description {
        margin-top: 3.8rem;
        font-size: 1.8rem
    }
    .c-intro-blog {
        margin-bottom: 6rem
    }
    .c-intro-blog .c-intro-info {
        column-gap: 1.2rem
    }
    .c-intro-blog .c-intro-heading {
        margin-top: 1.2rem;
        font-size: 4rem
    }
    .c-intro-blog .c-intro-category {
        gap: .8rem
    }
    .c-intro-blog .c-intro-category-link {
        padding: .4rem 1.7rem;
        font-size: 1rem
    }
    .c-intro-blog .c-intro-cover {
        margin-top: 6rem
    }
    .c-map-button-link {
        column-gap: .6rem;
        padding: .7rem 1rem
    }
    .c-map-button-icon {
        width: .8rem
    }
    .c-map-button-text {
        font-size: 1rem
    }
    .c-pagination {
        margin-top: 6.4rem
    }
    .c-pagination-container {
        column-gap: 4.8rem
    }
    .c-pagination-neighbor-link {
        column-gap: .4rem
    }
    .c-pagination-neighbor-icon {
        width: 1.6rem;
        height: 1.6rem
    }
    .c-pagination-neighbor-icon svg {
        width: 1rem;
        padding-top: .3rem
    }
    .c-pagination-neighbor-text {
        font-size: 1.2rem
    }
    .c-pagination-main .nav-links {
        display: flex;
        column-gap: .8rem;
        align-items: center;
        justify-content: center
    }
    .c-pagination-main .page-numbers {
        width: 3.2rem;
        height: 3.2rem;
        font-size: 1.2rem;
        font-weight: var(--font-weight-medium);
        line-height: var(--leading-none);
        color: var(--color-primary);
        background-color: var(--color-sky-light);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke
    }
    .c-pagination-main .page-numbers.current {
        color: var(--color-white);
        background-color: var(--color-primary)
    }
    .c-pagination-main .page-numbers.dots {
        background-color: rgba(0, 0, 0, 0)
    }
    .c-record {
        column-gap: 4.8rem;
        align-items: flex-start;
        padding-top: 4rem;
        padding-bottom: 4rem
    }
    .c-record::before {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 1px;
        content: "";
        background-color: var(--color-primary);
        opacity: 0;
        transition: opacity 80ms ease
    }
    .c-record:first-child::before, .c-record.is-first::before {
        opacity: 1
    }
    .c-record-has-link {
        padding-right: 6.4rem
    }
    .c-record-figure {
        flex: none;
        width: 26.4rem
    }
    .c-record-heading {
        font-size: 2rem
    }
    .c-record-description {
        margin-top: 1.5rem !important
    }
    .c-record-description-row {
        display: flex;
        flex-wrap: wrap;
        gap: 1em
    }
    .c-record-category {
        gap: .4rem;
        margin-top: 3.2rem !important
    }
    .c-record-category-item {
        padding: .4rem .9rem;
        font-size: 1rem
    }
    .c-record-arrow {
        bottom: 4rem;
        width: 3.2rem;
        height: 3.2rem
    }
    .c-section {
        scroll-margin-top: 10rem
    }
    .c-section-list {
        row-gap: 16rem
    }
    .c-rise {
        transform: translateY(6.4rem)
    }
    .c-service-card-list {
        grid-template-columns: repeat(5, 1fr);
        gap: .5rem
    }
    .c-service-card-action {
        display: block
    }
    .c-service-card-figure {
        border-radius: var(--r) var(--r) 0 0
    }
    .c-service-card-figure img {
        aspect-ratio: 236/177
    }
    .c-service-card-info {
        padding: 2.8rem 2.4rem 3.2rem
    }
    .c-service-card-index {
        padding: .4rem 1rem;
        font-size: 1rem
    }
    .c-service-card-heading {
        height: 3em;
        margin-top: 1.3rem;
        font-size: 2rem
    }
    .c-service-card-description {
        margin-top: 2.3rem;
        font-size: 1.2rem;
        text-align: justify
    }
    .c-service-card-icon {
        top: 3.1rem;
        right: 2.8rem;
        width: 1.2rem
    }
    .c-service-card-detail {
        display: none
    }
    .c-side {
        position: absolute;
        top: 0;
        left: calc(var(--padding) + max(0px, (var(--vw) - var(--max-view-width))*.5));
        height: 100%
    }
    .c-side-contents {
        position: sticky;
        top: -2.8rem;
        z-index: var(--zindex-middle);
        width: 20rem;
        padding-top: 12.8rem;
        padding-bottom: 12.8rem
    }
    .c-spec {
        --heading-width: 19.2rem
    }
    .c-spec-item {
        column-gap: 4rem;
        padding: 2.8rem 0
    }
    .c-spec-heading {
        width: var(--heading-width)
    }
    .c-spec-desc:has(.c-spec-desc-image) {
        column-gap: 4rem
    }
    .c-spec-desc-image {
        width: 26.4rem
    }
    .c-spec-link {
        column-gap: .6rem
    }
    .c-spec-link-icon {
        width: 1.6rem;
        height: 1.6rem;
        margin-top: .2em
    }
    .c-split-text {
        transform: translate(-6rem, 0)
    }
    .c-toc {
        display: flex;
        flex-direction: column;
        row-gap: 4rem
    }
    .c-toc-item:first-child .c-toc-item-link, .c-toc-item:first-child a, .c-toc .lwptoc_item:first-child .c-toc-item-link, .c-toc .lwptoc_item:first-child a {
        padding-top: 0
    }
    .c-toc-item:first-child .c-toc-item-link .c-toc-item-icon::before, .c-toc-item:first-child .c-toc-item-link .lwptoc_item_number::before, .c-toc-item:first-child a .c-toc-item-icon::before, .c-toc-item:first-child a .lwptoc_item_number::before, .c-toc .lwptoc_item:first-child .c-toc-item-link .c-toc-item-icon::before, .c-toc .lwptoc_item:first-child .c-toc-item-link .lwptoc_item_number::before, .c-toc .lwptoc_item:first-child a .c-toc-item-icon::before, .c-toc .lwptoc_item:first-child a .lwptoc_item_number::before {
        top: .4rem
    }
    .c-toc-item-link, .c-toc .lwptoc_item a {
        align-items: center;
        padding: 1.2rem 0
    }
    .c-toc-item-icon, .c-toc .lwptoc_item_number {
        width: 1.6rem;
        margin-right: .8rem
    }
    .c-toc-item-icon::before, .c-toc .lwptoc_item_number::before {
        position: absolute;
        top: 1.6rem;
        width: .9rem;
        height: .9rem
    }
    .c-toc-item-icon::after, .c-toc .lwptoc_item_number::after {
        left: 0;
        width: 1.6rem
    }
    .c-toc-item-index {
        margin-right: 1rem;
        font-size: 1.2rem
    }
    .c-toc-item-text, .c-toc .lwptoc_item_label {
        font-size: 1.2rem
    }
    .c-toc-return-link {
        display: flex;
        align-items: center
    }
    .c-toc-return-icon {
        position: relative;
        width: 1.6rem;
        height: 1.6rem;
        margin-right: .4rem;
        flex: none;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center
    }
    .c-toc-return-icon::before {
        --icon-hover-scale: scale(1.2);
        position: absolute;
        inset: 0;
        content: "";
        background-color: var(--color-primary);
        border: 1px solid var(--color-primary);
        border-radius: 50%;
        transition: transform 80ms var(--ease-power4-out), opacity 80ms ease, color 80ms ease, background-color 80ms ease, border-color 80ms ease
    }
    .c-toc-return-icon svg {
        position: relative;
        z-index: 2
    }
    .c-toc-return-icon svg {
        width: 50%;
        stroke: var(--color-white);
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke
    }
    .c-toc-return-text {
        font-size: 1.2rem;
        font-weight: var(--font-weight-medium)
    }
    .u-display-sp {
        display: none
    }
    :root {
        --design-view-width: 1440;
        --pixel-ratio: 1;
        --font-size-base: 16px;
        --margin: 16rem;
        --padding: 12rem;
        --padding-l: 43.2rem;
        --r: 0.8rem
    }
    body {
        font-size: 1.6rem
    }
    .tmp-list ul {
        column-count: 2
    }
    /*header___ min769px pc
	-------------------------------------------------------*/
    .l-header-recruit .l-header-container {
        position: absolute
    }
    .l-header-recruit .l-header-nav-link {
        color: var(--color-white)
    }
    .l-header-container {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        z-index: var(--zindex-front);
        width: 100%
    }
    .l-header-frame {
        display: grid;
        grid-template-columns: 20rem 1fr 15rem 8rem;
        gap: 3.2rem;
        align-items: center;
        padding: 3rem 6.4rem 0
    }
    .l-header-logo-front {
        display: none
    }
    .l-header-logo-fixed .l-header-logo-link {
        width: 20rem
    }
    .l-header-logo-link {
        width: 11.8rem
    }
    .l-header-nav {
        gap: 3.2rem;
        align-items: center;
        justify-content: center
    }
    .l-header-nav-link {
        font-size: 1.5rem
    }
    .l-header-contact {
        width: 15rem;
        margin-left: auto
    }
    .l-header-contact-link {
        height: 5.6rem;
        font-size: 1.5rem;
        color: var(--color-white);
        background-color: var(--color-primary);
        border: 1px solid var(--color-primary)
    }
    .l-header-contact-link-cover {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: block;
        background-color: var(--color-white);
        border-radius: var(--button-r);
        transition: transform var(--cover-return-sec) 0ms var(--ease-power4-inout);
        transform: translate3d(calc(-100% - 1px), 0, 0)
    }
    .l-header-contact-link-cover-text {
        position: absolute;
        inset: 0;
        z-index: 3;
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--color-primary);
        opacity: 0;
        transition: opacity var(--opacity-return-sec) ease
    }
    .l-header-burger {
        display: none
    }
    .l-header-fixed {
        position: fixed;
        top: 0;
        left: 0;
        z-index: var(--zindex-front);
        width: 100%;
        visibility: hidden;
        background-color: var(--color-white);
        transition: transform 320ms var(--ease-power4-out), visibility 0s, 320ms;
        transform: translateY(-100%)
    }
    .l-header-fixed.is-visible {
        visibility: visible;
        transition: transform 460ms var(--ease-power4-out), visibility 0s;
        transform: translateY(0)
    }
    .l-header-fixed .l-header-frame {
        /*  grid-template-columns: 22rem 1fr 22rem;*/
        padding: 1.2rem 1.6rem 1.2rem 2.4rem;
        box-shadow: 0 1px 1px rgba(0, 0, 0, .1)
    }
    .l-header-fixed .l-header-nav-link {
        color: var(--color-base)
    }
    /*footer____ min769px pc
	-------------------------------------------------------*/
    .l-footer {
        padding-top: 2rem;
        padding-bottom: 9.6rem
    }
    .l-footer-has-breadcrumb {
        padding-top: 2.4rem
    }
    .l-footer-has-contact {
        padding-top: 28.2rem;
        margin-top: 16rem
    }
    .l-footer-has-breadcrumb.l-footer-has-contact {
        padding-top: 18.5rem
    }
    .l-footer-contact {
        top: -16rem
    }
    .l-footer-contact-container {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 7.8rem 9.6rem
    }
    .l-footer-contact-container::before {
        right: 1rem;
        bottom: -1.7rem;
        width: 57.5rem
    }
    .l-footer-contact-heading-ja {
        font-size: 1.2rem
    }
    .l-footer-contact-heading-en {
        margin-top: .5rem;
        font-size: 7.2rem
    }
    .l-footer-contact-description {
        margin-top: 3.4rem;
        font-size: 1.8rem
    }
    .l-footer-board {
        display: grid;
        grid-template-areas: "copy nav""info nav";
        grid-template-columns: 30rem 1fr;
        column-gap: 6rem
    }
    .l-footer-breadcrumb {
        justify-content: flex-end;
        margin-bottom: 8rem;
        font-size: 1.2rem
    }
    .l-footer-breadcrumb-item:nth-child(n+2)::before {
        height: 1.2rem;
        margin: 0 1.3rem
    }
    .l-footer-copy {
        grid-area: copy;
        padding-left: 4.3rem
    }
    .l-footer-copy-text {
        width: 8.6rem
    }
    /*l-footer-nav pc footer______________________
-----------------------------------------------------------------------------------------*/
    .l-footer-nav {
        grid-area: nav;
        grid-template-areas: "primary service service service""primary service service service""secondary secondary secondary secondary";
        grid-template-columns: repeat(4, 1fr);
        column-gap: 2.4rem;
    }
    .l-footer-service {
        grid-area: service;
    }
    .l-footer-primary {
        grid-area: primary;
    }
    .l-footer-secondary {
        grid-area: secondary;
    }
    .l-footer-nav-list {
        gap: .4rem
    }
    .l-footer-nav-link {
        font-size: 1.3rem
    }
    .l-footer-service {
        padding-top: 3.2rem;
        padding-bottom: 3.2rem;
        margin-bottom: 1.8rem
    }
    .l-footer-service-heading {
        margin-bottom: 2.3rem;
        font-size: 1.5rem
    }
    .l-footer-service-list {
        grid-template-areas: "logistics staffing engineering""packing vehicle engineering";
        grid-template-columns: repeat(3, 1fr);
        gap: 3.2rem 2.4rem
    }
    .l-footer-service-item-heading {
        margin-bottom: 1.3rem;
        font-size: 1.2rem
    }
    .l-footer-primary {
        margin-bottom: 1.8rem
    }
    .l-footer-primary-section {
        grid-area: var(--footer-item-area);
        padding: 3rem 0
    }
    .l-footer-primary-heading-link {
        font-size: 1.5rem
    }
    /*		.l-footer-service-list {
		grid-template-areas: "transport staffing engineering""packing vehicle engineering";
		grid-template-columns: repeat(3, 1fr);
		gap: 3.2rem 2.4rem
	}	
	*/
    .l-footer-service-item-heading {
        margin-bottom: 1.3rem;
        font-size: 1.2rem
    }
    /*	.l-footer-primary {
		grid-area: primary;
		margin-bottom: 1.8rem
	}*/
    .l-footer-primary-section {
        grid-area: var(--footer-item-area);
        padding: 3rem 0
    }
    .l-footer-secondary-item-policy, .l-footer-secondary-item-sitemap {
        display: none
    }
    /*l-footer-secondary*/
    .l-footer-secondary {
        display: flex;
        gap: 3%;
        width: 100%;
    }
    .l-footer-secondary > * {
        width: 100%;
    }
    /*.l-footer-secondary-link */
    .l-footer-secondary-link {
        padding: 3.2rem 0;
        font-size: 1.5rem
    }
    .l-footer-aside {
        display: flex;
        grid-column: 1/5;
        align-items: center;
        justify-content: space-between;
        width: 100%;
        padding-top: 1.6rem;
        margin-top: 3.2rem;
        line-height: var(--leading-none);
        border-top: 1px solid var(--color-navy-light)
    }
    .l-footer-aside-list {
        display: flex;
        column-gap: 1.6rem
    }
    .l-footer-aside-link {
        font-size: 1.2rem;
        text-decoration: none;
        --hover-opacity: 0.5;
        transition: opacity 80ms ease
    }
    .l-footer-aside-copyright {
        font-family: var(--font-family-en);
        font-size: 1.2rem
    }
    .l-footer-info {
        grid-area: info;
        align-self: flex-end
    }
    .l-footer-info-identity {
        margin-right: auto
    }
    .l-footer-info-logo {
        width: 13.8rem
    }
    .l-footer-info-name {
        margin-top: 3.2rem;
        font-size: 1.5rem
    }
    .l-footer-info-address {
        margin-top: 1rem;
        font-size: 1.3rem
    }
    .sitemap_area .l-footer-info-copyright {
        display: none;
    }
    .l-footer-info .l-footer-info-copyright {
        display: none;
    }
}
/*l-footer-nav sp footer______________________
-----------------------------------------------------------------------------------------*/
@media screen and (max-width: 768px) {
    .l-footer-primary {
        grid-template-areas: "about group""distribution recruit";
    }
    .l-footer-primary .about {
        grid-area: about;
    }
    .l-footer-primary .group {
        grid-area: group;
    }
    .l-footer-primary .distribution {
        grid-area: distribution;
    }
    .l-footer-primary .recruit {
        grid-area: recruit;
    }
}
/*top.cssクラス重複用調整
-----------------------------------------------------------*/
.l-footer-nav .about {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: auto;
}
.l-footer-nav .recruit {
    padding-top: 0;
    padding-bottom: 0;
}
@media screen and (min-width: 769px), print {
    .l-footer-nav .about {
        padding: 3rem 0;
    }
    .l-footer-nav .recruit {
        padding: 3rem 0;
    }
}
@media screen and (max-width: 768px) {
    .l-footer-nav .about {
        padding-top: 4rem !important;
    }
    .l-footer-nav .recruit {
        padding-top: 4rem !important;
    }
}
/*top.css用調整 end
-----------------------------------------------------------*/
/*pc____ hover*/
@media screen and (min-width: 769px)and (hover: hover) {
    .c-archive-journal-link:hover .c-archive-journal-info {
        opacity: var(--hover-opacity)
    }
    .c-archive-journal-link:hover .c-archive-journal-figure img {
        transform: scale(1.1)
    }
    .c-archive-journal-info:hover {
        opacity: .5
    }
    .c-archive-news-link:hover .c-archive-news-date, .c-archive-news-link:hover .c-archive-news-category-text, .c-archive-news-link:hover .c-archive-news-heading {
        opacity: var(--hover-opacity)
    }
    .c-archive-news-link:hover .c-archive-news-icon::before {
        background-color: rgba(0, 0, 0, 0);
        transform: var(--icon-hover-scale)
    }
    .c-archive-news-link:hover .c-archive-news-icon svg {
        stroke: var(--color-primary)
    }
    .c-archive-news .c-archive-news-date:hover, .c-archive-news .c-archive-news-category-text:hover, .c-archive-news .c-archive-news-heading:hover {
        opacity: .5
    }
    .c-button:hover .c-button-cover {
        transition: transform var(--cover-enter-sec) var(--ease-power4-out);
        transform: translate3d(0, 0, 0)
    }
    .c-button:hover .c-button-cover-text {
        opacity: 1;
        transition: opacity var(--opacity-enter-sec) ease
    }
    .c-button:hover .c-button-icon {
        position: relative;
        left: calc(100% - 2.4rem);
        transition: left var(--cover-enter-sec) var(--ease-power4-out)
    }
    .c-button:hover .c-button-icon::before {
        background-color: var(--color-primary)
    }
    .c-button:hover .c-button-icon svg {
        stroke: var(--color-white)
    }
    .l-footer-contact .c-button-parent:hover .c-button {
        background: var(--color-white)
    }
    .recruit-entry .c-button-parent:hover .c-button {
        background: var(--color-primary)
    }
    .l-footer-contact .c-button-parent:hover .c-button, .recruit-entry .c-button-parent:hover .c-button {
        transition: 0s;
        transition-delay: var(--cover-enter-sec)
    }
    .c-button-parent:hover .c-button-cover {
        transition: transform var(--cover-enter-sec) var(--ease-power4-out);
        transform: translate3d(0, 0, 0)
    }
    .c-button-parent:hover .c-button-cover-text {
        opacity: 1;
        transition: opacity var(--opacity-enter-sec) ease
    }
    .c-button-parent:hover .c-button-icon {
        position: relative;
        left: calc(100% - 2.4rem);
        transition: left var(--cover-enter-sec) var(--ease-power4-out)
    }
    .c-button-parent:hover .c-button-icon::before {
        background-color: var(--color-white)
    }
    .c-button-parent:hover .c-button-icon svg {
        stroke: var(--color-primary)
    }
    .c-button-parent:hover .c-button-stroke .c-button-icon::before {
        background-color: var(--color-primary)
    }
    .c-button-parent:hover .c-button-stroke .c-button-icon svg {
        stroke: var(--color-white)
    }
    .c-button-arrow-left:hover .c-button-icon {
        left: calc(-100% + 2.4rem)
    }
    .c-button-white:hover .c-button-icon::before {
        background-color: var(--color-white)
    }
    .c-button-white:hover .c-button-icon svg {
        stroke: var(--color-primary)
    }
    .c-button-stroke:hover .c-button-icon::before {
        background-color: var(--color-primary)
    }
    .c-button-stroke:hover .c-button-icon svg {
        stroke: var(--color-white)
    }
    .c-filter-action:hover {
        color: var(--color-white);
        background-color: var(--color-primary);
        border-color: var(--color-primary)
    }
    .c-map-button-link:hover {
        color: var(--color-white);
        background-color: var(--color-primary);
        border-color: var(--color-primary)
    }
    .c-pagination-neighbor-link:not(.is-disabled):hover .c-pagination-neighbor-text {
        color: var(--color-primary)
    }
    .c-record-has-link:hover .c-record-figure img {
        transform: scale(1.1)
    }
    .c-record-has-link:hover .c-record-arrow::before {
        background-color: rgba(0, 0, 0, 0);
        transform: var(--icon-hover-scale)
    }
    .c-record-has-link:hover .c-record-arrow svg {
        stroke: var(--color-primary)
    }
    .c-service-card-action:hover {
        background-color: var(--color-primary)
    }
    .c-service-card-action:hover .c-service-card-index {
        color: var(--color-white)
    }
    .c-service-card-action:hover .c-service-card-info {
        color: var(--color-white)
    }
    .c-service-card-action:hover .c-service-card-icon {
        stroke: var(--color-white)
    }
    .c-service-card-action:hover .c-service-card-figure img {
        transform: scale(1.1)
    }
    .c-spec-link:hover {
        text-decoration: none
    }
    .c-spec-link:hover .c-spec-link-icon::before {
        background-color: rgba(0, 0, 0, 0);
        transform: var(--icon-hover-scale)
    }
    .c-spec-link:hover .c-spec-link-icon svg {
        stroke: var(--color-primary)
    }
    .c-toc-item-link:hover, .c-toc .lwptoc_item a:hover {
        color: var(--color-primary)
    }
    .tmp-list a:hover {
        text-decoration: underline
    }
    /*.l-header-nav-link hover pc___*/
    .l-header-nav-link:hover {
        color: var(--color-primary)
    }
    .l-header-contact-link:hover {
        color: var(--color-primary)
    }
    .l-header-contact-link:hover .l-header-contact-link-cover {
        transition: transform var(--cover-enter-sec) var(--ease-power4-out);
        transform: translate3d(0, 0, 0)
    }
    .l-header-contact-link:hover .l-header-contact-link-cover-text {
        opacity: 1;
        transition: opacity var(--opacity-enter-sec) ease
    }
    .l-footer-breadcrumb-link:hover {
        text-decoration: underline
    }
    .l-footer-nav-link:hover {
        opacity: .5
    }
    .l-footer-service-heading-link:hover {
        opacity: .5
    }
    .l-footer-primary-heading-link:hover {
        opacity: .5
    }
    .l-footer-secondary-link:hover {
        opacity: .5
    }
}
@media screen and (min-width: 769px)and (min-width: 769px)and (hover: hover) {
    .c-pagination-main .page-numbers:hover {
        color: var(--color-white);
        background-color: var(--color-primary)
    }
    .c-toc-return-link:hover {
        color: var(--color-primary)
    }
    .c-toc-return-link:hover .c-toc-return-icon::before {
        background-color: rgba(0, 0, 0, 0);
        transform: var(--icon-hover-scale)
    }
    .c-toc-return-link:hover .c-toc-return-icon svg {
        stroke: var(--color-primary)
    }
    .l-footer-aside-link:hover {
        opacity: .5
    }
}
@media screen and (min-width: 769px)and (max-width: 1728px) {
    html {
        font-size: calc(var(--vw) / 144)
    }
}
@media screen and (min-width: 769px)and (min-width: 1729px) {
    html {
        font-size: 75%
    }
}
@media only screen and (min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
    body {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale
    }
}
@media screen and (min-width: 769px)and (min-width: 769px) {
    .l-header-recruit .l-header-logo-link svg path {
        fill: var(--color-white)
    }
}
/*リニューアル用
=======================================================================================================================================================================*/
/*header__ 第2階層
-------------------------------------------------------------------------------------------------------------------------------*/
/*header___ pc hover
	-------------------------------------------------------------*/
@media screen and (min-width: 769px) and (hover: hover) {
    .l-header-nav-link {
        position: relative;
    }
    .l-header-nav-link:before {
        content: "";
        position: absolute;
        background: var(--color-primary);
        left: 0;
        width: 100%;
        height: 0px;
        bottom: -5px;
        opacity: 0;
        -webkit-transition: all 0.15s ease;
        transition: all 0.15s ease;
    }
    .l-header-nav-item:hover .l-header-nav-link:before {
        height: 2px;
        bottom: 5px;
        opacity: 1;
    }
    /*かぶせ*/
    body {
        position: relative;
    }
    body:before {
        content: "";
        background: rgba(000, 000, 000, 0.7);
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        z-index: 2;
        opacity: 0;
        overflow: hidden;
        -webkit-transition: all 0.15s ease;
        transition: all 0.15s ease;
    }
    body.active-close:before {
        content: "";
        overflow: visible;
        /*   z-index: 2;*/
        opacity: 1;
        height: 100%;
    }
}
/*1729pxx以上*/
@media screen and (min-width: 1730px) {
    .l-header-nav-item-sec {
        top: calc(3vw + 10.5rem);
    }
    /*fixed header___
	-----------------------------------*/
    .l-header-fixed .l-header-nav-item-sec {
        top: calc(3vw + 2.5rem);
    }
}
/*769px以上 1729px以下*/
@media screen and (min-width: 769px) and (max-width: 1729px) {
    .l-header-nav-item-sec {
        top: calc(16.5vw - 9.4rem);
    }
    /*fixed header___
	-----------------------------------*/
    .l-header-fixed .l-header-nav-item-sec {
        top: calc(16.5vw - 9.4rem);
    }
}
/*pc__ ----------------------------*/
@media screen and (min-width: 769px) {
    /*navリセット*/
    .l-header-nav {
        gap: 0;
    }
    /*navリセット end*/
    .l-header-container {
        background: #fff;
    }
    .l-header-frame {
        padding: 1.8vw 6.4rem;
    }
    /*aタグ*/
    .l-header-nav-link {
        align-items: center;
        height: 4em;
    }
    /*第3 min769px
	-------------------------------------------------------*/
    .l-header-nav > li {
        padding: 0 1.6rem;
    }
    .l-header-nav-down {
        width: 50%;
        content: "";
        /*background: red;*/
        position: absolute;
        bottom: -0vw;
        left: 50%;
        -webkit-transform: translate(-50%, -0%);
        -moz-transform: translate(-50%, -0%);
        -ms-transform: translate(-50%, -0%);
        transform: translate(-50%, -0%);
        height: 0;
    }
    .l-header-nav-item-sec {
        position: absolute;
        /*	top: calc(16.5vw - 9.4rem);*/
        left: 0;
        width: 100%;
        border-top: 1px solid #cccccc;
        background: #fff;
        padding: 0 0;
        opacity: 0;
        height: 0;
        overflow: hidden;
        /*開発*/
        /*	opacity: 1;
		height: auto;
		overflow: visible;
		padding: 3em 0;*/
    }
    /*open*/
    .l-header-nav > li:hover .l-header-nav-item-sec {
        opacity: 1;
        height: auto;
        overflow: visible;
        padding: 3em 0;
    }
    .l-header-nav > li:hover .l-header-nav-down {
        height: 3vw;
    }
    /*l-header-fixed*/
    .l-header-fixed .l-header-nav > li:hover .l-header-nav-down {
        height: 1vw;
    }
    /*.l-header-nav-item-sec-list*/
    .l-header-nav-item-sec-list {
        display: flex;
        flex-wrap: wrap;
    }
    /*fixed header___
	-----------------------------------*/
    .l-header-fixed .l-header-nav-item-sec {
        top: 5vw;
    }
    /*l-header-nav-item-sec　中身 pc
	----------------------------------------------------------------------*/
    .l-header-nav-item-sec-inner {
        max-width: 1200px;
        margin: auto;
    }
    .l-header-nav-item-sec-title {
        font-weight: var(--font-weight-semi-bold);
        color: var(--color-primary);
        font-size: 2.5rem;
        padding: 0 0 1em 0;
    }
    .l-header-nav-item-sec-title a {
        display: flex;
        align-items: center;
    }
    .l-header-nav-item-sec-title a i {
        margin-left: 1em;
    }
    .l-header-nav-item-sec-title a.c-button-white:hover i:before {
        background-color: var(--color-primary) !important;
    }
    .l-header-nav-item-sec-title a.c-button-white:hover .c-button-icon svg {
        stroke: var(--color-white);
    }
    .l-header-nav-item-sec-list {
        display: flex;
        flex-wrap: wrap;
        gap: 1em 2%;
    }
    .l-header-nav-item-sec-list > li {
        width: 31%;
        position: relative;
        overflow: hidden;
        border-radius: 0.8rem;
        z-index: 0;
    }
    .l-header-nav-item-sec-list > li a {
        position: relative;
        color: #fff;
        line-height: 1.2;
        display: block;
        font-size: 1.0rem;
        padding: 2.5em 2.5em;
        z-index: 2;
        font-weight: var(--font-weight-bold);
    }
    .l-header-nav-item-sec-list > li a span {
        display: block;
        font-size: 2.5em;
        font-family: var(--font-family-en);
        font-weight: var(--font-weight-semi-bold);
    }
    .l-header-nav-item-sec-list > li img {
        width: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: -1;
        -webkit-transition: 0.3s;
        -moz-transition: 0.3s;
        -ms-transition: 0.3s;
        transition: 0.3s;
    }
    .l-header-nav-item-sec-list > li:hover img {
        transform: scale(1.1);
    }
}
/*sp___
--------------------------------------------------------*/ :root {
    --plus_length: 1.2em;
    --plus_coordinate: 1.2em;
}
@media screen and (max-width: 1300px) {
    .l-header-nav-item-sec-inner {
        max-width: 90%;
    }
}
@media screen and (max-width: 768px) {
    /*nav位置リセット*/
    .l-header-nav {
        display: block;
        margin-top: 0;
    }
    /*nav位置リセット end*/
    .l-header-nav-link {
        position: relative;
        padding: 0.5em 2em 0.5em 0;
    }
    .l-header-nav-item-sec-inner {
        max-width: none;
    }
    /* plus icon */
    .l-header-nav-down {
        position: absolute;
        right: 0;
        top: 1em;
        width: 2em;
        height: 2em;
        z-index: 10;
        /*	border: solid 1px red;*/
    }
    .l-header-nav-down:after, .l-header-nav-down:before {
        content: "";
        display: block;
        position: absolute;
        left: auto;
        bottom: auto;
        background-color: #fff;
        -webkit-transition: all 0.2s;
        -o-transition: all 0.2s;
        transition: all 0.2s;
        top: 50%;
        left: 50%;
        -webkit-transform: translate(-50%, -50%);
        -moz-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
    }
    .l-header-nav-down:after {
        right: 9px;
        width: var(--plus_length);
        height: 3px;
    }
    .l-header-nav-down:before {
        right: 15px;
        top: 50%;
        width: 3px;
        height: var(--plus_length);
    }
    .l-header-nav-down.open:before {
        opacity: 0;
        transform: translateY(0) rotate(90deg);
        top: 2px;
    }
    /*第3階層 sp
--------------------------------------*/
    .l-header-nav-item-sec-list > li a {
        display: block;
        padding: 0.5em 0 0.5em 1em;
        color: #fff;
    }
    .l-header-nav-item-sec-list {
        overflow: hidden;
        padding: 0;
        transition: all 0.2s;
        height: 0;
    }
    .l-header-nav-item-sec-list > li img, .l-header-nav-item-sec-title, .l-header-nav-item-sec-list > li a span {
        display: none;
    }
    /*open*/
    .l-header-nav-item-sec.open .l-header-nav-item-sec-list {
        overflow: visible;
        opacity: 1;
    }
}
/*下層コンテンツパーツ
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
.w11 {
    max-width: 1126px;
    margin: auto;
}
.w90 {
    max-width: 900px;
    margin: auto;
}
/* topic_path
============================================================================================================ */
.topic_path {
    text-align: right;
}
.topic_path li {
    display: inline-block;
    color: #A4A4A4;
    position: relative;
}
.topic_path li:after {
    content: "／";
    margin-left: 5px;
    color: #A4A4A4;
}
.topic_path li:last-child:after {
    content: none;
}
.topic_path li a {
    color: #A4A4A4;
}
@media screen and (min-width: 769px) {
    .topic_w {
        max-width: var(--max-view-width);
        padding-right: var(--padding);
        padding-left: var(--padding);
        margin-right: auto;
        margin-left: auto;
        padding-top: 18rem;
    }
    .topic_path {
        margin-bottom: 0px;
        position: relative;
        z-index: 1;
        word-break: break-all;
    }
    .topic_path, .topic_path a {
        font-size: 1.3rem;
    }
}
/*topic_path sp */
@media screen and (max-width: 769px) {
    /*追従あり*/
    .topic_w {
        max-width: calc(100vw - 10.2rem);
        margin: 25rem auto auto auto;
        overflow: hidden;
    }
    .topic_path {
        width: 100%;
        position: relative;
        z-index: 1;
        white-space: nowrap;
        height: 20px;
        overflow: hidden;
        -webkit-overflow-scrolling: touch;
    }
    .topic_path, .topic_path a {
        font-size: 1.6rem;
    }
    ol.topic_path {
        width: 100%;
        white-space: nowrap;
        overflow-x: scroll;
        overflow-y: hidden;
        height: 23px;
        transform: translateZ(0);
        -ms-overflow-style: none;
        scrollbar-width: none;
    }
    ol.topic_path:-webkit-scrollbar {
        display: none;
    }
    ol.topic_path li:last-child {
        margin-right: 20px;
    }
}
/* section
============================================================================================================ */
@media screen and (max-width: 1130px) {
    .sp_section_s {
        max-width: 95%;
        margin: auto;
    }
    .sp_section {
        max-width: 90%;
        margin: auto;
    }
}
@media screen and (max-width: 900px) {
    .sp_section_s_87 {
        max-width: 95%;
        margin: auto;
    }
    .sp_section_87 {
        max-width: 90%;
        margin: auto;
    }
}
/*section_cont
----------------------------------------------------*/
.section_cont + .section_cont {
    padding-top: 10em;
}
/* bg
============================================================================================================ */
.bg_blue_l {
    background: #EDF5FC;
}
/* midahsi
============================================================================================================ */
.midahsi_02 {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    font-size: 3.2rem;
    margin-bottom: 0.5em;
}
@media screen and (max-width: 768px) {
    .midahsi_02 {
        font-size: 4.8rem;
    }
}
/* カテゴリindex 
============================================================================================================ */
.archive-index {
    color: var(--color-primary);
    border: 1px solid currentcolor;
    border-radius: 999px;
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold);
    padding: .4rem 1rem;
    font-size: 1rem;
    margin-right: 0.9em;
    vertical-align: middle;
}
/* padding
============================================================================================================ */
.pd_l5 {
    padding-top: 20rem;
    padding-bottom: 20rem;
}
.pdt_l5 {
    padding-top: 20rem;
}
.pdb_l5 {
    padding-bottom: 20rem;
}
.pd_l4 {
    padding-top: 18rem;
    padding-bottom: 18rem;
}
.pdt_l4 {
    padding-top: 18rem;
}
.pdb_l4 {
    padding-bottom: 18rem;
}
.pd_l3 {
    padding-top: 15rem;
    padding-bottom: 15rem;
}
.pdt_l3 {
    padding-top: 15rem;
}
.pdb_l3 {
    padding-bottom: 15rem;
}
.pd_l2 {
    padding-top: 12rem;
    padding-bottom: 12rem;
}
.pdt_l2 {
    padding-top: 12rem;
}
.pdb_l2 {
    padding-bottom: 12rem;
}
.pd_l {
    padding-top: 8rem;
    padding-bottom: 8rem;
}
.pdt_l {
    padding-top: 8rem;
}
.pdb_l {
    padding-bottom: 8rem;
}
.pd_m3 {
    padding-top: 7rem;
    padding-bottom: 7rem;
}
.pdt_m3 {
    padding-top: 7rem;
}
.pdb_m3 {
    padding-bottom: 7rem;
}
.pd_m2 {
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.pdt_m2 {
    padding-top: 6rem;
}
.pdb_m2 {
    padding-bottom: 6rem;
}
.pd_m {
    padding-top: 5rem;
    padding-bottom: 5rem;
}
.pdt_m {
    padding-top: 5rem;
}
.pdb_m {
    padding-bottom: 5rem;
}
.pd_s2 {
    padding-top: 3rem;
    padding-bottom: 3rem;
}
.pdt_s2 {
    padding-top: 3rem;
}
.pdb_s2 {
    padding-bottom: 3rem;
}
.pd_s {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
}
.pdt_s {
    padding-top: 2.5rem;
}
.pdb_s {
    padding-bottom: 2.5rem;
}
.pd_ss {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
}
.pdt_ss {
    padding-top: 1.5rem;
}
.pdb_ss {
    padding-bottom: 1.5rem;
}
@media screen and (max-width: 680px) {
    .pd_l5 {
        padding-top: 16rem;
        padding-bottom: 16rem;
    }
    .pdt_l5 {
        padding-top: 16rem;
    }
    .pdb_l5 {
        padding-bottom: 16rem;
    }
    .pd_l4 {
        padding-top: 14rem;
        padding-bottom: 14rem;
    }
    .pdt_l4 {
        padding-top: 14rem;
    }
    .pdb_l4 {
        padding-bottom: 16rem;
    }
    .pd_l3 {
        padding-top: 10rem;
        padding-bottom: 10rem;
    }
    .pdt_l3 {
        padding-top: 10rem;
    }
    .pdb_l3 {
        padding-bottom: 15rem;
    }
    .pd_l2 {
        padding-top: 8rem;
        padding-bottom: 8rem;
    }
    .pdt_l2 {
        padding-top: 8rem;
    }
    .pdb_l2 {
        padding-bottom: 8rem;
    }
    .pd_l {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
    .pdt_l {
        padding-top: 6rem;
    }
    .pdb_l {
        padding-bottom: 6rem;
    }
    .pd_m3 {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .pdt_m3 {
        padding-top: 5rem;
    }
    .pdb_m3 {
        padding-bottom: 5rem;
    }
    .pd_m2 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .pdt_m2 {
        padding-top: 4rem;
    }
    .pdb_m2 {
        padding-bottom: 4rem;
    }
    .pd_m {
        padding-top: 4.5rem;
        padding-bottom: 4.5rem;
    }
    .pdt_m {
        padding-top: 4.5rem;
    }
    .pdb_m {
        padding-bottom: 4.5rem;
    }
    .pd_s2 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .pdt_s2 {
        padding-top: 3rem;
    }
    .pdb_s2 {
        padding-bottom: 3rem;
    }
    .pd_s {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .pdt_s {
        padding-top: 2rem;
    }
    .pdb_s {
        padding-bottom: 2rem;
    }
    .pd_ss {
        padding-top: 1.0rem;
        padding-bottom: 1.0rem;
    }
    .pdt_ss {
        padding-top: 1.0rem;
    }
    .pdb_ss {
        padding-bottom: 1.0rem;
    }
}
@media screen and (max-width: 480px) {
    .pd_l5 {
        padding-top: 12rem;
        padding-bottom: 12rem;
    }
    .pdt_l5 {
        padding-top: 12rem;
    }
    .pdb_l5 {
        padding-bottom: 12rem;
    }
    .pd_l4 {
        padding-top: 11rem;
        padding-bottom: 11rem;
    }
    .pdt_l4 {
        padding-top: 11rem;
    }
    .pdb_l4 {
        padding-bottom: 11rem;
    }
    .pd_l3 {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
    .pdt_l3 {
        padding-top: 7rem;
    }
    .pdb_l3 {
        padding-bottom: 7rem;
    }
    .pd_l2 {
        padding-top: 6rem;
        padding-bottom: 6rem;
    }
    .pdt_l2 {
        padding-top: 6rem;
    }
    .pdb_l2 {
        padding-bottom: 6rem;
    }
    .pd_l {
        padding-top: 5rem;
        padding-bottom: 5rem;
    }
    .pdt_l {
        padding-top: 5rem;
    }
    .pdb_l {
        padding-bottom: 5rem;
    }
    .pd_m3 {
        padding-top: 4rem;
        padding-bottom: 4rem;
    }
    .pdt_m3 {
        padding-top: 4rem;
    }
    .pdb_m3 {
        padding-bottom: 4rem;
    }
    .pd_m2 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }
    .pdt_m2 {
        padding-top: 3rem;
    }
    .pdb_m2 {
        padding-bottom: 3rem;
    }
    .pd_m {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
    .pdt_m {
        padding-top: 2rem;
    }
    .pdb_m {
        padding-bottom: 2rem;
    }
    .pd_s2 {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem;
    }
    .pdt_s2 {
        padding-top: 1.5rem;
    }
    .pdb_s2 {
        padding-bottom: 1.5rem;
    }
    .pd_s {
        padding-top: 1rem;
        padding-bottom: 1rem;
    }
    .pdt_s {
        padding-top: 1rem;
    }
    .pdb_s {
        padding-bottom: 1rem;
    }
    .pd_ss {
        padding-top: 0.8rem;
        padding-bottom: 0.8rem;
    }
    .pdt_ss {
        padding-top: 0.8rem;
    }
    .pdb_ss {
        padding-bottom: 0.8rem;
    }
}
/*微修正用
===============================================================================================*/
.c-record .c-record-arrow {
    z-index: -1 !important;
}
/*distribution_card 
----------------------------------------------------------------------------------------*/
.distribution-card .c-service-card-heading {
    height: auto;
    margin-top: 0;
}
.distribution-card .c-record-arrow {
    bottom: auto;
    right: 0.5em;
}
@media screen and (min-width: 769px), print {
    .distribution-card.c-service-card-list {
        grid-template-columns: repeat(3, 1fr);
        gap: 3.5rem;
    }
}
/*group_tag_list
---------------------------------------------------------*/
.group_tag_list {
    padding: 0 0 2rem 0;
}
.group_tag_list .c-record-category {
    margin-top: 0 !important;
}
/*新着用　ページネーション
----------------------------------------------------------------------------------------*/
@media screen and (min-width: 769px), print {
    .pageination_new_parts .c-pagination-neighbor {
        display: flex;
        justify-content: center;
        align-items: center;
        column-gap: .8rem;
        width: 100%;
    }
    .pageination_new_parts .page-numbers, .pageination_new_parts .page-numbers.current {
        width: 3.2rem;
        height: 3.2rem;
        font-size: 1.2rem;
        font-weight: var(--font-weight-medium);
        line-height: var(--leading-none);
        color: var(--color-primary);
        background-color: var(--color-sky-light);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke;
    }
    /*リンクなし数字*/
    .pageination_new_parts .page-numbers.current {
        color: var(--color-white);
        background-color: var(--color-primary);
    }
    .pageination_new_parts.nav-links {
        display: flex;
        column-gap: .8rem;
        align-items: center;
        justify-content: center
    }
    /*前次 デザインリセット*/
    .no_link, .pageination_new_parts .next, .pageination_new_parts .prev, .pageination_new_parts .dots {
        font-size: 1.2rem;
        font-weight: var(--font-weight-medium);
        transition-timing-function: ease;
        transition-duration: 80ms;
        transition-property: color, background-color, border-color, fill, stroke;
        width: auto;
        height: auto;
        font-weight: inherit;
        line-height: inherit;
        color: inherit;
        background-color: inherit;
    }
    .pageination_new_parts .dots {
        color: var(--color-primary);
    }
    .no_link {
        opacity: 0.7;
    }
    .no_link + *, .pageination_new_parts .page-numbers + .next {
        margin-left: 4.8rem;
    }
    /*矢印 */
    .no_link, .pageination_new_parts .next, .pageination_new_parts .prev {
        position: relative;
        padding-left: 1.5em;
    }
    .no_link:before, .pageination_new_parts .next:before, .pageination_new_parts .prev:before {
        content: "";
        background: url("../images/common/icons/icon_arrow_right_primary.svg") no-repeat;
        background-size: contain;
        background-position: center;
        aspect-ratio: 8/6;
        width: 1.2em;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(-0%, -50%);
    }
    /*各設定*/
    /*左*/
    .pre_no:before, .pageination_new_parts .prev:before {
        transform: translate(-0%, -50%) rotate(180deg);
    }
    /*右*/
    .next_no, .pageination_new_parts .next {
        padding-left: 0;
        padding-right: 1.5em;
    }
    .next_no:before, .pageination_new_parts .next:before {
        left: auto;
        right: 0;
    }
}
/*hover*/
@media screen and (min-width: 769px) and (min-width: 769px) and (hover: hover) {
    .pageination_new_parts .page-numbers:hover {
        color: var(--color-white);
        background-color: var(--color-primary);
    }
    /*前次 デザインリセット*/
    .pageination_new_parts .next:hover, .pageination_new_parts .prev:hover, .pageination_new_parts .dots:hover {
        background-color: inherit;
        color: var(--color-primary);
    }
}
/*sp*/
@media screen and (max-width: 768px) {
    .pageination_new_parts .c-pagination-neighbor {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
    }
    /*数字非表示*/
    .pageination_new_parts .page-numbers, .pageination_new_parts .page-numbers.current {
        display: none;
    }
    .no_link {
        opacity: 0.7;
    }
    /*矢印 */
    .no_link, .pageination_new_parts .next, .pageination_new_parts .prev {
        position: relative;
        display: flex !important;
        padding-left: 1.5em;
        font-size: 2.2rem;
    }
    .no_link:before, .pageination_new_parts .next:before, .pageination_new_parts .prev:before {
        content: "";
        background: url("../images/common/icons/icon_arrow_right_primary.svg") no-repeat;
        background-size: contain;
        background-position: center;
        aspect-ratio: 8/6;
        width: 1.2em;
        position: absolute;
        top: 50%;
        left: 0;
        transform: translate(-0%, -50%);
    }
    /*各設定*/
    /*左*/
    .pre_no:before, .pageination_new_parts .prev:before {
        transform: translate(-0%, -50%) rotate(180deg);
    }
    /*右*/
    .next_no, .pageination_new_parts .next {
        padding-left: 0;
        padding-right: 1.5em;
    }
    .next_no:before, .pageination_new_parts .next:before {
        left: auto;
        right: 0;
    }
}
/*about_footer
----------------------------------*/
.about-footer-list {
    display: flex;
    flex-wrap: wrap;
    /*justify-content: space-between;*/
    justify-content: center;
    gap: 3%;
}
.about-footer-item {
    color: var(--color-white);
    background-repeat: no-repeat;
    background-size: cover
}
.about-footer-link {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: var(--r)
}
.about-footer-link::before {
    position: absolute;
    inset: 0;
    display: block;
    content: "";
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: transform 400ms var(--ease-power4-out)
}
.about-footer-item-service .about-footer-link::before {
    background-image: url("../images/about/footer_service_bg.jpg")
}
.about-footer-item-company .about-footer-link::before, .about-footer-item-about .about-footer-link::before, .about-footer-item-group .about-footer-link::before {
    background-image: url("../images/about/footer_company_bg.jpg")
}
.about-footer-heading {
    position: relative;
    line-height: var(--leading-none);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}
.about-footer-heading-ja {
    font-weight: var(--font-weight-bold)
}
.about-footer-heading-en {
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}
.about-footer-icon {
    position: relative;
    flex: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}
.about-footer-icon::before {
    --icon-hover-scale: scale(1.2);
    position: absolute;
    inset: 0;
    content: "";
    background-color: var(--color-white);
    border: 1px solid var(--color-white);
    border-radius: 50%;
    transition: transform 80ms var(--ease-power4-out), opacity 80ms ease, color 80ms ease, background-color 80ms ease, border-color 80ms ease
}
.about-footer-icon svg {
    position: relative;
    z-index: 2
}
.about-footer-icon svg {
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke;
    width: 40%;
    stroke: var(--color-primary)
}
@media screen and (min-width: 769px) {
    .about-footer {
        padding-top: var(--padding);
        padding-bottom: var(--padding)
    }
    .about-footer-item {
        width: 58rem;
        height: 24rem
    }
    .about-footer-link {
        padding-right: 4rem;
        padding-left: 4rem
    }
    .about-footer-heading-ja {
        font-size: 1.2rem
    }
    .about-footer-heading-en {
        margin-top: .5rem;
        font-size: 4rem
    }
    .about-footer-icon {
        width: 4rem;
        height: 4rem
    }
}
@media screen and (max-width: 768px) {
    .about-footer {
        padding-top: 9.6rem;
        padding-bottom: 9.6rem
    }
    .about-footer-list {
        row-gap: 2rem
    }
    .about-footer-item {
        width: 100%;
        height: 28rem
    }
    .about-footer-link {
        padding-right: 4.8rem;
        padding-left: 4.8rem
    }
    .about-footer-heading-ja {
        font-size: 2rem
    }
    .about-footer-heading-en {
        margin-top: 1.2rem;
        font-size: 5.6rem
    }
    .about-footer-icon {
        width: 4rem;
        height: 4rem
    }
}
:where(figure) {
    margin: 0 0 0 !important;
}