.header-area-upper {
    position: absolute;
    z-index: 151;
    height: 8rem;
    margin: auto auto auto 20rem;
    display: flex;
    align-items: center;
}

.header-title {
    font-size: clamp(1rem, 1vw, 1.2rem);
    display: inline-block;
    position: relative;
}

.header-title::before {
    content: "PR";
    padding: 0rem 0.3rem;
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: -2.7rem;
}

.header-title a {
    text-decoration: none;
}

.header-title a:hover {
    text-decoration: underline;
}

.gnavi-btn-close {
    display: none;
}

.toggle-content {
    display: none;
}

.gnavi-ctrl {
    transition: opacity 0.6s, visibility 0.6s;
    opacity: 1;
    visibility: visible;
}

.gnavi-ctrl.is-show {
    opacity: 1;
    visibility: visible;
}

#low-header .gnavi-ctrl {
    opacity: 1;
    visibility: visible;
}

.gnavi-btn {
    width: var(--s7);
    height: var(--s6);
    background: rgb(51, 51, 51);
    display: block;
    position: fixed;
    right: 0px;
    z-index: 200;
    cursor: pointer;
}

.gnavi-ctrl > .gnavi-btn:first-child {
    display: none;
}

.gnavi-btn span {
    width: var(--s4);
    height: 0.1rem;
    display: inline-block;
    background: rgb(255, 255, 255);
    position: absolute;
    left: 1.2rem;
    transform: translate(0px, -50%);
    transition: transform 0.4s, opacity 0.4s;
}

.gnavi-btn.is-active span:nth-of-type(1) {
    transform: translateY(0.7rem) rotate(-45deg);
}

.gnavi-btn.is-active span:nth-of-type(2) {
    opacity: 0;
}

.gnavi-btn.is-active span:nth-of-type(3) {
    transform: translateY(-0.7rem) rotate(45deg);
}

.gnavi-btn-close {
    width: 80%;
    margin: 0px auto;
    padding: var(--s2);
    background: rgb(212, 220, 219);
    display: block;
    text-align: center;
    border-radius: 999px;
}

.gnavi-btn-close__inner {
    padding: 0 0 0 var(--s3);
    display: inline-block;
    color: rgb(255, 109, 69);
    font-weight: 700;
    position: relative;
}

.gnavi-btn-close__inner::before {
    content: "";
    width: 1em;
    height: 0.1em;
    background: rgb(255, 109, 69);
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translate(0px, -50%) rotate(45deg);
}

.gnavi-btn-close__inner::after {
    content: "";
    width: 1em;
    height: 0.1rem;
    background: rgb(255, 109, 69);
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translate(0px, -50%) rotate(135deg);
}

.gnavi-area {
    width: 100%;
    max-width: 37.5rem;
    height: 100%;
    padding: var(--s1) var(--s1);
    display: block;
    background: rgb(245, 244, 239);
    overflow: hidden auto;
    position: fixed;
    top: 8rem;
    right: 0px;
    z-index: 100;
    transform: translateX(100%);
    transition: transform 0.8s, opacity 0.8s;
    opacity: 0;
}

.gnavi-area {
    scrollbar-width: none;
}

.gnavi-area::-webkit-scrollbar {
    display: none;
}

.gnavi-title {
    min-height: var(--s6);
    margin: 0 var(--s8);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    line-height: 1.5;
}

.gnavi-pc {
    display: none;
}

.gnavi-list {
    position: relative;
}

.gnavi-list li {
    padding-left: 0px;
}

.gnavi-list__item::before {
    display: none;
}

.gnavi-list__link {
    width: 100%;
    margin: 0px auto;
    padding: var(--s2) var(--s6) var(--s2) var(--s2);
    display: block;
    font-weight: 700;
    line-height: 2;
    text-decoration: none;
    position: relative;
}

.gnavi-list__link::after {
    content: "";
    width: 1.5rem;
    height: 2.5rem;
    background: url("img/arrow-orange-001.svg") center center / 100% no-repeat;
    position: absolute;
    top: 50%;
    right: var(--s2);
    transform: translate(0px, -50%) rotate(0deg);
    transition: transform 0.3s;
}

.gnavi-list__link--toggle::after {
    background-image: url("img/arrow-orange-04.svg");
    width: 3rem;
    height: 3rem;
    right: var(--s1);
}

.gnavi-list__link--toggle.is-open::after {
    transform: translate(0px, -50%) rotate(180deg);
}

.gnavi-list__sub {
    width: 100%;
}

.gnavi-list__sub .gnavi-list__link {
    padding: 0 var(--s4) var(--s1) var(--s4);
    font-weight: 400;
    line-height: 1.5;
    font-size: 1.6rem;
}

.gnavi-list__low .gnavi-list__link {
    padding: var(--s2) var(--s4) var(--s2) var(--s4);
}

.gnavi-list__low .gnavi-list__link::after {
    content: "└";
    background: none;
    transform: translateY(-50%);
    position: absolute;
    top: 40%;
    left: 1rem;
}

.is-gnavi-open .gnavi-area {
    opacity: 1;
    transform: translateX(0px);
}

.onb-index01-frame {
    width: 100%;
    background-color: var(--site-color09);
}

.onb-index01-wrap {
    margin: 0px auto;
    padding: var(--s1) var(--s3);
    border: 0.1rem solid rgb(208, 211, 224);
    background-color: transparent;
    position: relative;
}

.onb-index01-title {
    padding: var(--s2) var(--s2) var(--s2) var(--s6);
    color: rgb(51, 51, 51);
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    background: url("./img/dummy-icon.png") left center / 4rem no-repeat;
    position: relative;
    cursor: pointer;
}

.onb-index01-title::before {
    content: "";
    width: 2rem;
    height: 0.3rem;
    background: rgb(51, 51, 51);
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translate(0px, -50%);
}

.onb-index01-title::after {
    content: "";
    width: 0.3rem;
    height: 2rem;
    background: rgb(51, 51, 51);
    position: absolute;
    top: 50%;
    right: 2.9rem;
    transform: translate(0px, -50%);
    transition: transform 0.3s;
}

.onb-index01-title.is-open::after {
    transform: translate(0px, -50%) rotate(270deg);
}

.onb-index01-chapter {
    padding: var(--s2) var(--s2) var(--s2) var(--s4);
    font-weight: 700;
}

.onb-index01-chapter-h {
    margin: 0 0 0 var(--s2);
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}

.onb-index01-chapter-h a {
    display: block;
    text-decoration: none;
}

.onb-index01-chapter-h a:hover {
    opacity: 0.6;
}

.onb-index01-chapter-h-two {
    margin-left: var(--s2);
    position: relative;
}

.onb-index01-chapter-h-three {
    margin-left: var(--s4);
    position: relative;
}

.onb-index01-chapter-h-two::before, .onb-index01-chapter-h-three::before {
    position: absolute;
    top: 0px;
    left: -1.5em;
}

.onb-index01-chapter-h-two::before {
    content: "";
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 2rem;
    background-color: var(--site-color02);
    transform: translateY(-50%);
    top: 0.8em;
}

.onb-index01-chapter-h-three::before {
    content: "└";
}

.more-content {
    display: none;
}

.onb-index01-content {
    background-color: rgb(255, 255, 255);
}

.related-article01-frame {
    border: 1px solid var(--site-color09);
    margin: var(--s6) auto;
    padding: var(--s1) var(--s3) var(--s4) var(--s3);
    background: rgb(223, 229, 227);
    position: relative;
}

.related-article01-title {
    padding: var(--s2) var(--s2) var(--s3) var(--s2);
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    font-weight: bold;
    line-height: 1;
    position: relative;
    border-bottom: 1px solid rgb(255, 255, 255);
}

.related-article01-list {
    padding: var(--s2) 0 var(--s2) var(--s2);
    font-weight: 700;
}

.related-article01-list li {
    margin: 0 0 0 var(--s2);
    padding-left: 1.5em;
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}

.related-article01-list li + li {
    margin-top: 10px;
}

.related-article01-list li::before {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background-color: rgb(254, 100, 68);
    position: absolute;
    top: 0.6rem;
    left: 0px;
}

.related-article01-list a {
    display: block;
    text-decoration: none;
}

.related-article01-list a:hover {
    opacity: 0.6;
}

.relations-box.relations-box--column {
    display: flex;
    gap: 10px;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}

.relations-box__pic {
    flex: 0 0 150px;
}

.is-hidden {
    display: none;
}

.related-article01-more {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    background: linear-gradient(rgba(255, 255, 255, 0) 0px, rgb(255, 255, 255) 50%) transparent;
    width: 100%;
    height: 25%;
    position: absolute;
    bottom: -40px;
    left: 0px;
    padding: 2rem 0px;
}

.related-article01-more.is-closed {
    display: none;
}

.related-article01-btn {
    border: 1px solid rgb(231, 231, 243);
    background: rgb(255, 255, 255);
    border-radius: 100px;
    padding: 1rem 5rem 1rem 2rem;
    position: relative;
}

.related-article01-btn::before {
    content: "";
    width: 1.8rem;
    height: 0.1rem;
    background: rgb(0, 0, 0);
    position: absolute;
    top: 50%;
    right: 1.5rem;
    transform: translate(0px, -50%);
}

.related-article01-btn::after {
    content: "";
    width: 0.1rem;
    height: 1.8rem;
    background: rgb(0, 0, 0);
    position: absolute;
    top: 50%;
    right: 2.3rem;
    transform: translate(0px, -50%);
    transition: transform 0.3s;
}

.related-article01-btn:hover {
    opacity: 0.6;
}

.sec-mv {
    width: 100%;
    background: rgb(245, 244, 239);
    display: flex;
    align-items: center;
    margin-top: -20rem;
    padding-top: 12rem;
}

.sec-mv__inner {
}

