﻿@font-face {
    font-family: "Yu Gothic";
    font-weight: 100;
    src: local("Yu Gothic Medium")
}

@font-face {
    font-family: "Yu Gothic";
    font-weight: 200;
    src: local("Yu Gothic Medium")
}

@font-face {
    font-family: "Yu Gothic";
    font-weight: 300;
    src: local("Yu Gothic Medium")
}

@font-face {
    font-family: "Yu Gothic";
    font-weight: 400;
    src: local("Yu Gothic Medium")
}

@font-face {
    font-family: "Yu Gothic";
    font-weight: 700;
    src: local("Yu Gothic Bold")
}

@font-face {
    font-family: "Helvetica Neue";
    font-weight: 100;
    src: local("Helvetica Neue Regular")
}

@font-face {
    font-family: "Helvetica Neue";
    font-weight: 200;
    src: local("Helvetica Neue Regular")
}

*: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-archive-journal-link {
    display: block
}

.c-archive-journal-figure {
    margin: 0;
    overflow: hidden;
    isolation: isolate;
    border-radius: var(--r)
}

.c-archive-journal-figure img {
    transition: transform 400ms var(--ease-power4-out);
    aspect-ratio: 1.33;
    object-fit: cover
}

.c-archive-journal-info {
    --hover-opacity: 0.5;
    transition: opacity 80ms ease
}

.c-archive-journal-category {
    display: flex;
    flex-wrap: wrap
}

.c-archive-journal-category-item {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-tight);
    color: var(--color-primary);
    border: 1px solid currentcolor;
    border-radius: 999px
}

.c-archive-journal-heading {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-half)
}

.c-archive-news {
    border-top: 1px solid var(--color-gray-light)
}

.c-archive-news:last-child {
    border-bottom: 1px solid var(--color-gray-light)
}

.c-archive-news-list {}

.c-archive-news-link {
    display: flex;
    align-items: center
}

.c-archive-news .c-archive-news-date,
.c-archive-news .c-archive-news-category-text,
.c-archive-news .c-archive-news-heading {
    --hover-opacity: 0.5;
    transition: opacity 80ms ease
}

.c-archive-news-date {
    flex: none;
    color: var(--color-primary);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}

.c-archive-news-category {
    display: flex
}

.c-archive-news-category-text {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-tight);
    color: var(--color-primary);
    white-space: nowrap;
    border: 1px solid currentcolor;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center
}

.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-filter {
    display: grid
}

.c-filter-action {
    width: 100%;
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-tight);
    color: var(--color-primary);
    border: 1px solid var(--color-gray-light);
    border-radius: 999px;
    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-filter-action.is-active {
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary)
}

.c-gallery {
    --total-slides: 3;
    overflow: hidden
}

.c-gallery-container {
    display: inline-flex;
    animation: ticker-to-left calc(20s*var(--total-slides)) linear infinite
}

.c-gallery-list {
    display: inline-flex
}

.c-gallery-item {
    flex: none
}

.c-gallery-item img {
    display: block !important;
    border-radius: var(--r)
}

.c-heading {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-half);
    color: var(--color-primary)
}

.c-intro-01.is-active .c-intro-heading-ja,
.c-intro-01.is-active .c-intro-description,
.c-intro-01.is-active .c-intro-cover {
    opacity: 1;
    transition: opacity 320ms ease, transform 1000ms var(--ease-expo-out)
}

.c-intro-01.is-active .c-intro-heading-ja {
    transition-delay: 500ms
}

.c-intro-01.is-active .c-intro-description {
    transition-delay: 560ms
}

.c-intro-01.is-active .c-intro-cover {
    transition-delay: 620ms;
    transform: translateY(0)
}

.c-intro-01 .c-intro-heading-ja {
    font-weight: var(--font-weight-bold);
    opacity: 0
}

.c-intro-01 .c-intro-heading-en {
    line-height: var(--leading-none);
    color: var(--color-primary);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}

.c-intro-01 .c-intro-description {
    /*text-align: justify;*/
    opacity: 0
}

.c-intro-01 .c-intro-cover {
    opacity: 0;
    transform: translateY(10%)
}

.c-intro-02 .c-intro-heading {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary)
}