.sec-mv__content {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.sec-mv__title {
    font-size: clamp(3rem, 3.5vw, 5rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--acc);
    letter-spacing: 0.05em;
    margin: 0px 0px 3rem;
}

span.sec-mv__title-main {
    display: block;
}

span.sec-mv__title-sub {
    font-size: clamp(2rem, 2vw, 3rem);
    line-height: 1.3;
    display: block;
    margin-top: 2rem;
    color: var(--acc);
}

.sec-mv__subtitle {
    font-size: clamp(0.9rem, 2.5vw, 1rem);
    font-weight: 500;
    line-height: 1.6;
    color: rgb(102, 102, 102);
    margin: 0px;
}

.sec-mv__text {
    font-size: clamp(0.85rem, 2vw, 0.95rem);
    font-weight: 700;
    line-height: 1.8;
    margin: 0px;
    text-align: left;
}

.sec-mv__visual {
    width: 100%;
    max-width: 65vw;
    display: flex;
    align-items: center;
    position: relative;
    flex: 1 1 0%;
    justify-content: flex-end;
    order: 0;
}

.sec-mv__slider {
    width: 100%;
    position: relative;
}

.sec-mv__image {
    width: 100%;
    height: auto;
    max-width: 450px;
    display: block;
}

@keyframes secMvRevealMask {
    0% {
        mask-position: 100% 0px;
    }

    100% {
        mask-position: 0% 0px;
    }
}

.sec-mv__slider .swiper-slide.is-wipe-under {
    opacity: 1 !important;
    z-index: 1;
}

.sec-mv__slider .swiper-slide.is-reveal-start {
    z-index: 2;
    mask-image: linear-gradient(to right, rgb(0, 0, 0) 0%, rgb(0, 0, 0) 38%, rgba(0, 0, 0, 0) 62%, rgba(0, 0, 0, 0) 100%);
    mask-repeat: no-repeat;
    mask-size: 300% 100%;
    mask-position: 100% 0px;
    opacity: 1 !important;
}

.sec-mv__slider .swiper-slide.is-revealing {
    animation: 1.8s ease-in-out 0s 1 normal forwards running secMvRevealMask;
}

.sec-mv__pagination {
    display: none;
}

.sec-mv__button-prev, .sec-mv__button-next {
    display: none;
}

.swiper-fade .swiper-slide {
    opacity: 0;
    transition-property: opacity;
}

.swiper-fade .swiper-slide.swiper-slide-active {
    opacity: 1;
}

.sec-mv {
}

.sec-mv__inner {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0px;
    width: 100%;
    margin: 0px auto 0px 10vw;
    display: flex;
}

.sec-mv__content {
    flex: 1 1 0%;
    text-align: left;
    min-width: 50%;
    padding: 2rem 0px 2rem clamp(1.5rem, 3vw, 2.5rem);
    border-left: 5px solid var(--acc);
    gap: clamp(1rem, 2vw, 1.5rem);
    margin-top: 6rem;
}

.sec-mv__title {
    text-align: left;
}

.sec-mv__subtitle {
    text-align: left;
    font-size: clamp(0.95rem, 2vw, 1.1rem);
}

.sec-mv__text {
    text-align: left;
    font-size: clamp(1.4rem, 1.1vw, 1.6rem);
}

.sec-mv__visual {
}

.sec-mv__image {
    max-width: 100%;
}

.sec-mv__button-prev, .sec-mv__button-next {
    width: 3.5rem;
    height: 3.5rem;
}

.sec-mv__button-prev {
    left: -4.5rem;
}

.sec-mv__button-next {
    right: -4.5rem;
}

.header-area {
    display: contents;
}

.header-sticky {
    width: 100%;
    height: 8rem;
    padding: 0px 0px 0px 3rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0px;
    left: 0px;
    z-index: 150;
}

.header-sticky__logo {
    display: flex;
    align-items: center;
}

.header-sticky__logo a {
    display: block;
}

.header-sticky__logo img {
    height: 4rem;
    width: auto;
    display: block;
}

.header-sticky .gnavi-btn {
    position: relative;
    width: 8rem;
    height: 8rem;
    background: var(--acc);
    border-radius: 0px;
    flex-shrink: 0;
}

.header-sticky .gnavi-btn span {
    background: rgb(255, 255, 255);
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 4rem;
}

.header-sticky .gnavi-btn span:nth-of-type(1) {
    top: clamp(1.2rem, 2vw, 2.8rem);
}

.header-sticky .gnavi-btn span:nth-of-type(2) {
    top: 4rem;
}

.header-sticky .gnavi-btn span:nth-of-type(3) {
    top: 5.1rem;
}

.header-sticky .gnavi-btn.is-active span:nth-of-type(1) {
    transform: translateX(-50%) translateY(1.2rem) rotate(-45deg);
}

.header-sticky .gnavi-btn.is-active span:nth-of-type(2) {
    opacity: 0;
}

.header-sticky .gnavi-btn.is-active span:nth-of-type(3) {
    transform: translateX(-50%) translateY(-1.2rem) rotate(45deg);
}

.onb-2column-slider {
    padding-bottom: 3rem;
}

.onb-2column-slider .swiper-button-next, .onb-2column-slider .swiper-button-prev {
    width: 2rem;
    height: 2rem;
    top: 45%;
}

.onb-2column-slider .swiper-button-next:hover, .onb-2column-slider .swiper-button-prev:hover {
    opacity: 0.6;
}

@media screen and (max-width: 767px) {
    .related-article01-list {
        padding: 0px;
    }

    .related-article01-list li {
        margin-left: 0px;
    }

    .relations-box__pic {
        flex: 0 0 100px;
    }
}

.thb-slider {
    width: 100%;
    padding-bottom: var(--s4);
}

.thb-slider .swiper-button-next, .thb-slider .swiper-button-prev {
    width: 2rem;
    height: 2rem;
    top: 45%;
}

.thb-slider .swiper-button-next:hover, .thb-slider .swiper-button-prev:hover {
    opacity: 0.6;
}

.thb-slider .swiper-button-next::after, .thb-slider .swiper-rtl .swiper-button-prev::after {
    content: "";
    width: 2rem;
    height: 2rem;
    background: url("./img/slider-arrow-right.svg") center center / contain no-repeat;
}

.thb-slider .swiper-button-prev::after, .thb-slider .swiper-rtl .swiper-button-next::after {
    content: "";
    width: 2rem;
    height: 2rem;
    background: url("./img/slider-arrow-left.svg") center center / contain no-repeat;
}

.sec-company-list {
    padding: clamp(3rem, 3vw, 5rem) 0px clamp(5rem, 6vw, 10rem);
    background: var(--bg-base);
}

section.sec-company-list .l-center {
    max-width: 1500px;
}

.sec-company-list__title, .sec-detail-company__title, .sec-company-list-detail__title, .sec-recommended__title, .sec-about__title, .sec-measures__title {
    font-size: clamp(2rem, 3.5vw, 5rem);
    font-weight: 700;
    line-height: 1.6;
    color: var(--txt-emp);
    text-align: center;
    margin-bottom: clamp(7rem, 5vw, 10rem);
    position: relative;
}

.sec-company-list__title span, .sec-detail-company__title span, .sec-company-list-detail__title span, .sec-recommended__title span, .sec-about__title span, .sec-measures__title span {
    font-size: clamp(2rem, 2.5vw, 3rem);
    display: block;
}

.title-link {
    display: inline-block;
    padding-bottom: 5rem;
    color: inherit;
    text-decoration: none;
    position: relative;
    transition: opacity 0.2s;
}

.title-link::after {
    content: "";
    width: 4rem;
    height: 4rem;
    background: url("img/arrow-orange-01.svg") center center / contain no-repeat;
    position: absolute;
    bottom: 0px;
    right: 0px;
    left: 0px;
    margin: auto;
}

.title-link:hover {
    opacity: 0.7;
}

.sec-company-list__title::before {
    content: "";
    display: block;
    aspect-ratio: 1156 / 123;
    margin: 0px auto clamp(0.5rem, 1.5vw, 1.5rem);
    background: url("img/by-situation.svg") center center / contain no-repeat;
    height: 10rem;
}

.sec-company-list__cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: clamp(1.5rem, 3vw, 2.5rem);
}

.company-card {
    border: 0px;
    border-radius: 0.2rem;
    overflow: visible;
    display: flex;
    flex-direction: column;
}

.company-card:hover {
}

.company-card__header {
    position: relative;
    background: rgb(6, 77, 93);
    padding: 3.6rem 1.8rem 2.6rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.4rem;
    margin-bottom: 3rem;
    justify-content: center;
}

.company-card__header::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -1.6rem;
    transform: translateX(-50%);
    border-left: 1.8rem solid transparent;
    border-right: 1.8rem solid transparent;
    border-top: 1.8rem solid rgb(8, 77, 93);
    z-index: 2;
}

.company-card__label {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: -1.5rem;
    left: 50%;
    transform: translateX(-50%);
    padding: 0.9rem 2.6rem;
    background: var(--acc);
    color: var(--white);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
}

.company-card__head-row {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    width: 100%;
}

.company-card__icon {
    flex: 0 0 10rem;
    width: 10rem;
}

.company-card__icon-img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.company-card__situation-title {
    flex: 1 1 0%;
    font-size: clamp(1.4rem, 1.8vw, 2rem);
    font-weight: 700;
    line-height: 1.5;
    color: var(--white);
    margin: 0px;
}

.company-card__situation-title span {
    color: rgb(255, 210, 176);
    font-size: clamp(2rem, 2vw, 2.5rem);
}

.company-card__body {
    padding: 2rem 1.5rem 2.5rem;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 1.8rem;
    background: rgb(247, 244, 237);
    border-top: 10px solid rgb(6, 77, 93);
}

.company-card__company-name {
    font-size: clamp(2.5rem, 2.8vw, 3rem);
    font-weight: 700;
    color: var(--txt-main);
    margin: 0px;
    text-align: center;
}

.company-card__description {
    font-size: clamp(1.6rem, 2vw, 2rem);
    line-height: 1.5;
    color: var(--acc);
    margin: 1rem 0px 0px;
    font-weight: 700;
    text-align: center;
    display: block;
}

span.company-card__description span {
    font-size: clamp(2rem, 1.8vw, 3rem);
}

.company-card__support {
    background: var(--white);
    padding: 1.3rem 2.2rem 1.1rem;
    border-radius: 0px;
    border: 1px solid rgba(0, 0, 0, 0.03);
}

.company-card__support-title {
    font-size: 1.6rem;
    font-weight: 700;
    color: rgb(5, 79, 98);
    margin: 0px 0px 1rem;
    text-align: center;
}

.company-card__support-list {
    margin: 0px;
    padding: 0px;
    font-size: 1.6rem;
    line-height: 1.5;
    color: var(--txt-main);
}

.company-card__support-list li {
    margin-bottom: 0.8rem;
    padding-left: 2.3rem;
    font-weight: 700;
    position: relative;
}

.company-card__support-list li::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0.35rem;
    width: 1.4rem;
    height: 1.4rem;
    border-radius: 50%;
    background: var(--acc);
}

.company-card__footer {
    padding: 0px 1.6rem 2rem;
    background: rgb(247, 244, 237);
}

.company-card__case-label {
    display: block;
    width: 100%;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--white);
    margin: 0px 0px 1.2rem;
    text-transform: none;
    letter-spacing: 0px;
    background: rgb(5, 79, 98);
    text-align: center;
    padding: 1rem 1.2rem;
}

.company-card__case-title {
    font-size: clamp(1.6rem, 1.6vw, 1.8rem);
    font-weight: 700;
    color: var(--txt-main);
    margin: 0px 0px 1.2rem;
    text-align: center;
}

.company-card__case-media {
    margin-bottom: 1.4rem;
}

.company-card__slider {
    padding-bottom: 3.2rem;
}

.company-card__slider .swiper-slide img {
    display: block;
    width: auto;
    height: 22rem;
    background: rgb(219, 219, 219);
    margin: auto;
}

.company-card__slider .caption {
    margin-top: 0.6rem;
    font-size: 1.2rem;
    line-height: 1.5;
    word-break: break-all;
}

.company-card__slider .swiper-pagination {
    bottom: 0px;
}

.company-card__case-dots {
    display: flex;
    justify-content: center;
    gap: 0.7rem;
    margin-top: 0.8rem;
}

.company-card__case-dots span {
    width: 1.2rem;
    height: 1.2rem;
    border-radius: 50%;
    background: rgb(213, 213, 213);
}

.company-card__case-dots .is-active {
    background: var(--acc);
}

.company-card__case-content {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.company-card__case-item {
    display: grid;
    grid-template-columns: 5.2rem 1fr;
    gap: 1rem;
    align-items: stretch;
}

.company-card__case-label-sm {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 5.4rem;
    font-size: 1.6rem;
    font-weight: 700;
    color: var(--white);
    background: rgb(7, 79, 98);
    margin: 0px;
    text-transform: none;
    line-height: 1.2;
    padding: 0.4rem;
    text-align: center;
}

.company-card__case-text {
    font-size: 1.6rem;
    line-height: 1.8;
    color: var(--txt-main);
    margin: 0px;
}

.company-card__bridge {
    margin: 0px 0px -0.8rem;
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
    font-weight: 700;
    color: rgb(5, 79, 98);
    text-align: center;
}

.company-card__case-source {
    margin: 1rem 0px 0px;
    font-size: 1.2rem;
    line-height: 1.6;
    color: rgba(0, 0, 0, 0.55);
    word-break: break-all;
}

.company-card__actions {
    padding: 2rem 3.5rem 5rem;
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
    background: rgb(247, 244, 237);
    margin-top: auto;
}

.company-card__actions .btn-web, .company-card__actions .btn-tel, .detail-company__actions .btn-web, .detail-company__actions .btn-tel {
    width: 100%;
    max-width: 100%;
    margin: 0px;
    position: relative;
    z-index: 1;
}

.company-card__actions .btn-web::after, .company-card__actions .btn-tel::after, .detail-company__actions .btn-web::after, .detail-company__actions .btn-tel::after {
    display: none;
}

.company-card__actions .btn-web a, .detail-company__actions .btn-web a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 6rem;
    background: #ff3800;
    color: var(--white);
    font-size: 1.8rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    border-radius: 999px;
    box-shadow: rgb(240, 198, 183) 0px 0.8rem 0px;
    position: relative;
    transition: transform 0.2s, background 0.2s;
}

.company-card__actions .btn-web a::after, .detail-company__actions .btn-web a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    transform: translateY(-50%);
    background: url("img/icon-external-link.svg") center center / contain no-repeat;
}

.company-card__actions .btn-web a:hover, .detail-company__actions .btn-web a:hover {
    background: rgb(255, 95, 51);
    transform: translateY(0.8rem);
}

.company-card__actions .btn-tel, .detail-company__actions .btn-tel {
    display: none;
}

@media (max-width: 1023px) {
    .sec-company-list__cards {
        grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
        gap: clamp(1.2rem, 2vw, 2rem);
    }

    .company-card__header {
        padding: 3.4rem 1.4rem 2.4rem;
        gap: 1rem;
    }

    .company-card__icon {
        flex: 0 0 6.4rem;
        width: 6.4rem;
    }

    .company-card__body, .company-card__footer, .company-card__actions {
        padding-left: 1.4rem;
        padding-right: 1.4rem;
    }

    .company-card__slider .swiper-slide img {
        height: 20rem;
    }

    .company-card__case-item {
        grid-template-columns: 4.8rem 1fr;
    }
}

@media (max-width: 767px) {
    .sec-company-list {
        padding: 5rem 0px;
    }

    .sec-company-list__title {
        font-size: 2.5rem;
        margin-bottom: 6rem;
        line-height: 1.4;
    }

    .sec-company-list__cards {
        grid-template-columns: 1fr;
        gap: 8rem;
    }

    .company-card__header {
        align-items: center;
        padding: 3rem 1rem 1.5rem;
    }

    .company-card__header::after {
        bottom: -1.4rem;
        border-left-width: 1.6rem;
        border-right-width: 1.6rem;
        border-top-width: 1.6rem;
    }

    .company-card__icon {
        flex: 0 0 6rem;
        width: 6rem;
    }

    .company-card__body {
        padding: 2.6rem 1.2rem 1.4rem;
        gap: 1.2rem;
    }

    .company-card__footer {
        padding: 0px 1.2rem 1.4rem;
    }

    .company-card__case-content {
        gap: 1.5rem;
    }

    .company-card__slider .swiper-slide img {
        height: 18rem;
    }

    .company-card__case-item {
        grid-template-columns: 4.4rem 1fr;
        gap: 0.8rem;
    }

    .company-card__actions {
        padding: 2rem 1.2rem 4.8rem;
        gap: 1.2rem;
    }

    .company-card__actions .btn-web a, .detail-company__actions .btn-web a {
        min-height: 5.4rem;
        padding: 1.2rem 4.8rem;
        font-size: 1.6rem;
    }

    .company-card__actions .btn-web a::after, .detail-company__actions .btn-web a::after {
        right: 1.6rem;
        width: 2.2rem;
        height: 2.2rem;
    }

    .company-card__actions .btn-tel, .detail-company__actions .btn-tel {
        display: block;
    }

    .company-card__actions .btn-tel a, .detail-company__actions .btn-tel a {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 5.4rem;
        margin: 0px;
        padding: 1.2rem 4.8rem;
        background: rgb(31, 126, 167);
        color: var(--white);
        font-size: 1.6rem;
        font-weight: 700;
        text-align: center;
        text-decoration: none;
        border-radius: 999px;
        box-shadow: rgb(11, 83, 107) 0px 0.8rem 0px;
        position: relative;
        transition: transform 0.2s, background 0.2s;
    }

    .company-card__actions .btn-tel a::after, .detail-company__actions .btn-tel a::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 1.6rem;
        width: 2.4rem;
        height: 2.4rem;
        transform: translateY(-50%);
        background: url("img/icon-phone.svg") center center / contain no-repeat;
    }

    .company-card__actions .btn-tel a:hover, .detail-company__actions .btn-tel a:hover {
        background: rgb(27, 113, 152);
        transform: translateY(-0.2rem);
    }
}

#contents .caption {
    font-size: 1rem;
    line-height: 1.3;
}

#contents .caption br {
    display: none;
}

.sec-detail-company {
    position: relative;
    padding: clamp(5rem, 6vw, 10rem) 0px clamp(15rem, 20vw, 25rem);
    background: rgb(246, 243, 236);
}

.sec-detail-company .l-center {
    max-width: 120rem;
}

.sec-detail-company__head {
    text-align: center;
    margin-bottom: 3rem;
}

.sec-detail-company__eyebrow {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--txt-main);
    margin: 0px 0px 0.8rem;
}

.sec-detail-company__title {
    font-size: clamp(2rem, 2.5vw, 3rem);
}

.sec-detail-company__title::before {
    content: "";
    display: block;
    aspect-ratio: 470 / 123;
    margin: 0px auto clamp(0.5rem, 1.5vw, 1.5rem);
    background: url("img/details.svg") center center / contain no-repeat;
    height: 10rem;
}

.sec-company-list-detail__title::before {
    content: "";
    display: block;
    aspect-ratio: 338 / 123;
    margin: 0px auto clamp(0.5rem, 1.5vw, 1.5rem);
    background: url("img/list.svg") center center / contain no-repeat;
    height: 10rem;
}

.sec-recommended__title::before {
    content: "";
    display: block;
    aspect-ratio: 1390 / 123;
    margin: 0px auto clamp(0.5rem, 1.5vw, 1.5rem);
    background: url("img/recommended.svg") center center / contain no-repeat;
    height: 10rem;
}

.sec-about__title::before {
    content: "";
    display: block;
    aspect-ratio: 1441 / 123;
    margin: 0px auto clamp(0.5rem, 1.5vw, 1.5rem);
    background: url("img/inner-branding.svg") center center / contain no-repeat;
    height: 10rem;
}

.sec-measures__title::before {
    content: "";
    display: block;
    aspect-ratio: 921 / 123;
    margin: 0px auto clamp(0.5rem, 1.5vw, 1.5rem);
    background: url("img/measures.svg") center center / contain no-repeat;
    height: 10rem;
}

.sec-company-list__title::before, .sec-detail-company__title::before, .sec-company-list-detail__title::before, .sec-recommended__title::before, .sec-about__title::before, .sec-measures__title::before {
    transform: translateX(calc(-50% + 50vw));
    opacity: 0;
    transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 1.2s ease-out;
    will-change: transform;
}

.sec-company-list__title.is-h2deco-inview::before, .sec-detail-company__title.is-h2deco-inview::before, .sec-company-list-detail__title.is-h2deco-inview::before, .sec-recommended__title.is-h2deco-inview::before, .sec-about__title.is-h2deco-inview::before, .sec-measures__title.is-h2deco-inview::before {
    transform: translateX(0px);
    opacity: 1;
}

.contents-area {
    overflow-x: clip;
}

@media (prefers-reduced-motion: reduce) {
    .sec-company-list__title::before, .sec-detail-company__title::before, .sec-company-list-detail__title::before, .sec-recommended__title::before, .sec-about__title::before, .sec-measures__title::before {
        transform: none;
        opacity: 1;
        transition: none;
    }
}

.detail-company {
    border-top: 0.4rem solid rgb(14, 91, 104);
    background: var(--white);
    position: relative;
    margin-top: 30rem;
}