.c-intro-02 .c-intro-gallery {
    --total-slides: 3;
    overflow: hidden
}

.c-intro-02 .c-intro-gallery-container {
    --slide-duration: 20s;
    display: inline-flex;
    animation: ticker-to-left calc(var(--slide-duration)*var(--total-slides, 1)) linear infinite;
    animation-delay: calc(-0.42*var(--slide-duration))
}

.c-intro-02 .c-intro-gallery-list {
    display: inline-flex
}

.c-intro-02 .c-intro-gallery-item {
    flex: none
}

.c-intro-02 .c-intro-gallery-item img {
    border-radius: var(--r)
}

.c-intro-03 .c-intro-info {
    display: flex;
    flex-direction: column
}

.c-intro-03 .c-intro-heading-main {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-half);
    color: var(--color-primary)
}

.c-intro-03 .c-intro-heading-sub {
    display: flex;
    align-items: center
}

.c-intro-03 .c-intro-heading-sub-index {
    line-height: var(--leading-none);
    color: var(--color-primary);
    border: 1px solid currentcolor;
    border-radius: 999px;
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}

.c-intro-03 .c-intro-heading-sub-text {
    font-weight: var(--font-weight-bold)
}

.c-intro-04.is-active .c-intro-heading-ja,
.c-intro-04.is-active .c-intro-description,
.c-intro-04.is-active .c-intro-cover {
    opacity: 1;
    transition: opacity 320ms ease, transform 1000ms var(--ease-expo-out)
}

.c-intro-04.is-active .c-intro-heading-ja {
    transition-delay: 500ms
}

.c-intro-04.is-active .c-intro-description {
    transition-delay: 560ms
}

.c-intro-04.is-active .c-intro-cover {
    transition-delay: 620ms;
    transform: translateY(0)
}

.c-intro-04 .c-intro-heading-ja {
    font-weight: var(--font-weight-bold);
    opacity: 0
}

.c-intro-04 .c-intro-heading-en {
    line-height: var(--leading-none);
    color: var(--color-primary);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}

.c-intro-04 .c-intro-description {
    text-align: justify;
    opacity: 0
}

.c-intro-04 .c-intro-cover {
    opacity: 0;
    transform: translateY(10%)
}

.c-intro-blog .c-intro-info {
    display: flex;
    align-items: center;
    line-height: var(--leading-half)
}

.c-intro-blog .c-intro-date {
    color: var(--color-primary);
    font-family: var(--font-family-en);
    font-weight: var(--font-weight-semi-bold)
}

.c-intro-blog .c-intro-heading {
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-half)
}

.c-intro-blog .c-intro-category {
    display: flex;
    flex-wrap: wrap
}

.c-intro-blog .c-intro-category-item {
    line-height: var(--leading-tight)
}

.c-intro-blog .c-intro-category-link {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-intro-blog .c-intro-cover img {
    border-radius: var(--r)
}

.c-map-button {
    display: flex
}

.c-map-button-link {
    color: var(--color-primary);
    text-decoration: none !important;
    border: 1px solid var(--color-gray-light);
    border-radius: 999px;
    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-map-button-link::after {
    display: none !important
}

.c-map-button-icon {
    flex: none
}

.c-map-button-text {
    font-weight: var(--font-weight-medium)
}

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

.c-pagination-neighbor-link {
    display: flex;
    align-items: center
}

.c-pagination-neighbor-link.is-disabled {
    cursor: not-allowed;
    opacity: .5
}

.c-pagination-neighbor-icon {
    display: flex;
    align-items: center;
    justify-content: center
}

.c-pagination-neighbor-icon svg {
    stroke: var(--color-primary)
}

.c-pagination-neighbor-text {
    font-weight: var(--font-weight-medium);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}

.c-pagination-main .screen-reader-text {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0
}

.c-record {
    position: relative;
    display: flex;
    border-bottom: 1px solid var(--color-primary)
}

.c-record-figure {
    overflow: hidden;
    border-radius: var(--r)
}

.c-record-figure img {
    transition: transform 400ms var(--ease-power4-out);
    display: block !important
}

.c-record-heading {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary)
}

.c-record-heading-link {
    text-decoration: none !important
}

.c-record-heading-link::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%
}