.detail-company__top {
    position: absolute;
    width: 100%;
    top: -23rem;
}

.detail-company__banner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    background: rgb(0, 71, 88);
    color: var(--white);
    padding: 2.5rem 1.5rem;
    position: relative;
}

.detail-company__banner::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -2.1rem;
    transform: translateX(-50%);
    border-left: 2.2rem solid transparent;
    border-right: 2.2rem solid transparent;
    border-top: 2.2rem solid rgb(0, 71, 88);
}

.detail-company__banner-icon {
    width: 10rem;
    height: 10rem;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 10rem;
}

.detail-company__banner-icon img {
    display: block;
}

.detail-company__banner-copy {
    font-weight: 700;
    line-height: 1.35;
    margin: 0px;
    font-size: clamp(1.8rem, 1.8vw, 2.5rem);
}

.detail-company__banner-copy span {
    color: rgb(255, 210, 176);
    font-size: clamp(2.5rem, 2.5vw, 3.5rem);
}

.detail-company__panel {
    padding: 4rem 4rem 3.5rem;
    text-align: center;
}

.detail-company__label {
    display: inline-block;
    background: rgb(255, 109, 69);
    color: var(--white);
    font-size: clamp(2.5rem, 2vw, 3rem);
    font-weight: 700;
    line-height: 1;
    padding: 0.7rem 1.8rem;
    margin: 0px 0px 1rem;
}

.detail-company__bridge {
    font-size: clamp(1.6rem, 1.8vw, 2rem);
    font-weight: 700;
    color: rgb(12, 90, 104);
    margin: 0px 0px 3rem;
}

.detail-company__lead {
    font-size: clamp(2.5rem, 1.8vw, 2.7rem);
    font-weight: 700;
    line-height: 1.45;
    color: var(--acc);
    margin: 0px 0px 1rem;
}

.detail-company__lead span {
    font-size: clamp(2.5rem, 2.5vw, 4rem);
}

.detail-company__company-name {
    font-size: clamp(2.6rem, 4vw, 3.4rem);
    font-weight: 700;
    line-height: 1.2;
    color: var(--txt-main);
    margin: 0px 0px 2rem;
}

.detail-company__visual {
    margin: 0px auto 2.2rem;
    max-width: 60rem;
}

.detail-company__visual img {
    width: 100%;
}

.detail-company__visual figcaption {
    font-size: 1rem;
    line-height: 1.5;
    color: var(--txt-sub);
    margin-top: 0.8rem;
    text-align: center;
}

.detail-company__question, h4.detail-case__section-title {
    font-size: clamp(2.2rem, 2.6vw, 3rem);
    font-weight: 700;
    line-height: 1.45;
    color: var(--txt-main);
    margin: 10rem 0px 3rem;
    padding-bottom: 3rem;
    position: relative;
}

.detail-company__question {
    margin: 6rem 0px 3rem;
}

.detail-company__question::before, .detail-case__section-title::before {
    content: "";
    position: absolute;
    bottom: 0px;
    right: 0px;
    left: 0px;
    margin: auto;
    width: 20rem;
    height: 0.5rem;
    background: var(--acc);
}

.detail-company__features {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 4rem;
    text-align: left;
    margin-bottom: 2.4rem;
}

.detail-feature {
    padding-top: 0.2rem;
}

.detail-feature__title {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.45;
    color: rgb(12, 90, 104);
    margin: 0px 0px 2rem;
}

.detail-feature__text {
    font-size: 1.6rem;
    line-height: 1.8;
    color: var(--txt-main);
    margin: 0px;
}

.detail-company__actions, .detail-company__actions--repeat {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.4rem;
    max-width: 50rem;
    margin: 3rem auto 6rem;
}

.detail-case {
    text-align: center;
}

.detail-case__section-title--sub {
    margin-bottom: 2rem;
    margin-top: 4rem;
    background: rgb(246, 243, 236);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.35;
    color: rgb(12, 90, 104);
    padding: 1rem;
}

.detail-case__section-title--sub .swiper-backface-hidden .swiper-slide img {
    width: auto;
    height: 35rem;
}

.detail-case__section-title--sub::before {
    display: none;
}

.detail-case__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 4rem;
    margin: 6rem 0px 1rem;
    text-align: left;
}

.detail-step {
    position: relative;
    background: rgb(246, 243, 236);
    padding: 0px 2rem 2rem;
    min-height: 28rem;
}

.detail-step:last-child {
    position: relative;
    background: rgb(255, 210, 176);
    padding: 0px 2rem 2rem;
    min-height: 28rem;
}

.detail-step:nth-of-type(1)::after, .detail-step:nth-of-type(2)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: -3.5rem;
    transform: translateY(-50%);
    width: 2.7rem;
    aspect-ratio: 27 / 44;
    background: url("img/Polygon 5.svg") center center / contain no-repeat;
    z-index: 2;
    pointer-events: none;
}

.detail-step__title {
    font-size: 2.6rem;
    font-weight: 700;
    line-height: 1.45;
    color: var(--txt-main);
    margin: 0px 0px 1.5rem;
    text-align: center;
}

.detail-step__title::before {
    content: "";
    display: block;
    width: 8rem;
    margin: -0.9rem auto 1.8rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}

.detail-step:nth-of-type(1) .detail-step__title::before {
    aspect-ratio: 185 / 38;
    background-image: url("img/step-01.svg");
}

.detail-step:nth-of-type(2) .detail-step__title::before {
    aspect-ratio: 194 / 38;
    background-image: url("img/step-02.svg");
}

.detail-step:nth-of-type(3) .detail-step__title::before {
    aspect-ratio: 196 / 38;
    background-image: url("img/step-03.svg");
}

.detail-step__text {
    font-size: 2.1rem;
    line-height: 1.4;
    color: rgb(12, 90, 104);
    margin: 0px 0px 2rem;
    font-weight: 700;
}

.detail-case__story {
    display: grid;
    grid-template-columns: minmax(0px, 1fr) minmax(0px, 0.8fr);
    gap: 1.4rem;
    align-items: start;
    margin-bottom: 3rem;
    text-align: left;
}

.detail-case__story-text {
    background: rgb(255, 255, 255);
    padding: 1.4rem 1.3rem 1.4rem 1.4rem;
}

.detail-case__story-wrapper {
    border-left: 0.5rem solid rgb(12, 90, 104);
    padding-left: 1rem;
    margin-bottom: 2rem;
}

.detail-case__story-kicker {
    font-size: 1.8rem;
    font-weight: 700;
    color: rgb(12, 90, 104);
    margin: 0px;
}

.detail-case__story-title {
    font-size: clamp(2.5rem, 2vw, 3rem);
    font-weight: 700;
    line-height: 1.35;
    color: rgb(12, 90, 104);
    margin: 0px 0px 1rem;
}

.detail-case__story-list {
    margin: 0px;
    font-size: 1.5rem;
    line-height: 1.6;
    color: var(--txt-main);
    background: rgb(246, 243, 236);
    padding: 2rem;
}

.detail-case__story-list li {
    position: relative;
    padding-left: 1.8rem;
    margin-bottom: 0.4rem;
}

.detail-case__story-list li::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0.7rem;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    background: rgb(255, 109, 69);
}

.detail-case__story-image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background: rgb(221, 221, 221);
}

.detail-case__results {
    margin-bottom: 3rem;
}

.detail-case__results img {
    width: auto;
    max-height: 35rem;
}

.detail-case__results .slider-container {
    width: 80%;
    margin: auto;
    padding: 0px 8rem;
    position: relative;
}

.detail-case__results .slider {
    position: static;
}

.detail-case__text {
    margin-block: 2rem 0px; text-align: left;
}

.sec-detail-company__lead {
    text-align: center;
    font-size: clamp(1.6rem, 4vw, 2rem);
    line-height: 1.8;
    color: var(--txt-main);
    margin: -5rem 0px 4rem;
}

.detail-case__item {
    margin-bottom: 6rem;
    position: relative;
}

.detail-case__item + .detail-case__item {
    border-top: 5px dotted rgb(223, 229, 227);
    padding-top: 5rem;
    margin-top: 10rem;
}

.detail-case__company-info {
    line-height: 1.8;
    color: var(--txt-main);
    margin: 0px 0px 1rem;
}

.detail-case__company-note {
    font-size: 1.2rem;
    line-height: 1.6;
    color: rgb(119, 119, 119);
    margin: 0px;
    word-break: break-all;
}

.detail-case__image-credit {
    font-size: 1rem;
    line-height: 1.3;
    color: rgb(119, 119, 119);
    margin: 0.6rem 0px 0px;
    word-break: break-all;
}

.detail-case__source {
    font-size: 1rem;
    line-height: 1.3;
    color: rgb(119, 119, 119);
    text-align: right;
    margin: 0px 0px 3rem;
    word-break: break-all;
}

.detail-voice__thumb-credit {
    font-size: 1rem;
    line-height: 1.5;
    color: rgb(119, 119, 119);
    margin: 0.5rem 0px 0px;
    word-break: break-all;
}

.detail-case__slider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    margin-bottom: 1.2rem;
}

.detail-case__slider-screen {
    width: min(100%, 48rem);
    height: 26rem;
    background: rgb(221, 221, 221);
}

.detail-case__slider-btn {
    position: relative;
    width: 3.6rem;
    height: 3.6rem;
    border: 0px;
    border-radius: 50%;
    background: rgb(223, 230, 232);
    flex: 0 0 3.6rem;
}

.detail-case__slider-btn::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.8rem;
    height: 0.8rem;
    border-top: 0.2rem solid rgb(138, 156, 163);
    border-right: 0.2rem solid rgb(138, 156, 163);
    transform: translate(-35%, -50%) rotate(225deg);
}

.detail-case__slider-btn--next::before {
    transform: translate(-65%, -50%) rotate(45deg);
}

.detail-case__note {
    font-size: 1rem;
    line-height: 1.7;
    color: var(--txt-sub);
    margin: 0px;
    text-align: left;
}

.detail-voice {
    margin-bottom: 3rem;
}

.detail-voice__box {
    text-align: left;
}

.detail-voice__company {
    font-size: 2.5rem;
    font-weight: 700;
    color: rgb(12, 90, 104);
    margin: 0px 0px 1.4rem;
    padding-left: 1.4rem;
    position: relative;
    line-height: 1.4;
}

.detail-voice__company::before {
    content: "";
    position: absolute;
    left: 0px;
    top: 0.1em;
    width: 0.5rem;
    height: 1.2em;
    background: rgb(12, 90, 104);
}

.detail-voice__comment {
    display: grid;
    grid-template-columns: 26rem minmax(0px, 1fr);
    gap: 2rem;
    align-items: stretch;
}

.detail-voice__thumb {
    background: rgb(215, 217, 219);
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.detail-voice__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.detail-voice__body {
    position: relative;
    background: rgb(223, 229, 227);
    padding: 2rem 2.4rem;
    display: flex;
    align-items: center;
}

.detail-voice__body::before {
    content: "";
    position: absolute;
    top: 15%;
    left: -2rem;
    border-style: solid;
    border-width: 2.2rem 2.4rem 2.2rem 0px;
    border-color: transparent rgb(223, 229, 227) transparent transparent;
}

.detail-voice__text {
    line-height: 1.8;
    color: var(--txt-main);
    margin: 0px;
}

.detail-voice__source {
    font-size: 1.3rem;
    line-height: 1.6;
    color: rgb(154, 160, 160);
    margin: 1.2rem 0px 0px;
    word-break: break-all;
}

.detail-target {
    position: relative;
    margin: 6rem 13rem 5rem;
    background: rgb(246, 243, 236);
    padding: 1rem;
}

.detail-target h4.detail-case__section-title {
    color: rgb(12, 90, 104);
    margin: 3rem 0px;
}

.detail-target h4.detail-case__section-title::before {
    background: rgb(12, 90, 104);
}

.detail-target::before, .detail-target::after {
    content: "";
    position: absolute;
    bottom: 0px;
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: contain;
    pointer-events: none;
    z-index: 1;
}

.detail-target::before {
    left: -5rem;
    height: clamp(15rem, 15vw, 25rem);
    aspect-ratio: 76 / 201;
    background-image: url("img/B_04.svg");
}

.detail-target::after {
    right: -5rem;
    height: clamp(15rem, 15vw, 25rem);
    aspect-ratio: 112 / 207;
    background-image: url("img/B_07.svg");
}

.detail-target__box {
    padding: 0px 7rem;
    text-align: left;
}

.detail-target__main {
    padding: 2rem 0px 4rem;
}

.detail-target__text {
    font-size: clamp(1.8rem, 2vw, 2rem);
    font-weight: 700;
    line-height: 1.6;
    color: var(--txt-emp);
    margin: 0px 0px 1.6rem;
}

.detail-target__desc {
    font-size: 1.5rem;
    line-height: 1.9;
    color: var(--txt-main);
    margin: 0px;
}

.detail-basic-info {
    margin-top: 1rem;
}

.detail-basic-info__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 1.4rem;
    text-align: left;
}

.detail-basic-info__table th, .detail-basic-info__table td {
    border: 1px solid rgb(228, 228, 228);
    padding: 1rem 1.2rem;
    vertical-align: top;
}

.detail-basic-info__table th {
    width: 18%;
    background: rgb(247, 247, 244);
}

.detail-basic-info__table td {
    color: var(--txt-main);
}

.sec-company-list-detail {
    position: relative;
    padding: clamp(5rem, 6vw, 10rem) 0px;
    color: var(--white);
}

.sec-company-list-detail::after {
    content: "";
    position: absolute;
    left: 50%;
    top: -20rem;
    transform: translateX(-50%);
    width: clamp(30rem, 33vw, 50rem);
    aspect-ratio: 602 / 259;
    background: url("img/company-list-deco.svg") center center / contain no-repeat;
    z-index: 1;
    pointer-events: none;
}

.sec-company-list-detail .l-center {
    max-width: 120rem;
}

.sec-company-list-detail__head {
    position: relative;
    text-align: center;
    margin-bottom: 3rem;
}

.sec-company-list-detail__eyebrow {
    font-size: clamp(1.8rem, 2.6vw, 3rem);
    font-weight: 700;
    line-height: 1.3;
    color: rgba(244, 244, 244, 0.32);
    margin: 0px 0px 0.4rem;
}

.sec-company-list-detail__title {
    font-size: clamp(2rem, 2.5vw, 3rem);
}

.sec-company-list-detail__icon {
    width: 2.2rem;
    height: 2.2rem;
    margin: 1rem auto 0px;
}

.sec-company-list-detail__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.sec-company-list-detail__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0px, 1fr));
    gap: 4rem;
}

.detail-list-card {
    position: relative;
    background: rgb(244, 239, 230);
    color: var(--txt-main);
    padding: 2.8rem 2.4rem;
    min-height: 38rem;
}

.detail-list-card__head {
    margin-bottom: 1.6rem;
}

.detail-list-card__name {
    font-size: clamp(2rem, 1.7vw, 2.5rem);
    font-weight: 700;
    line-height: 1.3;
    color: var(--txt-main);
    margin: 0px;
}

.detail-list-card__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s;
}

.detail-list-card__link::after {
    content: "";
    flex: 0 0 3.6rem;
    width: 3.6rem;
    height: 3.6rem;
    background: url("img/arrow-orange-01.svg") center center / contain no-repeat;
}

.detail-list-card__link:hover {
    opacity: 0.7;
}

.detail-list-card__text {
    line-height: 1.9;
    color: rgb(51, 51, 51);
    margin: 0px 0px 2rem;
}

.detail-list-card__note {
    font-size: 1rem;
    line-height: 1.3;
    color: rgb(119, 119, 119);
    margin: -1.4rem 0px 1.6rem;
    word-break: break-all;
}

.detail-list-card__table {
    width: 100%;
    border-collapse: collapse;
    background: rgba(255, 255, 255, 0.55);
    font-size: 1.6rem;
}

.detail-list-card__table th, .detail-list-card__table td {
    padding: 1.1rem 1.2rem;
    border: 1px solid rgb(226, 221, 210);
    line-height: 1.5;
    text-align: left;
    vertical-align: middle;
    font-size: 1.5rem;
}

.detail-list-card__table th {
    width: 34%;
    font-weight: 700;
    color: rgb(68, 68, 68);
    background: rgba(255, 255, 255, 0.45);
}

.sec-company-list-detail__more {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

.sec-company-list-detail__more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22rem;
    min-height: 4.6rem;
    padding: 0.8rem 2rem;
    border-radius: 999px;
    background: rgb(223, 231, 230);
    color: rgb(255, 109, 69);
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.03) 0px 0px 0px 1px inset;
}

@media (max-width: 1023px) {
    .sec-company-list-detail__grid {
        grid-template-columns: repeat(2, minmax(0px, 1fr));
    }

    .detail-list-card {
        min-height: 34rem;
    }
}

@media (max-width: 767px) {
    .sec-company-list-detail {
        padding: 10rem 0px 5rem;
    }

    .sec-company-list-detail::after {
        top: -12rem;
    }

    .sec-company-list-detail::before {
        right: 0.6rem;
        top: 0.4rem;
    }

    .sec-company-list-detail__head {
        margin-bottom: 2rem;
    }

    .sec-company-list-detail__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .detail-list-card {
        min-height: auto;
        padding: 2.4rem 2rem;
    }

    .detail-list-card__name {
        font-size: 2.2rem;
    }

    .detail-list-card__link::after {
        flex-basis: 3.2rem;
        width: 3.2rem;
        height: 3.2rem;
    }

    .detail-list-card__text {
        font-size: 1.6rem;
    }

    .detail-list-card__table {
        font-size: 1.6rem;
    }

    .sec-company-list-detail__more {
        margin-top: 2.4rem;
    }

    .sec-company-list-detail__more-btn {
        min-width: 18rem;
        font-size: 1.3rem;
    }
}

@media (max-width: 1023px) {
    .sec-detail-company__title {
        font-size: clamp(2rem, 5vw, 3.6rem);
    }

    .detail-company__features, .detail-case__steps, .detail-case__story {
        grid-template-columns: 1fr;
        gap: 4rem;
        display: grid;
    }

    .detail-step:nth-of-type(1)::after, .detail-step:nth-of-type(2)::after {
        top: auto;
        right: 50%;
        bottom: -5rem;
        transform: translateX(50%) rotate(90deg);
    }

    .detail-company__banner {
        flex-direction: column;
        text-align: center;
    }

    .detail-case__story-image {
        order: -1;
    }

    .detail-target {
        margin: 0px 0px 4rem;
    }

    .detail-target__box {
        padding: 0px 2rem;
    }

    .detail-basic-info__table th {
        width: 28%;
    }
}

@media (max-width: 767px) {
    .sec-detail-company {
        padding: 7rem 0px 15rem;
    }

    .sec-detail-company::before {
        top: 0.8rem;
        right: 0.6rem;
    }

    .sec-detail-company__head {
        margin-bottom: 2rem;
    }

    .sec-detail-company__eyebrow {
        font-size: 1.7rem;
    }

    .detail-company__top {
        padding: 0px;
        top: -26rem;
    }

    .detail-company__panel {
        padding: 2.2rem 1rem 2.8rem;
    }

    .detail-company__label, .detail-company__banner-copy, .detail-company__lead, .detail-company__question, .detail-feature__title, .detail-feature__text, .detail-step__text, .detail-case__story-title, .detail-case__story-list, .detail-voice__company, .detail-target__text, .detail-basic-info__table {
        font-size: 1.6rem;
    }

    .detail-case__story-kicker {
        font-size: 1.6rem;
    }

    .detail-company__company-name {
        font-size: 2.8rem;
    }

    .detail-company__visual {
        max-width: 100%;
    }

    .detail-company__actions, .detail-company__actions--repeat {
        margin-bottom: 2.4rem;
    }

    .detail-step {
        min-height: auto;
    }

    .detail-case__slider-screen {
        height: 19rem;
    }

    .detail-voice__comment {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .detail-voice__thumb {
        aspect-ratio: 16 / 9;
    }

    .detail-voice__body {
        padding: 1.6rem 1.8rem;
    }

    .detail-voice__body::before {
        top: -1.4rem;
        left: 3rem;
        border-width: 0px 1.2rem 1.4rem;
        border-color: transparent transparent rgb(223, 229, 227);
    }

    .detail-voice__company {
        font-size: 1.7rem;
    }

    .detail-basic-info__table th, .detail-basic-info__table td {
        padding: 0.9rem 1rem;
        width: 100%;
        display: block;
        font-size: 1.5rem;
    }

    .detail-basic-info__table th {
    }
}

.sec-recommended {
    position: relative;
    padding: clamp(5rem, 6vw, 10rem) 0px clamp(15rem, 20vw, 25rem);
    color: var(--white);
    overflow: hidden;
}

.sec-recommended .l-center {
    max-width: 120rem;
    position: relative;
    z-index: 1;
}

.sec-recommended__head {
    position: relative;
    text-align: center;
    margin-bottom: 3rem;
}

.sec-recommended__eyebrow {
    font-size: clamp(1.7rem, 2.4vw, 2.4rem);
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.16em;
    color: rgba(244, 244, 244, 0.86);
    margin: 0px 0px 0.6rem;
}

.sec-recommended__title {
    font-size: clamp(2rem, 2.5vw, 3rem);
}

.sec-recommended__icon {
    width: 3.4rem;
    height: auto;
    margin: 1rem auto 0px;
}

.sec-recommended__icon img {
    display: block;
    width: 100%;
    height: auto;
}

.sec-recommended__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0px, 1fr));
    gap: 6rem;
}