.c-record-description {
    /*text-align: justify*/
}

.c-record-description-row {
    margin-top: 0 !important
}

.c-record-category {
    display: flex;
    flex-wrap: wrap;
    line-height: var(--leading-tight)
}

.c-record-category-item {
    font-weight: var(--font-weight-medium);
    color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 999px
}

.c-record-category-item::before {
    display: none !important
}

.c-record-arrow {
    position: absolute;
    right: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke;
    flex: none;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center
}

.c-record-arrow::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-record-arrow svg {
    position: relative;
    z-index: 2
}

.c-record-arrow svg {
    width: 40%;
    stroke: var(--color-white);
    transition-timing-function: ease;
    transition-duration: 80ms;
    transition-property: color, background-color, border-color, fill, stroke
}

.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,table.c-spec tr {
    position: relative;
    display: flex
}

.c-spec-item::before,
.c-spec-item::after,
table.c-spec tr::before,
table.c-spec tr::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    content: ""
}

.c-spec-item::before,
table.c-spec tr::before {
    width: 100%;
    background-color: var(--color-gray-light)
}

.c-spec-item::after,
table.c-spec tr::after {
    z-index: 1;
    width: var(--heading-width);
    background-color: var(--color-primary)
}

.c-spec-heading,table.c-spec tr td:nth-child(1) {
    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("../image/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: #478ED0;
    --color-primary-selected: #ebf1f8;
    --color-sky: #5eaad7;
    --color-sky-light: #edf5fc;
    --color-sky-selected: #dfeef7;
    --color-navy: #3B71A3;
    --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("../image/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("../image/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-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);
    border-bottom: 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;
    text-align: center;
}

.l-footer-info {
    width: 100%;
    display: block;
    ex;
    */
    /* flex-direction: column; */
    ;
    text-align: center;
    margin-bottom: 5%;
}

.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: 12.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,
    table.c-spec tr {
        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:nth-child(3) {
        display: none;
    }


    .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: 30rem;
    }

    .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 -1.6rem
    }

    .l-header-burger i:nth-child(2) {
        translate: 0 0rem
    }

    .l-header-burger i:nth-child(3) {
        translate: 0 1.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-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: 90%;
    }

    .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: 30rem;
    }

    .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: 4.2rem 7.2rem 4.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-description{
        font-size: 3rem !important; 
        color: black !important;
    }


    .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,
    .c-pagination-main .page-num {
        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,
    .c-pagination-main .page-num.page-num-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,
    table.c-spec tr {
        column-gap: 4rem;
        padding: 2.8rem 0
    }

    .c-spec-heading,table.c-spec tr td:nth-child(1)  {
        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: 29.8rem;
        max-width: 287px;
    }

    .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: 0.6rem;
    }

    .l-footer-has-breadcrumb {
        padding-top: 2.4rem
    }

    .l-footer-has-contact {
        padding-top: 26.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-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;
    }

    .l-footer-copy-text {
        width: 15rem;
    }

    /*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%;
        margin-top: 9.2rem;
        line-height: var(--leading-none);
    }

    .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 {}

    .l-footer-info-identity {
        margin-right: auto
    }

    .l-footer-info-logo {
        width: 28.6rem;
    }

    .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,
    .c-pagination-main .page-num: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;
        margin-right: -15rem;
    }

    /*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 3.5rem;
    }

    .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(15vw - 9.4rem); */
        top: 100%;
        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("../image/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("../image/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("../image/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("../image/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)
}

.l-header-lan {
    position: relative;
}

.l-header-lan>a {}

.l-header-lan>a svg {
    display: inline;
    width: 18px;
    height: 8px;
    margin-left: 10px;
}

.l-header-lan ul {
    position: absolute;
    top: 99%;
    padding: 10px 0;
    width: 70px;
    display: none;
}

.l-header-lan ul li {}

.l-header-lan ul li a {
    display: block;
    padding: 10px 0;
    text-align: center;
    color: #fff;
    background: #478ED0;
}

.l-header-lan ul li a:hover {
    background-color: #62a5e3;
}

@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;
}

.l-main {
    margin-bottom: 7%;
}