.recommended-card {
    display: block;
    background: transparent;
    color: var(--txt-main);
    text-decoration: none;
    padding: 0px;
}

.recommended-card__media {
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgb(17, 17, 17);
}

.recommended-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recommended-card__body {
    display: flex;
    flex-direction: column;
    gap: 1.2rem;
    padding: 1.6rem 0px 0.4rem;
}

.recommended-card__name {
    font-size: clamp(2rem, 1.7vw, 2.5rem);
    font-weight: 700;
    line-height: 1.4;
    margin: 0px;
}

.recommended-card__name a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s;
}

.recommended-card__name a::after {
    content: "";
    flex: 0 0 3.2rem;
    width: 3.2rem;
    height: 3.2rem;
    background: url("img/arrow-orange-01.svg") center center / contain no-repeat;
}

.recommended-card__name a:hover {
    opacity: 0.7;
}

.recommended-card__text {
    line-height: 1.7;
    color: rgb(51, 51, 51);
    margin: 0px;
}

.recommended-card__note {
    font-size: 1rem;
    line-height: 1.3;
    color: rgb(136, 136, 136);
    margin: 1rem 0px 0px;
    word-break: break-all;
}

.sec-recommended__lead {
    text-align: center;
    font-size: clamp(1.6rem, 4vw, 2rem);
    line-height: 1.8;
    color: var(--txt-main);
    margin: clamp(-3.5rem, -3.5vw, -5rem) 0px 4rem;
}

.sec-recommended__more {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
}

.sec-measures__lead {
    text-align: center;
    font-size: clamp(1.6rem, 4vw, 2rem);
    line-height: 1.8;
    color: var(--txt-main);
    margin: -5rem 0px 4rem;
}

.sec-recommended__more-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22rem;
    min-height: 4.6rem;
    padding: 0.8rem 2rem;
    border-radius: 999px;
    background: rgb(223, 231, 230);
    color: rgb(255, 109, 69);
    font-size: 1.4rem;
    font-weight: 700;
    text-decoration: none;
    box-shadow: rgba(0, 0, 0, 0.03) 0px 0px 0px 1px inset;
}

@media (max-width: 1023px) {
    .sec-recommended__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    .sec-recommended {
        padding: 4rem 0px 5rem;
    }

    .sec-recommended::before {
        right: 0.6rem;
        top: 0.4rem;
    }

    .sec-recommended__head {
        margin-bottom: 2rem;
    }

    .sec-recommended__eyebrow {
        font-size: 1.6rem;
    }

    .sec-recommended__grid {
        gap: 4rem;
    }

    .recommended-card {
        padding: 0px;
    }

    .recommended-card__name {
    }

    .sec-recommended__more {
        margin-top: 2.4rem;
    }

    .sec-recommended__more-btn {
        min-width: 18rem;
        font-size: 1.3rem;
    }
}

.sec-measures {
    position: relative;
    padding: clamp(5rem, 6vw, 10rem) 0px 0px;
    background: rgb(255, 255, 255);
    color: var(--txt-main);
    overflow: hidden;
}

.sec-measures .l-center {
    max-width: 120rem;
    position: relative;
    z-index: 1;
}

.sec-measures__head {
    position: relative;
    padding: 4rem 0px 2.4rem;
    text-align: center;
}

.sec-measures__bg {
    position: absolute;
    right: -6rem;
    top: -1.2rem;
    width: min(40vw, 38rem);
    opacity: 0.18;
    pointer-events: none;
}

.sec-measures__bg img {
    display: block;
    width: 100%;
    height: auto;
}

.sec-measures__eyebrow {
    margin: 0px 0px 0.8rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    color: rgb(217, 219, 218);
}

.sec-measures__title {
}

.sec-measures__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.9rem;
    height: 1.9rem;
    margin-top: 0.9rem;
    border-radius: 50%;
    background: rgb(255, 109, 69);
    position: relative;
}

.sec-measures__icon::before {
    content: "";
    width: 0.55rem;
    height: 0.55rem;
    border-top: 0.16rem solid rgb(255, 255, 255);
    border-right: 0.16rem solid rgb(255, 255, 255);
    transform: translateX(-0.05rem) rotate(45deg);
}

.sec-measures__list {
    display: grid;
    gap: 4rem;
}

.measure-row {
    display: grid;
    grid-template-columns: 26rem minmax(0px, 1fr);
    gap: 3rem;
    align-items: center;
    padding: 0px 3rem 0px 0px;
    background: rgb(247, 245, 239);
    color: inherit;
}

.measure-row__media {
    align-self: stretch;
    min-height: 20rem;
    overflow: hidden;
    background: rgb(221, 221, 221);
}

.measure-row__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.measure-row__body {
    padding: 0px;
}

.measure-row__title {
    margin: 0px 0px 2rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.4;
    color: rgb(17, 17, 17);
}

.measure-row__title a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    color: inherit;
    text-decoration: none;
    transition: opacity 0.2s;
}

.measure-row__title a::after {
    content: "";
    flex: 0 0 3.6rem;
    width: 3.6rem;
    height: 3.6rem;
    background: url("img/arrow-orange-01.svg") center center / contain no-repeat;
}

.measure-row__title a:hover {
    opacity: 0.7;
}

.measure-row__text {
    margin: 0px;
    font-size: 1.6rem;
    line-height: 1.8;
}

@media (max-width: 1023px) {
    .sec-measures {
        padding: 7rem 0px 8rem;
    }

    .sec-measures__bg {
        right: -2rem;
        width: min(46vw, 34rem);
    }

    .measure-row {
        grid-template-columns: 20rem minmax(0px, 1fr);
        gap: 2rem;
        padding-right: 2rem;
    }
}

@media (max-width: 767px) {
    .sec-measures {
        padding: 5rem 0px 6rem;
    }

    .sec-measures__head {
        padding: 3rem 0px 2rem;
    }

    .sec-measures__bg {
        right: -1.5rem;
        top: 0px;
        width: min(56vw, 24rem);
    }

    .sec-measures__eyebrow {
        font-size: 1.4rem;
    }

    .sec-measures__title {
        font-size: 2.2rem;
    }

    .measure-row {
        grid-template-columns: 1fr;
        gap: 1.4rem;
        padding: 0px 0px 2rem;
    }

    .measure-row__media {
        min-height: 18rem;
    }

    .measure-row__body {
        padding: 0px 2rem;
    }

    .measure-row__title {
        font-size: 2rem;
    }

    .measure-row__title a::after {
        flex-basis: 3.2rem;
        width: 3.2rem;
        height: 3.2rem;
    }

    .measure-row__text {
        font-size: 1.6rem;
    }
}

section.sec-host.l-center {
    max-width: 120rem;
    margin-block: clamp(2rem, 6vw, 10rem) clamp(5rem, 6vw, 10rem); }

.sec-about {
    position: relative;
    padding-top: clamp(10rem, 5vw, 5rem);
    background: rgb(255, 255, 255);
    color: var(--txt-main);
}

.sec-about::before {
    content: "";
    position: absolute;
    left: 55%;
    top: -15rem;
    transform: translateX(-50%);
    width: clamp(24rem, 32vw, 36rem);
    aspect-ratio: 464 / 410;
    background: url("img/about-deco.svg") center center / contain no-repeat;
    z-index: 2;
    pointer-events: none;
}

.sec-about__illust {
    position: relative;
    z-index: 2;
    width: min(36rem, 60vw);
    margin: 0px auto -3rem;
    pointer-events: none;
}

.sec-about__illust img {
    display: block;
    width: 100%;
    height: auto;
}

.sec-about__inner {
    position: relative;
    background: rgb(245, 244, 239);
    padding: clamp(5rem, 6vw, 10rem) 0px;
    overflow: hidden;
}

.sec-about .l-center {
    position: relative;
    z-index: 1;
    max-width: 96%;
}

.sec-about__head {
    position: relative;
    text-align: center;
    margin-bottom: 5rem;
}

.sec-about__bg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -58%);
    font-size: clamp(5rem, 13vw, 13rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1;
    white-space: nowrap;
    color: rgba(33, 33, 33, 0.043);
    pointer-events: none;
    z-index: 0;
}

.sec-about__title {
    font-size: clamp(2rem, 2.5vw, 3rem);
}

.sec-about__icon {
    position: relative;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.6rem;
    height: 2.6rem;
    margin-top: 1.4rem;
    border-radius: 50%;
    border: 0.2rem solid rgb(255, 109, 69);
    background: transparent;
}

.sec-about__icon::before {
    content: "";
    width: 0.7rem;
    height: 0.7rem;
    border-top: 0.2rem solid rgb(255, 109, 69);
    border-right: 0.2rem solid rgb(255, 109, 69);
    transform: translateX(-0.1rem) rotate(45deg);
}

.sec-about__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    gap: 4rem;
}

.about-card {
    display: flex;
    flex-direction: column;
    position: relative;
    background: rgb(255, 255, 255);
    color: inherit;
    text-decoration: none;
    padding: 2.6rem 2rem 5rem;
    transition: transform 0.25s, box-shadow 0.25s;
}

.about-card:hover {
    transform: translateY(-0.4rem);
}

.about-card__title {
    margin: 0px 0px 1.4rem;
    font-size: clamp(2rem, 1.2vw, 2.2rem);
    font-weight: 700;
    line-height: 1.4;
    color: rgb(26, 26, 26);
}

.about-card__text {
    margin: 0px;
    line-height: 1.85;
}

.about-card__arrow {
    position: absolute;
    right: 2rem;
    bottom: 2rem;
    width: 2.6rem;
    height: 2rem;
}

.about-card__arrow::before {
    content: "";
    position: absolute;
    inset: 0px;
    background: url("img/arrow-orange-001.svg") center center / contain no-repeat;
}

@media (max-width: 1023px) {
    .sec-about__grid {
        grid-template-columns: repeat(2, minmax(0px, 1fr));
    }

    .sec-about__inner {
        padding: 6rem 0px 7rem;
    }

    .sec-about__head {
        margin-bottom: 4rem;
    }
}

@media (max-width: 767px) {
    .sec-about__illust {
        width: min(28rem, 70vw);
        margin-bottom: -2rem;
    }

    .sec-about__inner {
        padding: 5rem 0px 6rem;
    }

    .sec-about__head {
        margin-bottom: 3rem;
    }

    .sec-about__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .about-card {
        padding: 2.2rem 1.8rem 4.4rem;
    }

    .about-card__title {
    }

    .onb-more-btn {
        padding: 1.8rem 4rem;
        font-size: 1.7rem;
    }

    .onb-more-btn::before {
        right: 2.4rem;
    }

    .onb-more-btn::after {
        right: 3.3rem;
    }
}

.onb-2column-slider {
    padding-bottom: 3rem;
}

.onb-2column-slider .swiper-button-next, .onb-2column-slider .swiper-button-prev {
    width: 1rem;
    height: 1rem;
    top: 45%;
    right: 1px;
}

.onb-2column-slider .swiper-button-prev {
    width: 1rem;
    height: 1rem;
    top: 45%;
    left: 1px;
}

span.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 15px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 15px));
    background: var(--acc);
}

.onb-2column-slider .swiper-button-next:hover, .onb-2column-slider .swiper-button-prev:hover {
    opacity: 0.6;
}

.onb-more-btn {
    max-width: 50rem;
    margin: var(--s5) auto;
    padding: 2.4rem 6rem;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: none;
    border-radius: 999px;
    background: rgb(212, 220, 219);
    color: rgb(255, 109, 69);
    font-size: clamp(1.5rem, 4vw, 2rem);
    font-weight: 700;
    text-align: center;
    position: relative;
    transition: opacity 0.3s, background 0.3s;
    cursor: pointer;
}

.onb-more-btn::before {
    content: "";
    width: 2rem;
    height: 0.1rem;
    background: rgb(255, 109, 69);
    position: absolute;
    top: 50%;
    right: 4rem;
    transform: translate(0px, -50%);
}

.onb-more-btn::after {
    content: "";
    width: 0.1rem;
    height: 2rem;
    background: rgb(255, 109, 69);
    position: absolute;
    top: 50%;
    right: 4.9rem;
    transform: translate(0px, -50%);
    transition: transform 0.3s;
}

.onb-more-btn:hover {
    opacity: 0.75;
}

.onb-more-btn.is-open::after {
    transform: translate(0px, -50%) rotate(270deg);
}

.more-content {
    display: none;
}

.slider .swiper-button-next, .slider .swiper-button-prev {
    width: 5rem;
    height: 5rem;
    top: 40%;
    transform: translateY(-50%);
    margin-top: 0px;
}

.slider .swiper-button-next {
    right: 1.5rem;
}

.slider .swiper-button-prev {
    left: 1.5rem;
}

.slider .swiper-button-next:hover, .slider .swiper-button-prev:hover {
    opacity: 0.6;
}

.slider .swiper-button-next::after, .slider .swiper-rtl .swiper-button-prev::after {
    content: "";
    width: 5rem;
    height: 5rem;
    background: url("./img/slider-arrow-right.svg") center center / contain no-repeat;
}

.slider .swiper-button-prev::after, .slider .swiper-rtl .swiper-button-next::after {
    content: "";
    width: 5rem;
    height: 5rem;
    background: url("./img/slider-arrow-left.svg") center center / contain no-repeat;
}

.footer-area {
    margin-top: 20rem;
    padding: 0px;
    background: rgb(231, 231, 243);
    position: relative;
}

.footer-area::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 0px;
    transform: translate(-50%, -100%);
    width: clamp(16rem, 22vw, 24rem);
    aspect-ratio: 204 / 142;
    background: url("img/footer-ill.svg") center bottom / contain no-repeat;
    pointer-events: none;
}

.footer-area-logo {
    width: clamp(15rem, 20vw, 28rem);
    margin: 0px auto;
    padding: 2rem 0px 4rem;
}

.footer-main {
    max-width: 120rem;
    padding-bottom: 4rem;
    padding-right: calc(var(--s2) + var(--s-2));
    padding-left: calc(var(--s2) + var(--s-2));
    box-sizing: border-box;
}

.footer-box + .footer-box {
    margin-top: 5rem;
}

.footer-menu-title {
    margin-bottom: 2.4rem;
    border-bottom-width: medium;
    border-bottom-style: none;
    border-bottom-color: currentcolor;
    font-size: clamp(1.8rem, 2vw, 2.2rem);
    font-weight: 700;
    line-height: 1.5;
}

.footer-menu-title__link {
    display: inline-flex;
    align-items: center;
    gap: 1.2rem;
    padding: 0px;
    color: var(--txt-emp);
    text-decoration: none;
}

.footer-menu-title__link::after {
    content: "";
    flex: 0 0 3.4rem;
    width: 3.4rem;
    height: 3.4rem;
    background: url("img/arrow-orange-01.svg") center center / contain no-repeat;
}

.footer-menu {
    display: grid;
    grid-template-columns: repeat(4, minmax(0px, 1fr));
    gap: 1.2rem 3rem;
    padding-left: 2rem;
}

.footer-menu__item {
    width: auto;
    font-size: 1.5rem;
    line-height: 1.6;
}

.footer-menu__link {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 0.4rem 0px;
    color: var(--txt-emp);
    text-decoration: none;
    justify-content: space-between;
}

.footer-menu__link::after {
    flex: 0 0 2rem;
    width: 2rem;
    height: 1.6rem;
    background: url("img/arrow-orange-001.svg") center center / contain no-repeat;
}

.footer-menu__item.for-sp {
    display: none;
}

.footer-disclaimer {
    width: 100%;
    max-width: 100rem;
    margin: 4rem 0px 0px;
    padding: 0px;
    background: transparent;
    font-size: 1.3rem;
    line-height: 1.9;
    color: var(--txt-emp);
}

.footer-nocopy {
    margin: 2rem 0px 0px;
    font-size: 1.3rem;
    color: var(--txt-emp);
}

.footer-bottom {
    padding: 2rem 0px;
    background: rgb(255, 255, 255);
    color: var(--txt-emp);
}

.footer-copyright {
    color: rgb(12, 90, 104);
}

.footer-copyright__link {
    color: rgb(12, 90, 104);
}

.footer-sitemap__link {
}

@media (max-width: 767px) {
    .footer-menu-title__link::after {
        flex: 0 0 auto;
        width: 2rem;
        height: 100%;
        background-size: 2rem;
        transform: rotate(90deg);
    }

    .footer-menu-title__link {
        display: block;
        gap: 0px;
        font-weight: 700;
        padding-right: 3.5rem;
    }

    .footer-menu-title {
        margin-bottom: 0px;
        font-size: 1.6rem;
    }

    .footer-menu {
        display: block;
        padding: 1rem 1rem 2rem;
    }

    .footer-menu__link::after {
        display: none;
    }

    .footer-menu__item.for-sp {
        display: block;
    }

    .footer-area-logo {
        padding: 2rem 0px 4rem;
    }
}

.company-card__case-text span, .detail-feature__text span, .detail-step p:not([class]) span, .detail-case__text span, .detail-voice__text span, .detail-target__desc span, .detail-list-card__text span, .recommended-card__text span, .about-card__text span, .measure-row__text span {
    font-size: 1.7rem;
    color: #ff3800;
    font-weight: 700;
}

.detail-nav {
    flex: 1 1 0%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.2rem;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.35s;
}

.detail-nav.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    margin-top: 0px;
    margin-right: 4rem;
    position: relative;
}

.detail-nav.is-visible::before {
    content: "自社の\a 状況は？";
    position: relative;
    font-size: clamp(1rem, 0.8vw, 1.2rem);
    color: rgb(255, 255, 255);
    min-width: 4rem;
    font-weight: 700;
    white-space: pre-wrap;
    padding: 1.8rem 1.5rem;
    background: var(--acc);
    border-radius: 0.6rem;
    line-height: 1.5;
    transition: background 0.25s, color 0.25s;
    box-shadow: rgb(255, 210, 176) 3px 3px;
}

.detail-nav__item {
    position: relative;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem 1.6rem;
    background: rgb(246, 243, 236);
    color: rgb(0, 71, 88);
    text-decoration: none;
    border-radius: 0.6rem;
    line-height: 1.5;
    transition: background 0.25s, color 0.25s;
    border: 1px solid rgb(0, 71, 88);
    box-shadow: rgb(0, 71, 88) 3px 3px;
}

.detail-nav__icon {
    width: 5rem;
    height: 5rem;
    flex: 0 0 5rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

.detail-nav__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.detail-nav__text {
    display: flex;
    flex-direction: column;
}

.detail-nav__title {
    font-size: 1.3vw;
    font-weight: 700;
}

.detail-nav__sub {
    font-size: 0.8vw;
    font-weight: 500;
}

.detail-nav__item:hover {
    background: rgb(0, 71, 88);
    color: rgb(255, 210, 176);
}

.detail-nav__item.is-current {
    background: rgb(0, 71, 88);
    color: rgb(255, 210, 176);
    box-shadow: rgb(254, 100, 68) 3px 3px;
}

.detail-nav__item.is-current::before {
    content: "";
    position: absolute;
    left: 50.2%;
    bottom: -1.5rem;
    transform: translateX(-50%);
    border-left: 1.2rem solid transparent;
    border-right: 1.2rem solid transparent;
    border-top: 1.2rem solid rgb(254, 100, 68);
}

.detail-nav__item.is-current::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -0.9rem;
    transform: translateX(-50%);
    border-left: 1rem solid transparent;
    border-right: 1rem solid transparent;
    border-top: 1rem solid rgb(0, 71, 88);
}

.mainvisual.mv_lower .sec-mv__visual {
    max-width: 23.5%;
    right: 0px;
    top: 0px;
    margin-top: -8rem;
}

.mainvisual.mv_lower .sec-mv__content {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-bottom: 1rem;
    padding-top: 0px;
    margin-top: 12rem;
}

.mainvisual.mv_lower .sec-mv__title {
    margin: 0px;
    padding: 0.5rem 0px 1.5rem;
    width: 95%;
}

.mainvisual.mv_lower .sec-mv__inner {
    margin: 0px auto 0px 7.5vw;
    align-items: flex-end;
}

section.sec-company-list.inc-lower_bottom {
    margin-top: 15rem;
}

section.sec-company-list.inc-lower_bottom.scene-list {
    margin-top: 0px;
    margin-bottom: 10rem;
}

.onb-index02-frame {
    width: 100%;
}

.onb-index02-wrap {
    border: 1px solid var(--site-color09);
    margin: var(--s6) auto;
    padding: var(--s1) var(--s3) var(--s4) var(--s3);
    background: rgb(223, 229, 227);
    position: relative;
}

.onb-index02-title {
    padding: var(--s2) var(--s2) var(--s3) var(--s2);
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
    font-weight: bold;
    line-height: 1;
    position: relative;
    border-bottom: 1px solid rgb(255, 255, 255);
}

.onb-index02-chapter {
    padding: var(--s2) var(--s2) var(--s2) var(--s4);
    font-weight: 700;
    gap: var(--s1);
}

.onb-index02-chapter-h {
    margin: 0 0 0 var(--s2);
    font-size: 100%;
    line-height: 1.7;
    position: relative;
}

.onb-index02-chapter-h a {
    display: block;
    text-decoration: none;
}

.onb-index02-chapter-h a:hover {
    opacity: 0.6;
}

.onb-index02-chapter-h-two {
    margin-left: var(--s2);
    position: relative;
    font-size: clamp(1.4rem, 1.4vw, 1.6rem);
}

.onb-index02-chapter-h-three {
    margin-left: var(--s4);
    position: relative;
}

.onb-index02-chapter-h-two::before, .onb-index02-chapter-h-three::before {
    position: absolute;
    top: 0px;
    left: -1.5em;
}

.onb-index02-chapter-h-two::before {
    content: "";
    width: 1.6rem;
    height: 1.6rem;
    border-radius: 50%;
    background-color: rgb(254, 100, 68);
    position: absolute;
    top: 0.6rem;
    left: -25px;
}

.onb-index02-chapter-h-three::before {
    content: "└";
}

.more-content-gradation {
    position: relative;
    height: auto;
    max-height: 12rem;
    overflow: hidden;
    transition: max-height 1s;
}

.onb-index02-gradation.more-content-gradation.is-open {
    max-height: fit-content;
    overflow: visible;
    transition: none;
}

.more-content-gradation::after {
    content: "";
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
    background: linear-gradient(transparent 0%, rgb(223, 229, 227) 100%);
}

.more-content-gradation.is-open::after {
    display: none;
}

.onb-index02-btn {
    max-width: 27rem;
    margin: 0px auto;
    padding: 1.5rem 5.5rem;
    border: .2rem solid var(--site-color05);
    text-align: center;
    position: relative;
    transition: opacity 0.3s;
    cursor: pointer;
    background: rgb(255, 255, 255);
    color: rgb(255, 109, 69);
    border-radius: 999px;
    font-weight: 700;
}

.onb-index02-btn::before {
    content: "";
    width: 2rem;
    height: 0.1rem;
    background: rgb(255, 109, 69);
    position: absolute;
    top: 50%;
    right: 3rem;
    transform: translate(0px, -50%);
}

.onb-index02-btn::after {
    content: "";
    width: 0.1rem;
    height: 2rem;
    background: rgb(255, 109, 69);
    position: absolute;
    top: 50%;
    right: 3.9rem;
    transform: translate(0px, -50%);
    transition: transform 0.3s;
}

.onb-index02-btn:hover {
    opacity: 0.6;
}

.onb-index02-btn.is-open::after {
    transform: translate(0px, -50%) rotate(270deg);
}

.sec-detail-company__title span {
    font-size: clamp(2.5rem, 3.5vw, 5rem);
}

.sec-company-list-detail__title span {
    font-size: clamp(2.5rem, 3.5vw, 5rem);
}

.sec-recommended__title span {
    font-size: clamp(2.5rem, 3.5vw, 5rem);
}

.sec-about__title span {
    font-size: clamp(2.5rem, 3.5vw, 5rem);
}

.swiper-button-prev::after, .swiper-rtl .swiper-button-next::after {
    color: rgb(7, 79, 98);
    font-size: 2.5rem;
}

.swiper-button-next::after, .swiper-rtl .swiper-button-prev::after {
    color: rgb(7, 79, 98);
    font-size: 2.5rem;
}

nav.detail-nav.gnavi-detail-nav {
    gap: 1.2rem;
    opacity: 1;
    visibility: visible;
    flex-direction: column;
    display: none;
}

nav.detail-nav.gnavi-detail-nav .detail-nav__item {
    width: 90%;
}

nav.detail-nav.gnavi-detail-nav .detail-nav__item .detail-nav__title {
    font-size: 1.2vw;
    font-weight: 700;
}

@media (max-width: 767px) {
    .sec-mv__inner {
        display: flex;
        flex-direction: column;
        margin: 0px auto 0px 3vw;
        align-items: flex-end;
        gap: 3rem;
    }

    .sec-mv {
        padding-top: 11rem;
        padding-bottom: 0px;
        background: rgb(255, 255, 255);
    }

    .header-area-upper {
        height: 5rem;
        margin: auto;
        display: flex;
        justify-content: center;
        width: 50%;
        left: 28vw;
        right: 0px;
    }

    .header-sticky {
        padding: 0;
        height: 5rem;
    }

    .header-sticky__logo {
    display: flex;
    align-items: center;
    background: #fff;
    padding: 1rem;
}
    .sec-mv__content {
        padding: 1rem clamp(2rem, 3vw, 2.5rem) 3rem clamp(1rem, 1vw, 2.5rem);
        z-index: 1;
        margin-top: 12rem;
    }

    .sec-mv__visual {
        max-width: 80vw;
        position: absolute;
        top: 0px;
        z-index: 0;
        opacity: 0.3;
    }

    .header-sticky .gnavi-btn {
        width: 5rem;
        height: 5rem;
    }

    header-sticky .gnavi-btn span:nth-of-type(1) {
        top: 2.8rem;
    }

    .header-sticky .gnavi-btn span:nth-of-type(2) {
        top: 2.4rem;
    }

    .header-sticky .gnavi-btn span:nth-of-type(3) {
        top: 3.6rem;
    }

    .header-sticky__logo img {
        height: 3rem;
    }

    .sec-mv__text {
        line-height: 1.6;
    }

    .sec-company-list__title.is-h2deco-inview::before, .sec-detail-company__title.is-h2deco-inview::before, .sec-company-list-detail__title.is-h2deco-inview::before, .sec-recommended__title.is-h2deco-inview::before, .sec-about__title.is-h2deco-inview::before, .sec-measures__title.is-h2deco-inview::before {
        height: 3rem;
    }

    .company-card {
        width: 92.2vw;
    }

    .sec-detail-company__lead {
        margin: -2rem 0px 4rem;
    }

    .detail-company__banner-icon {
        width: 7rem;
        height: 7rem;
        flex: 0 0 7rem;
    }

    .detail-company {
        margin-top: 30rem;
    }

    h4.detail-company__question {
        font-size: clamp(2.2rem, 2.8vw, 2.8rem);
    }

    .detail-case__results .slider-container {
        width: 100%;
        margin: auto;
        padding: 0px 0rem;
        position: relative;
    }

    .slider .swiper-button-next, .slider .swiper-button-prev {
        top: -7.7rem;
        width: 3.5rem;
        height: 5rem;
        transform: none;
    }

    .detail-target::before {
        left: -1.6rem;
        height: clamp(11rem, 15vw, 25rem);
    }

    .detail-target::after {
        right: -1.6rem;
        height: clamp(11.5rem, 15vw, 25rem);
    }

    table.detail-basic-info__table {
        display: flex;
        flex-direction: column;
    }

    span.sec-mv__title-sub {
        display: flex;
        margin-top: 1.5rem;
    }

    .sec-about::before {
        top: -5rem;
    }

    .company-card__description {
        line-height: 1.3;
    }

    .detail-company__question, h4.detail-case__section-title {
        margin: 5rem 0px 2rem;
        padding-bottom: 2rem;
    }

    .detail-case__steps {
        gap: 6rem;
    }

    .detail-case__section-title--sub {
        padding: 2rem 1rem;
        text-align: center;
    }

    .detail-case__story-text {
        order: -1;
    }

    .detail-case__story {
        gap: 0px;
    }

    .detail-target h4.detail-case__section-title {
        margin: 3rem 0px 1rem;
    }

    .detail-feature__title {
        font-size: 1.8rem;
    }

    h5.detail-case__story-title {
        font-size: 2rem;
    }

    p.detail-target__text {
        font-size: 1.8rem;
    }

    .detail-case__item + .detail-case__item {
        padding-top: 2rem;
        margin-top: 5rem;
    }

    .mainvisual.mv_lower .sec-mv__title {
        width: 100%;
        padding: 0px;
    }

    .mainvisual.mv_lower .sec-mv__inner {
        margin-left: 1rem;
    }

    #pankuzuWrap .l-center {
        margin: 0px;
    }

    .onb-index02-title {
    }

    .onb-index02-chapter-h-two {
    }

    .onb-index02-btn {
        font-size: 1.5rem;
    }

    .related-article01-title {
        margin-bottom: 1.5rem;
    }

    .mainvisual.mv_lower .sec-mv__visual {
        max-width: 80vw;
        top: 8rem;
    }

    .header-area--top .detail-nav {
        gap: 0.8rem;
        width: 100%;
        margin-top: -13px;
        margin-right: 0px;
        display: none;
    }

    .detail-nav__item.is-current::before {
        bottom: -1.2rem;
    }

    nav.detail-nav.gnavi-detail-nav {
        gap: 1.2rem;
        display: flex;
        margin-block: 2rem; }

    nav.detail-nav.gnavi-detail-nav .detail-nav__item .detail-nav__title {
        font-size: 5vw;
    }

    .detail-nav__sub {
        font-size: 3.8vw;
    }

    nav.detail-nav.gnavi-detail-nav .detail-nav__item {
        border-radius: 0.6rem;
        gap: 0.5rem;
        pointer-events: fill;
    }

    #detail-ida, #detail-zeroin, #detail-prdx {
        scroll-margin-top: 33rem;
    }

    .gnavi-area {
        padding: var(--s10) var(--s1);
        top: 0px;
    }

    .detail-nav {
        display: none;
    }
}
