@charset 'UTF-8';

/* ==================================================
  Page: TOP
================================================== */

.page-index {
    background-color: var(--color-white);
}


/* ==================================================
  Project: TOP メインビジュアル
================================================== */

.project-top-visual {
    position: relative;
    overflow: hidden;
}

.project-top-visual__background {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 493px;
    background-color: var(--color-background-light);
    overflow: hidden;
}

.project-top-visual__background .component-wave {
    height: 300px;
}

.project-top-visual__inner {
    position: relative;
    z-index: var(--z-index-base);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 24px;
}

.project-top-visual__photo {
    overflow: hidden;
}

.project-top-visual__photo--main {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 454px;
    margin-top: 13px;
    border-radius: 95px 48px 95px 48px;
}

.project-top-visual__photo--sub {
    border-radius: 48px 100px 50px 100px;
}

.project-top-visual__photo-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    gap: 16px;
    width: 360px;
}

.project-top-visual__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 22px;
}

.project-top-visual__catch {
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-family: var(--font-display);
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.075em;
    color: var(--color-text);
}

.project-top-visual__catch-line {
    position: relative;
    display: block;
    margin-left: 36px;
}

.project-top-visual__catch-line::before {
    content: '';
    position: absolute;
    top: 0;
    left: -16px;
    width: 6px;
    height: 100%;
    background-image: repeating-linear-gradient(to bottom, var(--color-main) 0 4px, transparent 4px 9px);
}

.project-top-visual__catch-accent {
    color: var(--color-main-soft);
}

.project-top-visual__lead {
    margin-top: 72px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: 0.05em;
    text-align: center;
    color: var(--color-text);
}

.project-top-visual__lead-mark {
    background: linear-gradient(to top, var(--color-accent-yellow-pale) 0 14px, transparent 14px);
}

@media (max-width: 1024px) {
    .project-top-visual__background {
        height: 380px;
    }

    .project-top-visual__background .component-wave {
        height: 220px;
    }

    .project-top-visual__inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        gap: 32px;
    }

    .project-top-visual__photo--main {
        width: 340px;
        margin-top: 0;
        border-radius: 70px 36px 70px 36px;
    }

    .project-top-visual__photo-list {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        width: 100%;
    }

    .project-top-visual__photo--sub {
        width: 100%;
    }

    .project-top-visual__body {
        margin-top: 0;
    }

    .project-top-visual__catch {
        font-size: 30px;
    }

    .project-top-visual__catch-line {
        margin-left: 28px;
    }

    .project-top-visual__catch-line::before {
        left: -14px;
    }

    .project-top-visual__lead {
        margin-top: 40px;
        font-size: 18px;
    }
}

@media (max-width: 599px) {
    .project-top-visual__body{
      display: contents;
    }
    
    .project-top-visual__background .component-wave {
        height: 150px;
    }

    .project-top-visual__inner {
        gap: 24px;
    }

    .project-top-visual__photo--main {
        width: 100%;
        max-width: 300px;
        border-radius: 56px 28px 56px 28px;
        order: 2;
        display: none;
    }

    .project-top-visual__photo--sub {
        border-radius: 20px 50px 20px 50px;
    }

    .project-top-visual__catch {
        font-size: 26px;
        order: 1;
    }

    .project-top-visual__catch-line {
        margin-left: 22px;
    }

    .project-top-visual__catch-line::before {
        left: -12px;
        width: 5px;
    }

    .project-top-visual__lead {
        margin-top: 32px;
        font-size: 16px;
        order: 3;
    }

    .project-top-visual__lead-mark {
        background: linear-gradient(to top, var(--color-accent-yellow-pale) 0 11px, transparent 11px);
    }
    
    .project-top-visual__photo-list{
      order: 4;
    }
}


/* ==================================================
  Project: TOP お知らせ
================================================== */


.project-top-news__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 24px;
}

.project-top-news__body {
    margin-top: 24px;
    margin-right: auto;
    margin-left: auto;
    max-width: 852px;
}

.project-top-news__body .component-more-link {
    margin-top: 25px;
}

.project-top-news__head .component-category-tab {
    margin-top: 12px;
}

@media (max-width: 1024px) {

    .project-top-news__body {
        margin-top: 32px;
    }
}

@media (max-width: 599px) {

    .project-top-news__head {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 20px;
    }
}


/* ==================================================
  Project: TOP 初めてご利用の方
================================================== */

.project-top-first {
    position: relative;
    z-index: var(--z-index-base);
}

.project-top-first__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 33px;
}

.project-top-first__body {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 470px;
}

.project-top-first__text {
    margin-top: 37px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-top-first__body .component-arrow-button {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 303px;
    margin-top: 48px;
    margin-left: 0;
}

.project-top-first__body .component-arrow-button__inner {
    min-height: 74px;
}

.project-top-first__visual {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 597px;
}

.project-top-first__photo {
    overflow: hidden;
    border-radius: 25px;
}

.project-top-first__decoration {
    position: absolute;
    z-index: calc(var(--z-index-base) + 1);
}

.project-top-first__decoration img {
    display: block;
    width: 100%;
}

.project-top-first__decoration--top img {
    -webkit-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-animation: component-section-decoration-sway 4s ease-in-out infinite;
    animation: component-section-decoration-sway 4s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {

    .project-top-first__decoration--top img {
        -webkit-animation: none;
        animation: none;
    }
}

.project-top-first__decoration--top {
    top: -33px;
    left: -66px;
    width: 124px;
}

.project-top-first__decoration--bottom {
    right: -12px;
    bottom: -76px;
    width: 94px;
}

@media (max-width: 1024px) {

    .project-top-first__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 48px;
    }

    .project-top-first__body {
        width: 100%;
        padding-top: 0;
    }

    .project-top-first__body .component-arrow-button {
        margin-left: 0;
    }

    .project-top-first__visual {
        -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
        width: 100%;
    }

    .project-top-first__decoration--top {
        top: -24px;
        left: 0;
        width: 90px;
    }

    .project-top-first__decoration--bottom {
        right: 0;
        bottom: -56px;
        width: 70px;
    }
}

@media (max-width: 599px) {
    .project-top-first__text {
        margin-top: 24px;
    }

    .project-top-first__body .component-arrow-button {
        width: 100%;
        margin-top: 32px;
    }
}


/* ==================================================
  Project: TOP 選ばれる理由
================================================== */

.project-top-reason {
    position: relative;
    margin-top: -12px;
}

.project-top-reason .component-wave {
    height: 190px;
}

.project-top-reason__inner {
    position: relative;
    z-index: calc(var(--z-index-base) + 1);
}

.project-top-reason__body {
    background-image: linear-gradient(to bottom,
            var(--color-background-light) 0 490px,
            var(--color-background-blue) 490px);
}

.project-top-reason__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 28px;
    margin-top: 78px;
}

.project-top-reason__diagram {
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 465px;
    height: 424px;
}

.project-top-reason__circle {
    position: absolute;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 248px;
    height: 248px;
    border-radius: 50%;
}

.project-top-reason__circle--user {
    top: 0;
    left: 117px;
    z-index: var(--z-index-base);
    background-image: linear-gradient(22deg, var(--color-main-dark) 0 50%, var(--color-main) 50%);
}

.project-top-reason__circle--company {
    bottom: 0;
    left: 0;
    z-index: calc(var(--z-index-base) + 1);
    background-image: linear-gradient(-22deg, var(--color-accent-yellow-dark) 0 50%, var(--color-accent-yellow) 50%);
}

.project-top-reason__circle--caremanager {
    right: 0;
    bottom: 0;
    z-index: calc(var(--z-index-base) + 2);
    background-image: linear-gradient(-22deg, var(--color-accent-circle-dark) 0 50%, var(--color-accent-circle) 50%);
}

.project-top-reason__circle-name {
    font-size: 25px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.075em;
    color: var(--color-white);
}

.project-top-reason__circle-illust {
    position: absolute;
}

.project-top-reason__circle-illust img {
    display: block;
    width: 100%;
}

.project-top-reason__circle--user .project-top-reason__circle-illust {
    top: -39px;
    left: 79px;
    width: 73px;
}

.project-top-reason__circle--company .project-top-reason__circle-illust {
    left: 10px;
    bottom: -46px;
    width: 106px;
}

.project-top-reason__circle--caremanager .project-top-reason__circle-illust {
    bottom: -46px;
    left: 111px;
    width: 79px;
}

.project-top-reason__detail {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 582px;
    padding-top: 5px;
}

.project-top-reason__tag-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 6px;
}

.project-top-reason__tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 57px;
    padding: 8px 24px;
    border-radius: var(--radius-small);
    font-size: 30px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    color: var(--color-white);
}

.project-top-reason__tag--user {
    background-color: var(--color-main);
}

.project-top-reason__tag--caremanager {
    background-color: var(--color-accent-circle);
}

.project-top-reason__tag--company {
    background-color: var(--color-accent-yellow);
}

.project-top-reason__lead {
    margin-top: 37px;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.43;
    letter-spacing: 0.075em;
    color: var(--color-text);
}

.project-top-reason__text {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-top-reason__detail .component-arrow-button {
    width: 328px;
    margin-top: 44px;
    margin-left: 119px;
}

.project-top-reason__detail .component-arrow-button__inner {
    min-height: 80px;
}

@media (max-width: 1024px) {
    .project-top-reason .component-wave {
        height: 150px;
    }

    .project-top-reason__body {
        padding-top: 24px;
        background-image: -webkit-gradient(linear,
                left top, left bottom,
                color-stop(0, var(--color-background-light)),
                color-stop(60%, var(--color-background-blue)));
        background-image: linear-gradient(to bottom,
                var(--color-background-light) 0 60%,
                var(--color-background-blue) 60%);
    }

    .project-top-reason__content {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 56px;
        margin-top: 72px;
    }

    .project-top-reason__detail {
        max-width: none;
        padding-top: 0;
    }

    .project-top-reason__tag {
        min-height: 46px;
        padding: 6px 20px;
        font-size: 22px;
    }

    .project-top-reason__lead {
        margin-top: 28px;
        font-size: 24px;
    }

    .project-top-reason__detail .component-arrow-button {
        margin-left: 0;
    }
}

@media (max-width: 599px) {
    .project-top-reason .component-wave {
        height: 90px;
    }

    .project-top-reason__diagram {
        width: 300px;
        height: 274px;
    }

    .project-top-reason__circle {
        width: 160px;
        height: 160px;
    }

    .project-top-reason__circle--user {
        left: 75px;
    }

    .project-top-reason__circle-name {
        font-size: 17px;
    }

    .project-top-reason__circle--user .project-top-reason__circle-illust {
        top: -26px;
        left: 51px;
        width: 48px;
    }

    .project-top-reason__circle--company .project-top-reason__circle-illust {
        bottom: -30px;
        width: 68px;
    }

    .project-top-reason__circle--caremanager .project-top-reason__circle-illust {
        bottom: -30px;
        left: 72px;
        width: 51px;
    }

    .project-top-reason__tag {
        min-height: 38px;
        padding: 4px 14px;
        font-size: 17px;
    }

    .project-top-reason__lead {
        font-size: 20px;
    }

    .project-top-reason__detail .component-arrow-button {
        width: 100%;
    }
}


/* ==================================================
  Project: TOP サービス紹介
  支給された完成イメージ（top_06.png / 1226×885px）の座標を % に変換して
  間取り図の周囲へカードを絶対配置する。間取り図は別支給の1枚絵（家具入り）で、
  完成イメージの間取りとは家具の配置が異なるため、指し先は近似で合わせている。
  1024px以下は絶対配置をやめて縦1列に並べる（カード内の文字が読めなくなるため）
================================================== */

.project-top-service__text {
    margin-top: 26px;
    font-size: 18px;
    line-height: 2;
    text-align: center;
    color: var(--color-text);
}

.project-top-service__figure {
    position: relative;
    margin-top: 40px;
    padding: 30px 0 40px;
}

.project-top-service__floorplan {
    position: relative;
    width: 70%;
    margin-right: auto;
    margin-left: auto;
}

.project-top-service__floorplan img {
    width: 100%;
}

.project-top-service__pin {
    position: absolute;
    z-index: 1;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: var(--color-service-green);
    color: var(--color-service-green);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.project-top-service__pin a {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    pointer-events: none;
}

.project-top-service__pin--toilet-handrail,
.project-top-service__pin--handrail,
.project-top-service__pin--slope,
.project-top-service__pin--entrance-handrail,
.project-top-service__pin--lift-chair {
    background-color: var(--color-service-orange);
    color: var(--color-service-orange);
}

.project-top-service__pin--bathing {
    top: 13%;
    left: 52%;
}

.project-top-service__pin--toilet-handrail {
    top: 11%;
    left: 59%;
}

.project-top-service__pin--bed {
    top: 34%;
    left: 30%;
}

.project-top-service__pin--handrail {
    top: 38%;
    left: 74%;
}

.project-top-service__pin--lift-chair {
    top: 57%;
    left: 63%;
}

.project-top-service__pin--entrance-handrail {
    top: 71%;
    left: 37%;
}

.project-top-service__pin--slope {
    top: 72%;
    left: 31%;
}

.project-top-service__pin--walker {
    top: 73%;
    left: 9.5%;
}

.project-top-service__pin--wheelchair {
    top: 82%;
    left: 17%;
}

@-webkit-keyframes project-top-service-pin-ripple {

    0% {
        opacity: 0.7;
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale(3.6);
        transform: translate(-50%, -50%) scale(3.6);
    }
}

@keyframes project-top-service-pin-ripple {

    0% {
        opacity: 0.7;
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale(3.6);
        transform: translate(-50%, -50%) scale(3.6);
    }
}

@-webkit-keyframes project-service-pin-ripple-sp {

    0% {
        opacity: 0.7;
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale(2.6);
        transform: translate(-50%, -50%) scale(2.6);
    }
}

@keyframes project-service-pin-ripple-sp {

    0% {
        opacity: 0.7;
        -webkit-transform: translate(-50%, -50%) scale(1);
        transform: translate(-50%, -50%) scale(1);
    }

    100% {
        opacity: 0;
        -webkit-transform: translate(-50%, -50%) scale(2.6);
        transform: translate(-50%, -50%) scale(2.6);
    }
}

.project-top-service__item {
    position: absolute;
    color: var(--color-service-green);
    scroll-margin-top: 100px;
}

.project-top-service__item--orange {
    color: var(--color-service-orange);
}

.project-top-service__item::before {
    content: '';
    position: absolute;
    height: 3px;
    margin-top: -1.5px;
    background-image: repeating-linear-gradient(to right, currentColor 0 3px, transparent 3px 9px);
    -webkit-transform-origin: 0 50%;
    transform-origin: 0 50%;
}

.project-top-service__item--bathing::before {
    top: 50%;
    left: 100%;
    width: 172.1%;
    -webkit-transform: rotate(7.8deg);
    transform: rotate(7.8deg);
}

.project-top-service__item--toilet-handrail::before {
    top: 46%;
    left: 0;
    width: 89.8%;
    -webkit-transform: rotate(169.6eg);
    transform: rotate(169.6deg);
}

.project-top-service__item--bed::before {
    top: 38%;
    left: 100%;
    width: 144.9%;
    -webkit-transform: rotate(-0.8deg);
    transform: rotate(-0.8deg);
}

.project-top-service__item--handrail::before {
    top: 50%;
    left: 0;
    width: 111.6%;
    -webkit-transform: rotate(-176.9deg);
    transform: rotate(-176.9deg);
}

.project-top-service__item--slope::before {
    top: 52%;
    left: 100%;
    width: 107.6%;
    -webkit-transform: rotate(4.1deg);
    transform: rotate(4.1deg);
}

.project-top-service__item--walker::before {
    top: 0;
    left: 100%;
    width: 33.7%;
    -webkit-transform: rotate(-84.7deg);
    transform: rotate(-84.7deg);
}

.project-top-service__item--entrance-handrail::before {
    top: 0;
    left: 49%;
    width: 41.9%;
    -webkit-transform: rotate(-89.9deg);
    transform: rotate(-89.9deg);
}

.project-top-service__item--lift-chair::before {
    top: 50%;
    left: 0;
    width: 118.7%;
    -webkit-transform: rotate(-162.2deg);
    transform: rotate(-162.2deg);
}

.project-top-service__item--wheelchair::before {
    top: 20%;
    left: 0;
    width: 115.2%;
    -webkit-transform: rotate(-165.8deg);
    transform: rotate(-165.8deg);
}

.project-top-service__card {
    position: relative;
    overflow: hidden;
    border: 2px solid var(--color-service-green);
    border-radius: 12px;
    background-color: var(--color-white);
    z-index: 2;
}

.project-top-service__item--orange .project-top-service__card {
    border-color: var(--color-service-orange);
}

.project-top-service__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.6em;
}

.project-top-service__label {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 0.15em 0.6em 0.25em;
    border-radius: 0 0 8px 0;
    background-color: var(--color-service-green);
    /* values 15px-18px view 1087px-1304px */
    font-size: clamp(15px, 1.38vw, 18px);
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.02em;
    color: var(--color-white);
}

.project-top-service__item--orange .project-top-service__label {
    background-color: var(--color-service-orange);
}

.project-top-service__name {
    /* values 16px-20px view 1043px-1304px */
    font-size: clamp(16px, 1.534vw, 20px);
    font-weight: 700;
    line-height: 1.4;
    white-space: nowrap;
    color: var(--color-service-green);
}

.project-top-service__item--orange .project-top-service__name {
    color: var(--color-service-orange);
}

.project-top-service__detail {
    padding: 0.6em 0.8em 0.8em;
}

.project-top-service__body {
    /* values 11px-13px view 1103px-1304px */
    font-size: clamp(11px, 0.997vw, 13px);
    line-height: 1.55;
    letter-spacing: 0;
    color: var(--color-text);
}

.project-top-service__image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    position: absolute;
    top: 0.3em;
    right: 0.5em;
    bottom: 0.3em;
}

.project-top-service__image img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
    -webkit-transition: -webkit-transform var(--duration-normal) ease;
    transition: -webkit-transform var(--duration-normal) ease;
    transition: transform var(--duration-normal) ease;
    transition: transform var(--duration-normal) ease, -webkit-transform var(--duration-normal) ease;
}

.project-top-service__item--image-bottom .project-top-service__image {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: static;
    margin-top: 0.5em;
    margin-right: auto;
    margin-left: auto;
}

.project-top-service__item--stack .project-top-service__head {
    display: block;
}

.project-top-service__item--stack .project-top-service__name {
    padding: 0.2em 0.7em 0;
}

.project-top-service__item--stack .project-top-service__detail {
    padding-top: 0.3em;
}

.project-top-service__item a {
    display: block;
    position: relative;
    z-index: 1;
}


@media (hover: hover) {
    .project-top-service__item a:hover {
        opacity: 1;
    }

    .project-top-service__item a:hover .project-top-service__image img {
        -webkit-transform: scale(1.06);
        transform: scale(1.06);
    }
}


.project-top-service__item--bathing .project-top-service__image {
    width: 29%;
}

.project-top-service__item--bathing .project-top-service__body {
    padding-right: 33%;
}

.project-top-service__item--toilet-handrail .project-top-service__image {
    width: 30%;
}

.project-top-service__item--toilet-handrail .project-top-service__body {
    padding-right: 34%;
}

.project-top-service__item--bed .project-top-service__image {
    width: 82%;
}

.project-top-service__item--handrail .project-top-service__image {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 34%;
    padding-top: 30px;
}

.project-top-service__item--handrail .project-top-service__body {
    padding-right: 38%;
}

.project-top-service__item--slope .project-top-service__image {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 32%;
    padding-top: 40px;
}

.project-top-service__item--slope .project-top-service__body {
    padding-right: 36%;
}

.project-top-service__item--walker .project-top-service__image {
    width: 19%;
}

.project-top-service__item--walker .project-top-service__body {
    padding-right: 23%;
}

.project-top-service__item--entrance-handrail .project-top-service__image {
    width: 20%;
    padding-bottom: 5px;
}

.project-top-service__item--entrance-handrail .project-top-service__body {
    padding-right: 24%;
}

.project-top-service__item--lift-chair .project-top-service__image {
    width: 31%;
}

.project-top-service__item--lift-chair .project-top-service__body {
    padding-right: 35%;
}

.project-top-service__item--wheelchair .project-top-service__image {
    width: 25%;
}

.project-top-service__item--wheelchair .project-top-service__body {
    padding-right: 29%;
}


.project-top-service__item--bathing {
    top: 0%;
    left: 0%;
    width: 19%;
}

.project-top-service__item--toilet-handrail {
    top: 0%;
    left: 76.8%;
    width: 23.2%;
}

.project-top-service__item--bed {
    top: 24%;
    left: 0%;
    width: 14.7%;
}

.project-top-service__item--handrail {
    top: 30.2%;
    left: 84.3%;
    width: 15.7%;
}

.project-top-service__item--slope {
    top: 56%;
    left: 0%;
    width: 17.7%;
}

.project-top-service__item--walker {
    top: 82%;
    left: 0%;
    width: 21%;
}

.project-top-service__item--entrance-handrail {
    bottom: 0;
    left: 33.3%;
    width: 15.5%;
}

.project-top-service__item--lift-chair {
    top: 57.6%;
    left: 80.8%;
    width: 19.2%;
}

.project-top-service__item--wheelchair {
    bottom: 0;
    left: 51.7%;
    width: 22.2%;
}

@media (max-width: 1024px) {
    .project-top-service__text {
        margin-top: 20px;
        font-size: 16px;
        line-height: 1.875;
    }

    .project-top-service__item::before {
        display: none;
    }

    .project-top-service__pin::before,
    .project-top-service__pin::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: 100%;
        height: 100%;
        border: 2px solid currentColor;
        border-radius: 50%;
        pointer-events: none;
        -webkit-animation: project-top-service-pin-ripple 2s ease-out infinite;
        animation: project-top-service-pin-ripple 2s ease-out infinite;
    }

    .project-top-service__pin::after {
        -webkit-animation-delay: 1s;
        animation-delay: 1s;
    }

    .project-top-service__figure {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 12px 1fr;
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
        margin-top: 28px;
        padding: 0;
    }

    .project-top-service__floorplan {
        grid-column: 1 / -1;
        width: 100%;
    }

    .project-top-service__item {
        position: static;
        width: 100%;
    }

    .project-top-service__item a,
    .project-top-service__card {
        height: 100%;
    }

    .project-top-service__label {
        min-width: 160px;
        padding: 0.2em 0.6em 0.4em;
        font-size: 16px;
        text-align: center;
    }

    .project-top-service__name {
        padding: 3px 0 0 10px;
        font-size: 20px;
    }

    .project-top-service__body {
        font-size: 15px;
        line-height: 1.7;
    }

    .project-top-service__detail {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        gap: 10px;
        padding: 8px 14px 10px;
    }

    .project-top-service__item .project-top-service__image {
        position: static;
        width: auto;
    }

    .project-top-service__item .project-top-service__image img {
        width: auto;
        max-width: 60px;
        height: auto;
        max-height: 80px;
    }

    .project-top-service__item--slope .project-top-service__image img {
        max-width: 65px;
    }

    .project-top-service__item--handrail .project-top-service__image,
    .project-top-service__item--slope .project-top-service__image {
        padding-top: 0;
    }

    .project-top-service__item--bathing .project-top-service__image,
    .project-top-service__item--toilet-handrail .project-top-service__image {
        margin-top: -10px;
    }

    .project-top-service__item--lift-chair .project-top-service__image {
        margin-top: -22px;
    }

    .project-top-service__item--walker .project-top-service__image,
    .project-top-service__item--entrance-handrail .project-top-service__image,
    .project-top-service__item--wheelchair .project-top-service__image {
        margin-top: -30px;
    }

    .project-top-service__item .project-top-service__body {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        min-width: 0;
        padding-right: 0;
    }

    .project-top-service__item--image-bottom .project-top-service__image {
        margin-top: 0;
        margin-right: 0;
        margin-left: 0;
    }

    .project-top-service__item--stack .project-top-service__head {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .project-top-service__item--stack .project-top-service__detail {
        padding-top: 12px;
    }
}

@media (max-width: 599px) {
    .project-top-service__text {
        text-align: left;
    }

    .project-top-service__figure {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .project-top-service__label,
    .project-top-service__name {
        font-size: 16px;
    }

    .project-top-service__detail {
        gap: 10px;
        padding: 8px 12px 10px;
    }

    .project-top-service__body {
        line-height: 1.7;
    }
}

@media (prefers-reduced-motion: reduce) {

    .project-top-service__pin::before,
    .project-top-service__pin::after {
        display: none;
    }
}


/* ==================================================
  Project: TOP ご利用料金・制度について
================================================== */

.project-top-price {
    position: relative;
    border-radius: var(--radius-section) 0 0 0;
    background-color: var(--color-background-beige);
}

.project-top-price__decoration {
    position: absolute;
}

.project-top-price__decoration img {
    display: block;
    width: 100%;
}

.project-top-price__decoration--left {
    top: -19px;
    left: 184px;
    width: 118px;
}

.project-top-price__decoration--right {
    top: -11px;
    right: 124px;
    width: 127px;
}

.project-top-price__text {
    margin-top: 52px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-top-price__button-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 366px 33px 366px;
    grid-template-columns: repeat(2, 366px);
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 22px 33px;
    margin-top: 56px;
}

.project-top-price__button-list .component-arrow-button {
    width: 100%;
}

.project-top-price__button-list .component-arrow-button__inner {
    min-height: 67px;
}

@media (max-width: 1024px) {
    .project-top-price {
        border-radius: 60px 0 0 0;
    }

    .project-top-price__decoration--left {
        left: 16px;
        width: 90px;
    }

    .project-top-price__decoration--right {
        right: 16px;
        width: 96px;
    }

    .project-top-price__text {
        margin-top: 36px;
    }

    .project-top-price__button-list {
        -ms-grid-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px;
        margin-top: 40px;
    }
}

@media (max-width: 599px) {
    .project-top-price {
        border-radius: 40px 0 0 0;
    }

    .project-top-price__decoration--left,
    .project-top-price__decoration--right {
        display: none;
    }

    .project-top-price__button-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ==================================================
  Project: TOP 暮らしを支える5つのサポート
================================================== */


.project-top-support__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 53px;
}

.project-top-support__body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    max-width: 624px;
    margin-left: 48px;
}

.project-top-support__text {
    margin-top: 53px;
    font-size: 16px;
    line-height: 2.25;
    color: var(--color-text);
}

.project-top-support__list {
    margin-top: 28px;
    border-top: 1px solid var(--color-border-divider);
}

.project-top-support__item {
    border-bottom: 1px solid var(--color-border-divider);
}

.project-top-support__item a {
    display: block;
}

.project-top-support__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 20px;
    padding: 15px 20px 15px 10px;
}

.project-top-support__icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 58px;
}

.project-top-support__icon img {
    display: block;
    width: 100%;
}

.project-top-support__name {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-text);
    -webkit-transition: color var(--duration-fast) ease;
    transition: color var(--duration-fast) ease;
    transition: .5s;
}

@media (hover: hover) and (pointer: fine) {

    .project-top-support__item a:hover {
        opacity: 1;
        background-color: var(--color-background-voice);
    }

    .project-top-support__item a:hover .project-top-support__name {
        color: var(--color-main-darkest);
        font-size: 22px;
    }

    .project-top-support__item a:hover .component-circle-arrow {
        border-color: var(--color-main-darkest);
        background-color: var(--color-main-darkest);
    }

    .project-top-support__item a:hover .component-circle-arrow::before {
        background-color: var(--color-white);
    }
}

.project-top-support__photo {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 475px;
    margin-top: 170px;
    overflow: hidden;
    border-radius: 98px 48px 98px 48px;
}

.project-top-support__photo img {
    display: block;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

@media (max-width: 1024px) {

    .project-top-support__inner {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 48px;
    }

    .project-top-support__body {
        max-width: none;
        width: 100%;
        margin-left: 0;
    }

    .project-top-support__text {
        margin-top: 36px;
    }

    .project-top-support__list {
        margin-top: 40px;
    }

    .project-top-support__photo {
        width: 100%;
        max-width: 420px;
        margin-top: 0;
        border-radius: 70px 36px 70px 36px;
    }
}

@media (max-width: 599px) {
    .project-top-support__link {
        gap: 12px;
        padding: 12px 4px;
    }

    .project-top-support__icon {
        width: 46px;
        height: 46px;
    }

    .project-top-support__icon img {
        width: 46px;
    }

    .project-top-support__name {
        font-size: 16px;
    }

    .project-top-support__photo {
        border-radius: 50px 24px 50px 24px;
    }
}


/* ==================================================
  Project: TOP お客様のお声
================================================== */


.project-top-voice {
    background-color: var(--color-background-voice);
}

.project-top-voice .component-wave {
    height: 180px;
}

.project-top-voice__head {
    position: relative;
    text-align: center;
}

.project-top-voice__decoration {
    position: absolute;
    left: 50%;
}

.project-top-voice__decoration img {
    display: block;
    width: 100%;
}

.project-top-voice__decoration--left {
    top: -84px;
    width: 119px;
    margin-left: -322px;
}

.project-top-voice__decoration--right {
    top: -110px;
    width: 177px;
    margin-left: 321px;
}

.project-top-voice__list {
    position: relative;
}

.project-top-voice__list .component-slider-navigation__item {
    position: absolute;
    top: 50%;
    z-index: var(--z-index-base);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.project-top-voice__list .component-slider-navigation__item--prev {
    left: 0;
}

.project-top-voice__list .component-slider-navigation__item--next {
    right: 0;
}

.project-top-voice__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 62px;
}

@media (max-width: 1024px) {

    .project-top-voice .component-wave {
        height: 110px;
    }

    .project-top-voice__decoration--left {
        top: -60px;
        width: 84px;
        margin-left: -230px;
    }

    .project-top-voice__decoration--right {
        top: -76px;
        width: 120px;
        margin-left: 220px;
    }

    .project-top-voice__button {
        margin-top: 40px;
    }
}

@media (max-width: 599px) {
    .project-top-voice .component-wave {
        height: 70px;
    }

    .project-top-voice__decoration--left {
        top: -46px;
        width: 56px;
        margin-left: -150px;
    }

    .project-top-voice__decoration--right {
        top: -56px;
        width: 74px;
        margin-left: 100px;
    }
    
    .project-top-voice__list{
      width: 100%;
    }
}


/* ==================================================
  Project: TOP よくあるご質問
================================================== */

.project-top-faq {
    position: relative;
    border-radius: 0 0 var(--radius-section) var(--radius-section);
    background-color: var(--color-background-beige);
}

.project-top-faq__decoration {
    position: absolute;
}

.project-top-faq__decoration img {
    display: block;
    width: 100%;
}

.project-top-faq__decoration--left {
    top: 183px;
    left: 0;
    width: 77px;
}

.project-top-faq__decoration--right {
    top: 525px;
    right: 0;
    width: 60px;
}

.project-top-faq .list-faq {
    margin-top: 40px;
    position: relative;
    z-index: 2;
}

.project-top-faq__button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 39px;
}

@media (max-width: 1024px) {
    .project-top-faq {
        border-radius: 0 0 60px 60px;
    }

    .project-top-faq__decoration--left {
        top: 120px;
        width: 56px;
    }

    .project-top-faq__decoration--right {
        top: 400px;
        width: 44px;
    }
}

@media (max-width: 599px) {
    .project-top-faq {
        border-radius: 0 0 40px 40px;
    }

    .project-top-faq__decoration--left,
    .project-top-faq__decoration--right {
        display: none;
    }
}


/* ==================================================
  Project: TOP ブログ
================================================== */

.project-top-blog {
    padding-bottom: 14px;
}

.project-top-blog__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 24px;
}

.project-top-blog .list-blog {
    margin-top: 44px;
}

.project-top-blog .component-more-link {
    margin-top: 42px;
}

@media (max-width: 1024px) {

    .project-top-blog .list-blog {
        margin-top: 36px;
    }

    .project-top-blog .component-more-link {
        margin-top: 32px;
    }
}

@media (max-width: 599px) {

    .project-top-blog__head {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 20px;
    }
}


/* ==================================================
  Page: 会社概要
================================================== */

.page-company {
    background-color: var(--color-white);
}


/* ==================================================
  Project: 会社概要 一人ひとりに合った安心を届けたい
  本文が未支給のため「準備中」を置いている。
================================================== */

.project-company-message__text {
    margin-top: 32px;
    text-align: center;
}

@media (max-width: 599px) {

    .project-company-message__text {
        text-align: left;
    }
}


/* ==================================================
  Project: 会社概要 代表あいさつ
  写真＋本文の並びは TOP の「初めてご利用の方へ」と同じ組み方にしている。
  写真は支給待ちのためダミー。本文も未支給のため「準備中」。
================================================== */

.project-company-greeting .component-photo-text__visual {
    width: 380px;
}

.project-company-greeting .component-photo-text__decoration {
    top: -33px;
    left: -66px;
    width: 124px;
}

.project-company-greeting__name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 16px;
    margin-top: 24px;
    padding-left: 16px;
    border-left: 3px solid var(--color-main-darkest);
}

.project-company-greeting__position {
    font-size: 14px;
    line-height: 1.5;
    color: var(--color-text-light);
}

.project-company-greeting__person {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-text);
}

@media (max-width: 1024px) {

    .project-company-greeting .component-photo-text__visual {
        width: 38%;
    }

    .project-company-greeting .component-photo-text__decoration {
        top: -24px;
        left: -30px;
        width: 90px;
    }
}

@media (max-width: 599px) {

    .project-company-greeting .component-photo-text__visual {
        width: 100%;
    }

    .project-company-greeting .component-photo-text__decoration {
        top: -20px;
        left: -8px;
        width: 72px;
    }
}


/* ==================================================
  Project: 会社概要 会社概要（表）
================================================== */

.project-company-profile__table {
    position: relative;
    margin-top: 40px;
}

.project-company-profile__illust {
    position: absolute;
    right: -34px;
    bottom: -46px;
    width: 106px;
}

.project-company-profile__illust img {
    display: block;
    width: 100%;
}

@media (max-width: 1024px) {

    .project-company-profile__illust {
        right: -20px;
        bottom: -36px;
        width: 84px;
    }
}

@media (max-width: 599px) {

    .project-company-profile__illust {
        right: 0;
        bottom: -30px;
        width: 68px;
    }
}


/* ==================================================
  Project: 会社概要 事業所
  カードの地色が白のため、フッターと同じ背景色を敷いて見え方を揃える。
================================================== */

.project-company-station {
    border-radius: var(--radius-section);
    background-color: var(--color-background-light);
}

.project-company-station .component-station-list {
    margin-top: 48px;
}

@media (max-width: 1024px) {

    .project-company-station {
        border-radius: 60px;
    }
}

@media (max-width: 599px) {

    .project-company-station {
        border-radius: 40px;
    }
}


/* ==================================================
  Project: 会社概要 会社沿革
================================================== */

.project-company-history__scroll {
    margin-top: 40px;
    padding-bottom: 14px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: thin;
    scrollbar-color: var(--color-main-soft) var(--color-border-divider);
}

.project-company-history__scroll::-webkit-scrollbar {
    -webkit-appearance: none;
    height: 6px;
}

.project-company-history__scroll::-webkit-scrollbar-track {
    border-radius: var(--radius-round);
    background-color: var(--color-border-divider);
}

.project-company-history__scroll::-webkit-scrollbar-thumb {
    border-radius: var(--radius-round);
    background-color: var(--color-main-soft);
}

.project-company-history__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    border-top: 1px solid var(--color-border-divider);
    border-bottom: 1px solid var(--color-border-divider);
}

.project-company-history__item {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 260px;
    padding: 32px 28px 40px;
    border-left: 1px solid var(--color-border-divider);
}

.project-company-history__item:last-child {
    border-right: 1px solid var(--color-border-divider);
}

.project-company-history__year {
    font-family: var(--font-english);
    font-size: 36px;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: 0.05em;
    color: var(--color-main-dark);
}

.project-company-history__month {
    margin-top: 4px;
    font-family: var(--font-english);
    font-size: 18px;
    line-height: 1.5;
    color: var(--color-main-dark);
}

.project-company-history__text {
    margin-top: 20px;
    font-size: 15px;
    line-height: 1.75;
}

@media (max-width: 1024px) {

    .project-company-history__item {
        width: 240px;
        padding: 28px 24px 32px;
    }

    .project-company-history__year {
        font-size: 32px;
    }
}

@media (max-width: 599px) {

    .project-company-history__item {
        width: 220px;
        padding: 24px 20px 28px;
    }

    .project-company-history__year {
        font-size: 30px;
    }
}


/* ==================================================
  Project: 会社概要 暮らしを支えるさまざまなサービス
================================================== */

.project-company-service {
    position: relative;
    border-radius: var(--radius-section);
    background-color: var(--color-background-beige);
    overflow: hidden;
}

.project-company-service__decoration {
    position: absolute;
    width: 70px;
}

.project-company-service__decoration--left {
    top: 26%;
    left: 0;
}

.project-company-service__decoration--right {
    top: 64%;
    right: 0;
}

.project-company-service__decoration img {
    display: block;
    width: 100%;
}

.project-company-service__lead {
    margin-top: 32px;
    text-align: center;
}

.project-company-service__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 28px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-top: 44px;
    z-index: 2;
    position: relative;
}

.project-company-service__item {
    padding: 28px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-company-service__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
}

.project-company-service__number {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: var(--font-english);
    font-size: 40px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.075em;
    color: var(--color-main-soft);
}

.project-company-service__item:nth-child(1) .project-company-service__number {
    color: var(--color-main-dark);
}

.project-company-service__item:nth-child(2) .project-company-service__number {
    color: var(--color-accent-button);
}

.project-company-service__item:nth-child(3) .project-company-service__number {
    color: var(--color-sub);
}

.project-company-service__item:nth-child(4) .project-company-service__number {
    color: var(--color-accent-yellow-dark);
}

.project-company-service__item:nth-child(5) .project-company-service__number {
    color: var(--color-main-soft);
}

.project-company-service__item:nth-child(6) .project-company-service__number {
    color: var(--color-accent);
}

.project-company-service__name {
    min-width: 0;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-text);
}

.project-company-service__text {
    margin-top: 12px;
}

@media (max-width: 1024px) {

    .project-company-service {
        border-radius: 60px;
    }

    .project-company-service__list {
        gap: 24px;
    }

    .project-company-service__number {
        font-size: 32px;
    }
}

@media (max-width: 599px) {

    .project-company-service {
        border-radius: 40px;
    }

    .project-company-service__decoration--left,
    .project-company-service__decoration--right {
        display: none;
    }

    .project-company-service__lead {
        text-align: left;
    }

    .project-company-service__list {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .project-company-service__item {
        padding: 20px;
    }

    .project-company-service__number {
        font-size: 28px;
    }
}

/* ==================================================
  Page: お知らせ（一覧・詳細）
================================================== */

.page-news,
.page-news-detail,
.page-contact,
.page-contact-thanks,
.page-first,
.page-handrails,
.page-maintenance,
.page-reason,
.page-fall-prevention,
.page-daily-living-aids {
    background-color: var(--color-white);
}


/* ==================================================
  Project: 初めてご利用の方へ
  9セクション。本文は支給原稿のまま。
  マップ画像とチェックリストの配色はカンプに無いため外挿した
================================================== */

.project-first-check__lead,
.project-first-topics__lead {
    margin-top: 40px;
}

.project-first-intro__text,
.project-first-check__text,
.project-first-policy__text,
.project-first-topics__text,
.project-first-promise__text,
.project-first-area__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-first-intro__text+.project-first-intro__text,
.project-first-check__text+.project-first-check__text,
.project-first-policy__text+.project-first-policy__text,
.project-first-topics__text+.project-first-topics__text,
.project-first-promise__text+.project-first-promise__text,
.project-first-area__text+.project-first-area__text {
    margin-top: 16px;
}

.project-first-intro .component-photo-text__visual,
.project-handrails-contact .component-photo-text__visual,
.project-service-check .component-photo-text__visual,
.project-fall-contact .component-photo-text__visual,
.project-daily-contact .component-photo-text__visual,
.project-rental-contact .component-photo-text__visual,
.project-home-environment-contact .component-photo-text__visual,
.project-maintenance-contact .component-photo-text__visual {
    width: 400px;
}

.project-first-intro .component-photo-text__decoration,
.project-handrails-contact .component-photo-text__decoration,
.project-service-check .component-photo-text__decoration,
.project-fall-contact .component-photo-text__decoration,
.project-daily-contact .component-photo-text__decoration,
.project-rental-contact .component-photo-text__decoration,
.project-home-environment-contact .component-photo-text__decoration,
.project-maintenance-contact .component-photo-text__decoration {
    top: -32px;
    right: -34px;
    width: 110px;
}

@media (max-width: 1024px) {

    .project-first-intro .component-photo-text__visual,
    .project-handrails-contact .component-photo-text__visual,
    .project-service-check .component-photo-text__visual,
    .project-fall-contact .component-photo-text__visual,
    .project-daily-contact .component-photo-text__visual,
    .project-rental-contact .component-photo-text__visual,
    .project-home-environment-contact .component-photo-text__visual,
    .project-maintenance-contact .component-photo-text__visual {
        width: 100%;
        max-width: 480px;
    }

    .project-first-intro .component-photo-text__decoration,
    .project-handrails-contact .component-photo-text__decoration,
    .project-service-check .component-photo-text__decoration,
    .project-fall-contact .component-photo-text__decoration,
    .project-daily-contact .component-photo-text__decoration,
    .project-rental-contact .component-photo-text__decoration,
    .project-home-environment-contact .component-photo-text__decoration,
    .project-maintenance-contact .component-photo-text__decoration {
        top: -26px;
        right: -10px;
        width: 90px;
    }
}

@media (max-width: 599px) {

    .project-first-intro .component-photo-text__decoration,
    .project-handrails-contact .component-photo-text__decoration,
    .project-service-check .component-photo-text__decoration,
    .project-fall-contact .component-photo-text__decoration,
    .project-daily-contact .component-photo-text__decoration,
    .project-rental-contact .component-photo-text__decoration,
    .project-home-environment-contact .component-photo-text__decoration,
    .project-maintenance-contact .component-photo-text__decoration {
        top: -16px;
        right: 0;
        width: 70px;
    }
}

.project-first-check__body {
    margin-top: 40px;
}

.project-first-check__panel {
    padding: 40px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-first-check__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 16px;
}

.project-first-check__subtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    border-bottom: 1px solid var(--color-border-divider);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-first-check__subtitle::before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 4px;
    height: 22px;
    border-radius: var(--radius-round);
    background-color: var(--color-main-darkest);
}

.project-first-check__counter {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 8px 20px;
    border-radius: var(--radius-round);
    background-color: var(--color-check-result);
}

.project-first-check__counter-label {
    font-size: 13px;
    line-height: 1.5;
    color: var(--color-text);
}

.project-first-check__counter-number {
    font-family: var(--font-english);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-text);
}

.project-first-check__counter-current {
    font-size: 26px;
    font-weight: 700;
    color: var(--color-accent);
}

.project-first-check__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 26px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 26px;
    margin-top: 24px;
}

.project-first-check__item input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
}

.project-first-check__item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    height: 100%;
    padding: 20px;
    border: 1px solid var(--color-check-border);
    border-radius: var(--radius-medium);
    background-color: var(--color-white);
    cursor: pointer;
    -webkit-transition:
        border-color var(--duration-fast) ease,
        background-color var(--duration-fast) ease;
    transition:
        border-color var(--duration-fast) ease,
        background-color var(--duration-fast) ease;
}

.project-first-check__image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 68px;
    mix-blend-mode: darken;
}

.project-first-check__image img {
    display: block;
    width: 100%;
    height: auto;
}

.project-first-check__item-text {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-check__mark {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 22px;
    height: 22px;
    border: 1px solid var(--color-border);
    border-radius: 6px;
    background-color: var(--color-white);
    -webkit-transition:
        border-color var(--duration-fast) ease,
        background-color var(--duration-fast) ease;
    transition:
        border-color var(--duration-fast) ease,
        background-color var(--duration-fast) ease;
}

.project-first-check__item input:focus-visible+label {
    border-color: var(--color-main-darkest);
}

.project-first-check__item input:checked+label {
    border-color: var(--color-check-checked);
    background-color: var(--color-check-checked);
}

.project-first-check__item input:checked+label .project-first-check__mark {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.project-first-check__item input:checked+label .project-first-check__mark::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-white);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 14.2 3.8 10l1.4-1.4L8 11.4l6.8-6.8L16.2 6z"/></svg>') no-repeat center / 16px 16px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 14.2 3.8 10l1.4-1.4L8 11.4l6.8-6.8L16.2 6z"/></svg>') no-repeat center / 16px 16px;
}

.project-first-check__note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 8px;
    margin-top: 20px;
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-check__note::before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background-color: var(--color-main-soft);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 2a7 7 0 1 1 0 14 7 7 0 0 1 0-14zm-1.2 10.4L5.3 9.9l1.4-1.4 2.1 2.1 4.5-4.5 1.4 1.4z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 2a7 7 0 1 1 0 14 7 7 0 0 1 0-14zm-1.2 10.4L5.3 9.9l1.4-1.4 2.1 2.1 4.5-4.5 1.4 1.4z"/></svg>') no-repeat center / contain;
}

.project-first-check__result {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 32px;
    margin-top: 28px;
    padding: 28px 32px;
    border-radius: var(--radius-medium);
    background-color: var(--color-check-result);
}

.project-first-check__score {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 14px;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 176px;
    padding-right: 32px;
    border-right: 1px solid var(--color-border-divider);
}

.project-first-check__score-label {
    font-size: 13px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main-darkest);
}

.project-first-check__score-number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.16);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.16);
    font-family: var(--font-english);
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
    color: var(--color-text);
}

.project-first-check__score-current {
    margin-right: 4px;
    font-size: 34px;
    font-weight: 700;
    color: var(--color-accent);
}

.project-first-check__feedback {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.project-first-check__message {
    display: none;
}

[data-element-id] .project-first-check__message {
    display: block;
    border: 3px solid;
    margin: 10px 0;
}

[data-element-id] .project-first-check__message::before {
    content: "結果";
    background: #4a5560;
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 10px;
}

[data-element-id] .project-first-check__message:first-of-type::before{
  content: "0〜2個の場合の結果";
}

[data-element-id] .project-first-check__message:nth-of-type(2)::before{
  content: "3〜5個の場合の結果";
}

[data-element-id] .project-first-check__message:nth-of-type(3)::before{
  content: "6個以上の場合の結果";
}

.project-first-check__message.is-current {
    display: block;
}

.project-first-check__message-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--color-main-darkest);
}

.project-first-check__message-accent {
    color: var(--color-accent);
}

.project-first-check__message-text {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text);
}

.project-first-check__message-text:empty {
    display: none;
}

.project-first-check__advice {
    position: relative;
    margin-top: 20px;
    margin-right: 206px;
    padding: 14px 20px 14px 64px;
    border-radius: var(--radius-round);
    background-color: var(--color-check-advice);
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-check__advice::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 12px;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background-color: var(--color-sub);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.project-first-check__advice::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 21px;
    width: 16px;
    height: 16px;
    background-color: var(--color-white);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.4a5.6 5.6 0 0 0-3.3 10.1c.6.5 1 1.2 1 1.9v.4h4.6v-.4c0-.7.4-1.4 1-1.9A5.6 5.6 0 0 0 12 2.4z"/><path d="M9.7 16.2h4.6v1.5H9.7z"/><path d="M10.3 18.9h3.4a1.7 1.7 0 0 1-3.4 0z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2.4a5.6 5.6 0 0 0-3.3 10.1c.6.5 1 1.2 1 1.9v.4h4.6v-.4c0-.7.4-1.4 1-1.9A5.6 5.6 0 0 0 12 2.4z"/><path d="M9.7 16.2h4.6v1.5H9.7z"/><path d="M10.3 18.9h3.4a1.7 1.7 0 0 1-3.4 0z"/></svg>') no-repeat center / contain;
}

.project-first-check__illustration {
    position: absolute;
    right: 24px;
    bottom: 0;
    width: 190px;
}

.project-first-check__illustration img {
    display: block;
    width: 100%;
    height: auto;
}

.project-first-check__action {
    margin-top: 32px;
    padding-right: 200px;
}

.project-first-check__action-lead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: flex-end;
    -ms-flex-align: flex-end;
    align-items: flex-end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 16px;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-sub);
}

.project-first-check__action-lead::before {
    content: '＼';
}

.project-first-check__action-lead::after {
    content: '／';
}

.project-first-check__button {
        width: 100%;
    margin-top: 16px;
}

.project-first-check__button a {
    display: block;
}

.project-first-check__button-inner {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-height: 68px;
    padding: 12px 72px;
    border-radius: var(--radius-round);
    background-color: var(--color-check-button);
    -webkit-transition: background-color var(--duration-fast) ease;
    transition: background-color var(--duration-fast) ease;
}

.project-first-check__button-text {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    letter-spacing: 0.075em;
    color: var(--color-white);
}

.project-first-check__button .component-circle-arrow {
    position: absolute;
    top: 50%;
    right: 15px;
    background-color: var(--color-white);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.project-first-check__button .component-circle-arrow::before {
    background-color: var(--color-check-button);
}

@media (hover: hover) {
    .project-first-check__item label:hover {
        border-color: var(--color-main-pale);
    }

    .project-first-check__button a:hover .project-first-check__button-inner {
        background-color: var(--color-check-button-dark);
    }

    .project-first-check__button a:hover .component-circle-arrow::before {
        background-color: var(--color-check-button-dark);
    }
}

@media (max-width: 1024px) {
    .project-first-check__panel {
        padding: 32px;
    }

    .project-first-check__list {
        gap: 16px 20px;
    }

    .project-first-check__item label {
        gap: 12px;
        padding: 16px;
    }

    .project-first-check__image {
        width: 56px;
    }

    .project-first-check__item-text {
        font-size: 15px;
    }

    .project-first-check__result {
        gap: 24px;
        padding: 24px;
    }

    .project-first-check__score {
        width: 140px;
        padding-right: 24px;
    }

    .project-first-check__score-number {
        width: 86px;
        height: 86px;
    }

    .project-first-check__message-title {
        font-size: 18px;
    }

    .project-first-check__advice {
        margin-right: 160px;
    }

    .project-first-check__illustration {
        right: 12px;
        width: 150px;
    }
    
    .project-first-check__action{
      padding-right: 140px;
    }
}

@media (max-width: 599px) {
    .project-first-check__panel {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-first-check__head {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        gap: 12px;
    }

    .project-first-check__subtitle {
        font-size: 17px;
    }

    .project-first-check__counter {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding: 6px 16px;
    }

    .project-first-check__counter-current {
        font-size: 22px;
    }

    .project-first-check__list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 20px;
    }

    .project-first-check__image {
        width: 48px;
    }

    .project-first-check__note {
        font-size: 13px;
    }

    .project-first-check__result {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 20px;
        padding: 20px 16px;
    }

    .project-first-check__score {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 16px;
        width: 100%;
        padding-right: 0;
        padding-bottom: 20px;
        border-right: 0;
        border-bottom: 1px solid var(--color-border-divider);
    }

    .project-first-check__score-number {
        width: 78px;
        height: 78px;
    }

    .project-first-check__score-current {
        font-size: 28px;
    }

    .project-first-check__feedback {
        min-width: 0;
    }

    .project-first-check__message-title {
        font-size: 17px;
    }

    .project-first-check__advice {
        margin-right: 0;
        padding: 12px 16px 12px 52px;
        font-size: 14px;
    }

    .project-first-check__illustration {
        position: static;
        width: 170px;
        margin-right: auto;
        margin-left: auto;
    }

    .project-first-check__advice::before {
        left: 10px;
        width: 30px;
        height: 30px;
    }

    .project-first-check__advice::after {
        left: 17px;
        width: 14px;
        height: 14px;
    }

    .project-first-check__action-lead {
        gap: 10px;
        font-size: 14px;
    }

    .project-first-check__button-inner {
        min-height: 60px;
        padding: 12px 56px;
    }

    .project-first-check__button-text {
        font-size: 16px;
    }
    
    .project-first-check__action{
      padding-right: 0;
    }
}

.project-first-policy__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 32px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 32px;
    margin-top: 40px;
}

.project-first-policy__item {
    padding: 32px;
    border: 1px solid var(--color-main-pale);
    border-radius: var(--radius-large);
}

.project-first-policy__title {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
    text-align: center;
    font-size: 22px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-first-policy__body {
    margin-top: 16px;
}

.project-first-topics__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px 24px;
    margin-top: 40px;
}

.project-first-topics__item {
    padding: 28px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-first-topics__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 104px;
    margin-bottom: 16px;
}

.project-first-topics__icon img {
    display: block;
    max-width: 130px;
    max-height: 100%;
}

.project-first-topics__title {
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border-divider);
    text-align: center;
    /* values 16px-18px view 1025px-1161px */
    font-size: clamp(16px, 1.55vw, 18px);
    font-weight: 500;
    line-height: 1.45;
    text-wrap: balance;
    color: var(--color-main-darkest);
}

.project-first-topics__body {
    margin-top: 14px;
}

.project-first-promise__layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 64px;
    margin-top: 40px;
}

.project-first-promise__intro {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 300px;
}

.project-first-promise__lead {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-first-promise__list {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
}

.project-first-promise__item {
    padding: 28px 0;
    border-bottom: 1px solid var(--color-border-divider);
}

.project-first-promise__item:first-child {
    border-top: 1px solid var(--color-border-divider);
}

.project-first-promise__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 20px;
}

.project-first-promise__number {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 32px;
    font-family: var(--font-english);
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.05em;
    color: var(--color-accent);
}

.project-first-promise__title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    text-wrap: balance;
    color: var(--color-text);
}

.project-first-promise__body {
    margin-top: 12px;
    margin-left: 52px;
}

/* .project-first-faq .list-faq__question {
    text-wrap: balance;
} */

.page-first .list-faq__head {
    border: 1px solid var(--color-accent-circle-dark);
}

.project-first-flow .component-step {
    margin-top: 40px;
}

.project-first-area__body {
    margin-top: 40px;
}

.project-first-area__panel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 32px;
    margin-top: 40px;
    padding: 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-first-area__map {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 45%;
}

.project-first-area__info {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
}

.project-first-area__subtitle {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 8px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-first-area__subtitle::before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 16px;
    height: 20px;
    background-color: var(--color-sub);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / contain;
}

.project-first-area__map-figure {
    position: relative;
    overflow: hidden;
    margin-top: 16px;
    border-radius: var(--radius-medium);
}

.project-first-area__map-figure img {
    display: block;
    width: 100%;
    height: auto;
}

.project-first-area__pin {
    position: absolute;
    width: 20px;
    height: 25px;
    -webkit-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%);
}

.project-first-area__pin-mark {
    display: block;
    width: 100%;
    height: 100%;
    background-color: var(--color-accent-circle);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / contain;
    -webkit-transform-origin: 50% 100%;
    transform-origin: 50% 100%;
    -webkit-transition:
        background-color var(--duration-fast) ease,
        -webkit-transform var(--duration-fast) ease;
    transition:
        background-color var(--duration-fast) ease,
        -webkit-transform var(--duration-fast) ease;
    transition:
        background-color var(--duration-fast) ease,
        transform var(--duration-fast) ease;
    transition:
        background-color var(--duration-fast) ease,
        transform var(--duration-fast) ease,
        -webkit-transform var(--duration-fast) ease;
}

.project-first-area__pin-label {
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    padding: 4px 9px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    border-radius: var(--radius-small);
    background-color: rgba(255, 255, 255, 0.88);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0.02em;
    text-align: center;
    white-space: nowrap;
    color: var(--color-text);
}

.project-first-area__pin.js-area-pin {
    cursor: pointer;
}

.project-first-area__pin.js-area-pin.is-current {
    z-index: var(--z-index-base);
}

.project-first-area__pin.js-area-pin.is-current .project-first-area__pin-mark {
    background-color: var(--color-accent);
}

.project-first-area__pin.js-area-pin.is-current .project-first-area__pin-label {
    background-color: var(--color-accent);
    font-weight: 700;
    color: var(--color-white);
}

.project-first-area__pin--sister .project-first-area__pin-mark {
    background-color: var(--color-sub);
}

/* --- ピンの位置 ---------------------------------------------
   ヘルスレント3拠点は支給マップ（ピンあり）から実測した値。
   姉妹会社3店舗はピン付きの支給画像が無いためAIが置いた暫定値（要確認）。
   本社＝ヘルスレント天王寺、長吉支店＝ヘルスレント平野と住所が同じため、
   重ならないよう少しずらしてある
   ------------------------------------------------------------ */
.project-first-area__pin--tennoji {
    top: 62.78%;
    left: 44.91%;
}

.project-first-area__pin--hirano {
    top: 74.22%;
    left: 62.09%;
}

.project-first-area__pin--higashiosaka {
    top: 38.36%;
    left: 73.34%;
}

.project-first-area__pin--head {
    top: 46%;
    left: 32%;
}

.project-first-area__pin--nagayoshi {
    top: 62%;
    left: 74%;
}

.project-first-area__pin--tezukayama {
    top: 85%;
    left: 36%;
}

.project-first-area__pin--tennoji .project-first-area__pin-label {
    -webkit-transform: translateX(calc(-50% + -46px));
    transform: translateX(calc(-50% + -46px));
}

.project-first-area__pin--hirano .project-first-area__pin-label {
    -webkit-transform: translateX(calc(-50% + 30px));
    transform: translateX(calc(-50% + 30px));
}

.project-first-area__pin--nagayoshi .project-first-area__pin-label {
    -webkit-transform: translateX(calc(-50% + 34px));
    transform: translateX(calc(-50% + 34px));
}

.project-first-area__pin--head .project-first-area__pin-label {
    -webkit-transform: translateX(calc(-50% - 26px));
    transform: translateX(calc(-50% - 26px));
}

.project-first-area__note {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 6px;
    margin-top: 12px;
    font-size: 11px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-area__note::before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-top: 2px;
    width: 14px;
    height: 14px;
    background-color: var(--color-main-soft);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 2a7 7 0 1 1 0 14 7 7 0 0 1 0-14zm-1 3h2v2H9zm0 3.5h2V15H9z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M10 1a9 9 0 1 0 0 18 9 9 0 0 0 0-18zm0 2a7 7 0 1 1 0 14 7 7 0 0 1 0-14zm-1 3h2v2H9zm0 3.5h2V15H9z"/></svg>') no-repeat center / contain;
}

.project-first-area__tab-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
    margin-top: 16px;
}

.project-first-area__tab {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    min-width: 0;
}

.project-first-area__tab a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 5px;
    height: 100%;
    padding: 8px 5px;
    border: 1px solid var(--color-check-result);
    border-radius: 5px;
    background-color: var(--color-check-result);
    font-size: 13px;
    letter-spacing: 0.5px;
    font-weight: 500;
    line-height: 1.3;
    color: var(--color-text);
    -webkit-transition: border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease;
    transition: border-color var(--duration-fast) ease, background-color var(--duration-fast) ease, color var(--duration-fast) ease;
}

.project-first-area__tab a::before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 15px;
    height: 20px;
    background-color: var(--color-main-pale);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / contain;
    -webkit-transition: background-color var(--duration-fast) ease;
    transition: background-color var(--duration-fast) ease;
}

.project-first-area__tab.active a {
    border-color: var(--color-accent-circle);
    background-color: var(--color-accent-circle);
    color: var(--color-white);
}

.project-first-area__tab.active a::before {
    background-color: var(--color-white);
}

.project-first-area__card {
    display: none;
    gap: 20px;
    margin-top: 16px;
    padding: 20px;
    border: 1px solid var(--color-check-border);
    border-radius: var(--radius-medium);
}

.project-first-area__card.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.project-first-area__card-image {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.project-first-area__card-image {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    overflow: hidden;
    /* values 120px-158px view 1025px-1351px */
    width: clamp(120px, 11.7vw, 158px);
    border-radius: var(--radius-small);
}

.project-first-area__card-image img {
    display: block;
    width: 100%;
}

.project-first-area__card-body {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    min-width: 0;
}

.project-first-area__card-name {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-first-area__tag-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.project-first-area__tag {
    padding: 4px 9px;
    border-radius: var(--radius-round);
    background-color: var(--color-check-result);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
    white-space: nowrap;
    color: var(--color-sub);
}

.project-first-area__detail-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 20px 10px minmax(0, 1fr);
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 8px 10px;
    margin-top: 16px;
}

.project-first-area__detail-label {
    overflow: hidden;
    width: 20px;
    height: 20px;
    text-indent: 100%;
    white-space: nowrap;
    background-color: var(--color-sub);
}

.project-first-area__detail-label--address {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / 15px 19px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 30"><path d="M12 0a12 12 0 0 0-12 12c0 8 12 18 12 18s12-10 12-18A12 12 0 0 0 12 0zm0 16.5a4.5 4.5 0 1 1 0-9 4.5 4.5 0 0 1 0 9z"/></svg>') no-repeat center / 15px 19px;
}

.project-first-area__detail-label--telephone {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11 11 0 0 0 3.5.56 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.2.2 2.4.56 3.5a1 1 0 0 1-.25 1z"/></svg>') no-repeat center / 17px 17px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.6 10.8a15 15 0 0 0 6.6 6.6l2.2-2.2a1 1 0 0 1 1-.24 11 11 0 0 0 3.5.56 1 1 0 0 1 1 1V20a1 1 0 0 1-1 1A17 17 0 0 1 3 4a1 1 0 0 1 1-1h3.5a1 1 0 0 1 1 1c0 1.2.2 2.4.56 3.5a1 1 0 0 1-.25 1z"/></svg>') no-repeat center / 17px 17px;
}

.project-first-area__detail-label--hours {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 3v6l5 3 .9-1.6-3.9-2.3V7z"/></svg>') no-repeat center / 17px 17px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm0 2a8 8 0 1 1 0 16 8 8 0 0 1 0-16zm-1 3v6l5 3 .9-1.6-3.9-2.3V7z"/></svg>') no-repeat center / 17px 17px;
}

.project-first-area__detail-text {
    margin-left: 0;
    font-family: var(--font-english);
    font-size: 13px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-area__service {
    margin-top: 16px;
    padding: 12px 10px;
    border-radius: var(--radius-small);
    background-color: var(--color-background-beige-light);
}

.project-first-area__service-title {
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-accent);
}

.project-first-area__service-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 10px;
    margin-top: 8px;
}

.project-first-area__service-area {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 3px 10px;
    border-radius: var(--radius-small);
    background-color: var(--color-accent-circle);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-white);
}

.project-first-area__service-text {
    font-size: 13px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-area__contact {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 32px;
    margin-top: 32px;
    padding: 28px 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-first-area__contact-body {
    min-width: 0;
}

.project-first-area__contact-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    color: var(--color-text);
}

.project-first-area__contact-accent {
    color: var(--color-accent);
}

.project-first-area__contact-text {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.75;
    color: var(--color-text);
}

.project-first-area__contact-action {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

@media (hover: hover) {

    .project-first-area__pin.js-area-pin:hover,
    .project-first-area__tab a:hover {
        opacity: 1;
    }

    .project-first-area__pin.js-area-pin:hover .project-first-area__pin-mark {
        background-color: var(--color-accent);
        -webkit-transform: scale(1.15);
        transform: scale(1.15);
    }

    .project-first-area__pin.js-area-pin:hover .project-first-area__pin-label {
        background-color: var(--color-white);
        color: var(--color-accent);
    }

    .project-first-area__tab a:hover {
        border-color: var(--color-accent-circle);
        background-color: var(--color-accent-circle);
        color: var(--color-white);
    }

    .project-first-area__tab a:hover::before {
        background-color: var(--color-white);
    }

    .project-first-area__tab.active a:hover {
        border-color: var(--color-accent-circle);
        background-color: var(--color-white);
        color: var(--color-accent-circle);
    }

    .project-first-area__tab.active a:hover::before {
        background-color: var(--color-accent-circle);
    }
}

@media (max-width: 1024px) {

    .project-first-area__panel {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 28px;
        padding: 24px;
    }

    .project-first-area__map {
        width: 100%;
    }

    .project-first-area__map-figure {
        margin-right: auto;
        margin-left: auto;
        max-width: 560px;
    }

    .project-first-area__info {
        width: 100%;
    }

    .project-first-area__contact {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        gap: 20px;
    }
}

@media (max-width: 599px) {
    .project-first-area__panel {
        padding: 20px 16px;
        border-radius: var(--radius-medium);
    }

    .project-first-area__pin {
        width: 15px;
        height: 19px;
    }

    .project-first-area__pin-label {
        top: calc(100% + 2px);
        padding: 2px 5px;
        /* 375pxでは9pxまで詰めないと重なる。599pxではマップが529pxまで広がるので
       11pxへ戻す（values 9px-11px view 375px-579px）*/
        font-size: clamp(9px, 1.9vw, 11px);
        line-height: 1.35;
        letter-spacing: 0;
    }

    .project-first-area__card {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        padding: 16px;
    }

    .project-first-area__card-image {
        width: 100%;
    }

    .project-first-area__card-name {
        font-size: 17px;
    }

    .project-first-area__contact {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-first-area__contact-title {
        font-size: 17px;
    }
}


.project-first-voice__body,
.project-first-faq .list-faq {
    margin-top: 40px;
}

.project-first-voice__action,
.project-first-faq__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
}

@media (max-width: 1024px) {

    .project-first-topics__list {
        -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-first-topics__title {
        /* values 14px-18px view 600px-783px */
        font-size: clamp(14px, 2.3vw, 18px);
    }

    .project-first-promise__layout {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 32px;
    }

    .project-first-promise__intro {
        width: 100%;
    }
}

@media (max-width: 599px) {

    .project-first-check__lead,
    .project-first-check__body,
    .project-first-topics__lead,
    .project-first-area__body,
    .project-first-policy__list,
    .project-first-topics__list,
    .project-first-flow .component-step,
    .project-first-area__panel,
    .project-first-voice__body,
    .project-first-faq .list-faq {
        margin-top: 28px;
    }

    .project-first-policy__list,
    .project-first-topics__list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .project-first-policy__item,
    .project-first-topics__item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-first-policy__title {
        font-size: 20px;
    }

    .project-first-topics__title,
    .project-first-promise__title {
        font-size: 17px;
    }

    .project-first-promise__lead {
        font-size: 16px;
    }

    .project-first-promise__number {
        width: 28px;
        font-size: 18px;
    }

    .project-first-promise__body {
        margin-left: 0;
    }

    .project-first-voice__action,
    .project-first-faq__action {
        margin-top: 32px;
    }
}


/* ==================================================
  Project: お問い合わせ
  リード文が未支給のため「準備中」を置いている。
  フォームの項目・必須任意・確認画面の有無は未確定（README §7）
================================================== */

.project-contact__body {}

.project-contact__lead {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-contact__lead+.component-form {
    margin-top: 40px;
}

.project-contact__group {
    margin-top: 32px;
    padding: 32px;
    border: 2px solid var(--color-border-divider);
    border-radius: var(--radius-small);
    background: rgb(255 255 255 / 50%);
}

.project-contact__group-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-text);
}

.project-contact__group-title+.component-form__list {
    margin-top: 16px;
}


/* ==================================================
  Project: 送信完了
  本文は kickoff §5-2 の全案件共通文。屋号のみ正式表記に置換した
================================================== */

.project-thanks__body {}

.project-thanks__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-thanks__text+.project-thanks__text {
    margin-top: 28px;
}

.project-thanks__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 48px;
}

@media (max-width: 599px) {

    .project-contact__lead+.component-form {
        margin-top: 28px;
    }

    .project-contact__group {
        margin-top: 24px;
        padding: 20px;
    }

    .project-thanks__text+.project-thanks__text {
        margin-top: 20px;
    }

    .project-thanks__action {
        margin-top: 32px;
    }
}


/* ==================================================
  Project: お知らせ 一覧
  記事とサイド（CATEGORY / ARCHIVE）の2カラム。カラムの骨格は layout-column が持つ。
  記事はカスタムコンテンツ出力のためダミー8件を置いている
================================================== */

.project-news__body .component-pagination {
    margin-top: 48px;
}

@media (max-width: 599px) {

    .project-news__body .component-pagination {
        margin-top: 32px;
    }
}


/* ==================================================
  Project: お知らせ 詳細
  一覧と同じく記事＋サイド（CATEGORY / ARCHIVE）の2カラム。骨格は layout-column が持つ。
  本文は未支給のため、各タグの見え方を確認するダミーを置いている
================================================== */

.project-news-detail__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 48px;
}

@media (max-width: 599px) {

    .project-news-detail__action {
        margin-top: 32px;
    }
}


/* ==================================================
  Project: 暮らしを支える手すり
  5セクション。本文は支給原稿のまま。
  配色・角丸は初めてご利用の方へ（project-first-*）と同じ考え方で外挿した
================================================== */

.project-handrails-intro__body,
.project-handrails-support__body,
.project-handrails-sign__lead,
.project-handrails-sign__note,
.project-handrails-type__lead {
    margin-top: 40px;
}

.project-handrails-intro__text,
.project-handrails-support__text,
.project-handrails-sign__text,
.project-handrails-type__text,
.project-handrails-contact__text,
.project-rental-contact__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-rental-contact__action {
    margin-top: 32px;
}

.project-handrails-intro__text+.project-handrails-intro__text,
.project-handrails-support__text+.project-handrails-support__text,
.project-handrails-sign__text+.project-handrails-sign__text,
.project-handrails-type__text+.project-handrails-type__text,
.project-handrails-contact__text+.project-handrails-contact__text {
    margin-top: 16px;
}

.project-handrails-intro__phrase-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 24px 20px;
    margin-bottom: 40px;
}

.project-handrails-intro__phrase {
    position: relative;
    padding: 18px 32px;
    border: 3px solid var(--color-background-blue);
    border-radius: var(--radius-medium);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;
    text-align: center;
}

.project-handrails-intro__phrase::before {
    content: '';
    display: block;
    width: 52px;
    height: 44px;
    margin-top: -10px;
    margin-right: auto;
    margin-bottom: -6px;
    margin-left: auto;
    background: url('/import/tenant_2/fujiseni-kaigo.a-bisu.jp/html/image/lower/intro_icon_worry.webp') no-repeat center / contain;
}

.project-handrails-support__figure-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.project-handrails-support__figure {
    overflow: hidden;
    border-radius: var(--radius-medium);
}

.project-handrails-support__figure img {
    display: block;
    width: 100%;
}

.project-handrails-sign__body {
    margin-top: 40px;
}

.project-handrails-type__list {
    margin-top: 40px;
}

.project-handrails-type__item {
    padding: 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-handrails-type__item+.project-handrails-type__item {
    margin-top: 24px;
}

.project-handrails-type__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
}

.project-handrails-type__number {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: var(--font-english);
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--color-main-soft);
}

.project-handrails-type__icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 44px;
}

.project-handrails-type__icon img {
    display: block;
    width: 100%;
}

.project-handrails-type__title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-handrails-type__body {
    margin-top: 16px;
}

.project-handrails-type__recommend {
    margin-top: 24px;
    padding: 20px 24px;
    border-radius: var(--radius-small);
    background-color: var(--color-background-blue);
}

.project-handrails-type__recommend-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main-darkest);
}

.project-handrails-type__recommend-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    margin-top: 12px;
}

.project-handrails-type__recommend-item {
    position: relative;
    padding-left: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-handrails-type__recommend-item::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-main);
}

@media (max-width: 1024px) {

    .project-handrails-intro__phrase {
        width: 48%;
        padding: 15px 10px;
        font-size: 16px;
    }

    .project-handrails-type__item {
        padding: 28px 24px;
    }
}

@media (max-width: 599px) {

    .project-handrails-intro__body,
    .project-handrails-support__body,
    .project-handrails-sign__lead,
    .project-handrails-sign__body,
    .project-handrails-sign__note,
    .project-handrails-type__lead,
    .project-handrails-type__list {
        margin-top: 28px;
    }

    .project-handrails-intro__phrase-list {
        gap: 20px 12px;
        margin-bottom: 28px;
    }

    .project-handrails-intro__phrase::before {
        margin-top: 0;
        margin-bottom: 0;
    }

    .project-handrails-support__figure-list {
        gap: 8px;
        margin-top: 28px;
    }

    .project-handrails-type__item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-handrails-type__item+.project-handrails-type__item {
        margin-top: 20px;
    }

    .project-handrails-type__head {
        gap: 12px;
        padding-bottom: 12px;
    }

    .project-handrails-type__number {
        font-size: 26px;
    }

    .project-handrails-type__icon {
        width: 36px;
    }

    .project-handrails-type__title {
        font-size: 17px;
    }

    .project-handrails-type__recommend {
        padding: 16px 18px;
    }

    .project-handrails-type__recommend-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ==================================================
  Project: 清潔・安心を守るメンテナンス
  5セクション。本文は支給原稿のまま。
  セクション3は原稿の指示どおりアコーディオン（component-accordion）
================================================== */

.project-maintenance-intro__body,
.project-maintenance-check__body,
.project-maintenance-check__list,
.project-maintenance-point__lead,
.project-maintenance-follow__body,
.project-maintenance-contact__body,
.project-maintenance-point .component-accordion,
.project-maintenance-follow .component-step {
    margin-top: 40px;
}

.project-maintenance-point .component-section-decoration--person-left {
    left: 1.5%;
    width: clamp(76px, calc(16.47vw - 92.8px), 118px);
}

.project-maintenance-intro__text,
.project-maintenance-check__text,
.project-maintenance-point__text,
.project-maintenance-follow__text,
.project-maintenance-contact__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-maintenance-intro__text+.project-maintenance-intro__text,
.project-maintenance-check__text+.project-maintenance-check__text,
.project-maintenance-point__text+.project-maintenance-point__text,
.project-maintenance-follow__text+.project-maintenance-follow__text,
.project-maintenance-contact__text+.project-maintenance-contact__text {
    margin-top: 16px;
}

.project-maintenance-intro__subtitle,
.project-maintenance-follow__subtitle {
    margin-top: 48px;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    color: var(--color-main-darkest);
}

.project-maintenance-intro__support-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    margin-top: 28px;
}

.project-maintenance-intro__support-item {
    padding: 28px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-maintenance-intro__support-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border-divider);
}

.project-maintenance-intro__support-number {
    font-family: var(--font-english);
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--color-main-soft);
}

.project-maintenance-intro__support-name {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-maintenance-intro__support-item .project-maintenance-intro__text {
    margin-top: 14px;
}

@media (max-width: 1024px) {

    .project-maintenance-intro__support-item {
        padding: 24px;
    }
}

@media (max-width: 599px) {

    .project-maintenance-intro__body,
    .project-maintenance-check__body,
    .project-maintenance-check__list,
    .project-maintenance-point__lead,
    .project-maintenance-follow__body,
    .project-maintenance-contact__body,
    .project-maintenance-point .component-accordion,
    .project-maintenance-follow .component-step {
        margin-top: 28px;
    }

    .project-maintenance-intro__subtitle,
    .project-maintenance-follow__subtitle {
        margin-top: 36px;
        font-size: 17px;
    }

    .project-maintenance-intro__support-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-top: 20px;
    }

    .project-maintenance-intro__support-item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-maintenance-intro__support-number {
        font-size: 24px;
    }

    .project-maintenance-intro__support-name {
        font-size: 17px;
    }
}


/* ==================================================
  Project: 選ばれる理由
  6セクション。本文は支給原稿のまま。
  三者連携図はTOPの3つの円（配色・イラスト）を流用して組み直した
================================================== */

.project-reason-relation__body,
.project-reason-quality__body,
.project-reason-contact__body {
    margin-top: 40px;
}

.project-reason-intro__text,
.project-reason-relation__text,
.project-reason-support__text,
.project-reason-quality__text,
.project-reason-follow__text,
.project-reason-contact__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-reason-intro__text+.project-reason-intro__text,
.project-reason-relation__text+.project-reason-relation__text,
.project-reason-support__text+.project-reason-support__text,
.project-reason-quality__text+.project-reason-quality__text,
.project-reason-follow__text+.project-reason-follow__text,
.project-reason-contact__text+.project-reason-contact__text {
    margin-top: 16px;
}

.project-reason-intro .component-photo-text__visual {
    width: 420px;
}

.project-reason-intro .component-photo-text__decoration {
    top: -30px;
    left: -40px;
    width: 110px;
}

@media (max-width: 1024px) {

    .project-reason-intro .component-photo-text__visual {
        width: 100%;
        max-width: 597px;
    }

    .project-reason-intro .component-photo-text__decoration {
        top: -24px;
        left: -10px;
        width: 90px;
    }
}

@media (max-width: 599px) {

    .project-reason-intro .component-photo-text__decoration {
        top: -20px;
        left: 0;
        width: 70px;
    }
}

.project-reason-relation__phrase-list {
    margin-top: 24px;
    margin-bottom: 24px;
}

.project-reason-relation__phrase {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;
    color: var(--color-main-darkest);
}

.project-reason-relation__phrase-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 4px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
}

.project-reason-relation__phrase {
    position: relative;
    padding-left: 32px;
}

.project-reason-relation__phrase::before {
    content: '';
    position: absolute;
    top: calc((1.75em - 22px) / 2);
    left: 0;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background-color: var(--color-main-darkest);
}

.project-reason-relation__phrase::after {
    content: '';
    position: absolute;
    top: calc((1.75em - 22px) / 2 + 6px);
    left: 6px;
    width: 10px;
    height: 5px;
    border-bottom: 2px solid var(--color-white);
    border-left: 2px solid var(--color-white);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.project-reason-relation__flow {
    margin-top: 56px;
}

.project-reason-relation__party-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 72px 1fr 72px 1fr;
    grid-template-columns: 1fr 72px 1fr 72px 1fr;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
}

.project-reason-relation__party {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10px;
    padding: 16px 14px 14px;
    border-radius: var(--radius-large);
}

.project-reason-relation__party--user {
    background-color: var(--color-flow-user);
}

.project-reason-relation__party--caremanager {
    background-color: var(--color-flow-caremanager);
}

.project-reason-relation__party--company {
    background-color: var(--color-flow-company);
}

.project-reason-relation__party-illust {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    width: 100%;
    height: 150px;
}

.project-reason-relation__party-illust img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-reason-relation__party-name {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.04em;
    text-align: center;
    color: var(--color-text);
}

.project-reason-relation__party-arrow {
    position: relative;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
    margin: 0 auto;
    width: 22px;
    height: 6px;
    background-color: var(--color-flow-arrow);
}

.project-reason-relation__party-arrow::before,
.project-reason-relation__party-arrow::after {
    content: '';
    position: absolute;
    top: 50%;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.project-reason-relation__party-arrow::before {
    right: 100%;
    border-right: 13px solid var(--color-flow-arrow);
}

.project-reason-relation__party-arrow::after {
    left: 100%;
    border-left: 13px solid var(--color-flow-arrow);
}

.project-reason-relation__share-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: start;
    gap: 8px;
    margin: 22px 90px 0;
}

.project-reason-relation__share-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 6px;
}

.project-reason-relation__share-label {
    padding: 6px 12px;
    border: 1.5px solid var(--color-flow-label-border);
    border-radius: var(--radius-small);
    background-color: var(--color-white);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.02em;
    text-align: center;
    white-space: nowrap;
    color: var(--color-text);
}

.project-reason-relation__share-arrow {
    position: relative;
    width: 18px;
    height: 52px;
}

.project-reason-relation__share-arrow::before {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 4px;
    height: 39px;
    background-color: var(--color-flow-arrow-down);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.project-reason-relation__share-arrow::after {
    content: '';
    position: absolute;
    top: 39px;
    left: 50%;
    width: 0;
    height: 0;
    border-top: 13px solid var(--color-flow-arrow-down);
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.project-reason-relation__share-item--01 .project-reason-relation__share-arrow {
    -webkit-transform: rotate(-26deg);
    transform: rotate(-26deg);
}

.project-reason-relation__share-item--02 .project-reason-relation__share-arrow {
    -webkit-transform: rotate(-8deg);
    transform: rotate(-8deg);
}

.project-reason-relation__share-item--03 .project-reason-relation__share-arrow {
    -webkit-transform: rotate(8deg);
    transform: rotate(8deg);
}

.project-reason-relation__share-item--04 .project-reason-relation__share-arrow {
    -webkit-transform: rotate(26deg);
    transform: rotate(26deg);
}

.project-reason-relation__goal {
    position: relative;
    margin-top: -18px;
    padding-bottom: 30px;
}

.project-reason-relation__goal-illust {
    margin: 0 auto;
    width: 700px;
}

.project-reason-relation__goal-illust img {
    display: block;
    width: 100%;
}

.project-reason-relation__goal-body {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10px;
}

.project-reason-relation__goal-title {
    padding: 12px 52px 16px;
    border-radius: var(--radius-round);
    background-color: var(--color-flow-goal);
    font-size: 44px;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 0.06em;
    color: var(--color-white);
    -webkit-box-shadow: 0 6px 16px rgba(233, 150, 84, 0.28);
    box-shadow: 0 6px 16px rgba(233, 150, 84, 0.28);
}

.project-reason-relation__goal-text {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.18em;
    color: var(--color-flow-goal-text);
}

@media (max-width: 1024px) {

    .project-reason-relation__flow {
        margin-top: 40px;
    }

    .project-reason-relation__party-list {
        -ms-grid-columns: 1fr 40px 1fr 40px 1fr;
        grid-template-columns: 1fr 40px 1fr 40px 1fr;
    }

    .project-reason-relation__party {
        gap: 8px;
        padding: 12px 10px 10px;
    }

    .project-reason-relation__party-illust {
        height: 110px;
    }

    .project-reason-relation__party-name {
        font-size: 15px;
    }

    .project-reason-relation__party-arrow {
        width: 16px;
        height: 5px;
    }

    .project-reason-relation__party-arrow::before,
    .project-reason-relation__party-arrow::after {
        border-top-width: 7px;
        border-bottom-width: 7px;
    }

    .project-reason-relation__party-arrow::before {
        border-right-width: 9px;
    }

    .project-reason-relation__party-arrow::after {
        border-left-width: 9px;
    }

    .project-reason-relation__share-list {
        margin: 20px 24px 0;
    }

    .project-reason-relation__share-label {
        padding: 5px 8px;
        font-size: 13px;
    }

    .project-reason-relation__share-arrow {
        height: 44px;
    }

    .project-reason-relation__share-arrow::before {
        height: 33px;
    }

    .project-reason-relation__share-arrow::after {
        top: 33px;
        border-top-width: 11px;
        border-right-width: 8px;
        border-left-width: 8px;
    }

    .project-reason-relation__goal-illust {
        width: 100%;
        max-width: 700px;
    }

    .project-reason-relation__goal-title {
        padding: 10px 36px 14px;
        font-size: 34px;
    }

    .project-reason-relation__goal-text {
        font-size: 16px;
    }
}

.project-reason-support .component-section-title__main {
    text-wrap: balance;
}

.project-reason-support__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
    margin-top: 40px;
}

.project-reason-support__item {
    padding: 32px 20px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-reason-support__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--color-border-divider);
}

.project-reason-support__number {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    background-color: var(--color-background-blue);
    font-family: var(--font-english);
    font-size: 23px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--color-main-dark);
}

.project-reason-support__title {
    min-width: 0;
    font-size: 17px;
    font-weight: 500;
    line-height: 1.45;
    letter-spacing: 0;
    text-wrap: balance;
    color: var(--color-main-darkest);
}

.project-reason-support__body {
    margin-top: 14px;
}

.project-reason-quality__chart {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 476px minmax(0, 1fr);
    grid-template-columns: minmax(0, 1fr) 476px minmax(0, 1fr);
    row-gap: 56px;
    margin: 56px auto 0;
    width: 98%;
    max-width: 1200px;
}

.project-reason-quality__illust {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1 / 4;
    -ms-grid-row-align: center;
    align-self: center;
}

.project-reason-quality__illust img {
    display: block;
    width: 100%;
}

.project-reason-quality__point {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 18px;
}

.project-reason-quality__point--01 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    margin-left: 54px;
}

.project-reason-quality__point--02 {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 1;
    grid-row: 1;
}

.project-reason-quality__point--03 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
}

.project-reason-quality__point--04 {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 2;
    grid-row: 2;
    margin-left: 48px;
}

.project-reason-quality__point--05 {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 3;
    grid-row: 3;
    margin-left: 40px;
}

.project-reason-quality__point--06 {
    -ms-grid-column: 3;
    grid-column: 3;
    -ms-grid-row: 3;
    grid-row: 3;
    margin-left: 4px;
}

.project-reason-quality__point-icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 96px;
}

.project-reason-quality__point-icon img {
    display: block;
    width: 100%;
}

.project-reason-quality__point-body {
    min-width: 0;
    padding-top: 16px;
}

.project-reason-quality__point-title {
    font-size: 19px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0;
    color: var(--color-main-darkest);
}

.project-reason-quality__point-text {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.75;
    letter-spacing: 0;
    color: var(--color-text);
}

.project-reason-quality__point::after {
    content: '';
    position: absolute;
    border-top: 2px dashed var(--color-accent-circle);
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

.project-reason-quality__point--01::after {
    top: 83px;
    left: 292px;
    width: 82px;
    -webkit-transform: rotate(40deg);
    transform: rotate(40deg);
}

.project-reason-quality__point--02::after {
    top: 136px;
    left: -60px;
    width: 96px;
    -webkit-transform: rotate(-34deg);
    transform: rotate(-34deg);
}

.project-reason-quality__point--03::after {
    top: 67px;
    left: 286px;
    width: 84px;
}

.project-reason-quality__point--04::after {
    top: 60px;
    left: -75px;
    width: 88px;
}

.project-reason-quality__point--05::after {
    top: 48px;
    left: 285px;
    width: 71px;
    -webkit-transform: rotate(-28deg);
    transform: rotate(-28deg);
}

.project-reason-quality__point--06::after {
    top: 7px;
    left: -45px;
    width: 67px;
    -webkit-transform: rotate(24deg);
    transform: rotate(24deg);
}

@media (max-width: 1200px) {

    .project-reason-quality__chart {
        -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 32px 24px;
        margin-top: 48px;
        width: 92%;
        max-width: 1000px;
    }

    .project-reason-quality__illust {
        grid-column: 1 / -1;
        grid-row: auto;
        margin-right: auto;
        margin-left: auto;
        max-width: 460px;
    }

    .project-reason-quality__point--01,
    .project-reason-quality__point--02,
    .project-reason-quality__point--03,
    .project-reason-quality__point--04,
    .project-reason-quality__point--05,
    .project-reason-quality__point--06 {
        grid-column: auto;
        grid-row: auto;
        margin-left: 0;
    }

    .project-reason-quality__point::after {
        content: none;
    }
}

@media (max-width: 599px) {

    .project-reason-quality__chart {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        margin-top: 32px;
    }

    .project-reason-quality__illust {
        max-width: 320px;
    }

    .project-reason-quality__point {
        gap: 14px;
    }

    .project-reason-quality__point-icon {
        width: 72px;
    }

    .project-reason-quality__point-body {
        padding-top: 8px;
    }

    .project-reason-quality__point-title {
        font-size: 17px;
    }
}

.project-reason-follow .component-photo-text__visual {
    width: 340px;
}

.project-reason-follow .component-photo-text__decoration {
    top: -34px;
    right: -34px;
    width: 100px;
}

@media (max-width: 1024px) {

    .project-reason-follow .component-photo-text__visual {
        width: 100%;
        max-width: 380px;
    }

    .project-reason-follow .component-photo-text__decoration {
        top: -26px;
        right: -10px;
        width: 84px;
    }
}

@media (max-width: 599px) {

    .project-reason-follow .component-photo-text__visual {
        max-width: 300px;
    }

    .project-reason-follow .component-photo-text__decoration {
        top: -20px;
        right: -6px;
        width: 68px;
    }
}

.project-reason-contact__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
}

@media (max-width: 1024px) {

    .project-reason-support__list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 599px) {

    .project-reason-relation__body,
    .project-reason-quality__body,
    .project-reason-contact__body,
    .project-reason-support__list {
        margin-top: 28px;
    }

    .project-reason-relation__phrase {
        font-size: 16px;
    }

    .page-reason .component-section-decoration--line-right {
        top: 74px;
    }

    .project-reason-relation__flow {
        margin-top: 32px;
    }

    .project-reason-relation__party-list {
        -ms-grid-columns: 1fr 24px 1fr 24px 1fr;
        grid-template-columns: 1fr 24px 1fr 24px 1fr;
    }

    .project-reason-relation__party {
        gap: 6px;
        padding: 10px 6px 8px;
        border-radius: var(--radius-medium);
    }

    .project-reason-relation__party-illust {
        height: 62px;
    }

    .project-reason-relation__party-name {
        font-size: 11px;
        letter-spacing: 0;
    }

    .project-reason-relation__party-arrow {
        width: 8px;
        height: 4px;
    }

    .project-reason-relation__party-arrow::before,
    .project-reason-relation__party-arrow::after {
        border-top-width: 5px;
        border-bottom-width: 5px;
    }

    .project-reason-relation__party-arrow::before {
        border-right-width: 6px;
    }

    .project-reason-relation__party-arrow::after {
        border-left-width: 6px;
    }

    .project-reason-relation__share-list {
        gap: 4px;
        margin: 16px 0 0;
    }

    .project-reason-relation__share-label {
        padding: 4px 4px;
        font-size: 10px;
        letter-spacing: 0;
        white-space: normal;
    }

    .project-reason-relation__share-arrow {
        width: 12px;
        height: 28px;
    }

    .project-reason-relation__share-arrow::before {
        width: 3px;
        height: 20px;
    }

    .project-reason-relation__share-arrow::after {
        top: 20px;
        border-top-width: 8px;
        border-right-width: 5px;
        border-left-width: 5px;
    }

    .project-reason-relation__goal {
        margin-top: -8px;
        padding-bottom: 18px;
    }

    .project-reason-relation__goal-body {
        gap: 6px;
    }

    .project-reason-relation__goal-title {
        padding: 7px 20px 9px;
        font-size: 22px;
        letter-spacing: 0.04em;
    }

    .project-reason-relation__goal-text {
        font-size: 12px;
        letter-spacing: 0.12em;
    }

    .project-reason-support__item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-reason-support__number {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .project-reason-support__head {
        gap: 10px;
    }

    .project-reason-contact__action {
        margin-top: 32px;
    }
}


/* ==================================================
  Project: 「転倒予防」のための福祉用具
  6セクション。本文は支給原稿のまま。
  原因の5項目は原稿の指示どおりタブ（component-tab）で切り替える
================================================== */

.project-fall-sign__body,
.project-fall-sign__list,
.project-fall-sign__note,
.project-fall-impact__body,
.project-fall-cause__lead,
.project-fall-combination__lead,
.project-fall-related__lead,
.project-fall-cause .component-tab,
.project-fall-combination__list {
    margin-top: 40px;
}

.project-fall-sign__text,
.project-fall-impact__text,
.project-fall-cause__text,
.project-fall-combination__text,
.project-fall-related__text,
.project-fall-contact__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-fall-impact__flow {
    margin-top: 40px;
}

.project-fall-impact__flow-item {
    position: relative;
    padding: 28px 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-background-blue);
}

.project-fall-impact__flow-item+.project-fall-impact__flow-item {
    margin-top: 52px;
}

.project-fall-impact__flow-item+.project-fall-impact__flow-item::before {
    content: '';
    position: absolute;
    top: -38px;
    left: 50%;
    width: 0;
    height: 0;
    border-top: 16px solid var(--color-main-pale);
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.project-fall-impact__flow-item--fall {
    background-color: var(--color-background-beige);
}

.project-fall-impact__flow-item--result {
    background-color: var(--color-background-beige);
}

.project-fall-impact__flow-note {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.6;
    text-align: center;
    color: var(--color-text-light);
}

.project-fall-impact__flow-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    color: var(--color-main-darkest);
}

.project-fall-impact__flow-item--fall .project-fall-impact__flow-title,
.project-fall-impact__flow-item--result .project-fall-impact__flow-title {
    color: var(--color-accent);
}

.project-fall-impact__flow-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
    margin-top: 16px;
}

.project-fall-impact__flow-text {
    padding: 8px 18px;
    border-radius: var(--radius-round);
    background-color: var(--color-white);
    font-size: 15px;
    line-height: 1.5;
    color: var(--color-text);
}

.project-fall-combination__item {
    padding: 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-fall-combination__item+.project-fall-combination__item {
    margin-top: 24px;
}

.project-fall-combination__title {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
    padding-left: 90px;
}

.project-fall-combination__num {
    position: absolute;
    top: 8px;
    left: 30px;
    background-color: var(--color-main-dark);
    color: #fff;
    font-size: 14px;
    aspect-ratio: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
}

.project-fall-combination__block {
    margin-top: 20px;
}

.project-fall-combination__block-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main-darkest);
}

.project-fall-combination__anxiety-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    margin-top: 12px;
}

.project-fall-combination__anxiety-item {
    position: relative;
    padding-left: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-fall-combination__anxiety-item::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-main);
}

.project-fall-combination__tool {
    margin-top: 10px;
    padding: 14px 20px;
    border-radius: var(--radius-small);
    background-color: var(--color-background-blue);
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-text);
}

.project-fall-combination__block .project-fall-combination__text {
    margin-top: 10px;
}

.project-fall-related__list {
    margin-top: 40px;
}

.project-fall-related__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 28px;
    padding: 24px 28px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-fall-related__item+.project-fall-related__item {
    margin-top: 20px;
}

.project-fall-related__list .project-fall-related__text {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.project-fall-related__item .component-arrow-button {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 420px;
}

@media (max-width: 1024px) {

    .project-fall-combination__item {
        padding: 28px 24px;
    }
    .project-fall-combination__title{
              padding-left: 75px;
    }
    .project-fall-combination__num {
        top: 9px;
        left: 20px;
        font-size: 12px;
        padding: 7px;
    }
}

@media (max-width: 599px) {

    .project-fall-sign .component-section-title--center {
        text-align: left;
    }

    .project-fall-sign__body,
    .project-fall-sign__list,
    .project-fall-sign__note,
    .project-fall-impact__body,
    .project-fall-impact__flow,
    .project-fall-cause__lead,
    .project-fall-cause .component-tab,
    .project-fall-combination__lead,
    .project-fall-combination__list,
    .project-fall-related__lead,
    .project-fall-related__list {
        margin-top: 28px;
    }

    .project-fall-impact__flow-item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-fall-impact__flow-item+.project-fall-impact__flow-item {
        margin-top: 44px;
    }

    .project-fall-impact__flow-item+.project-fall-impact__flow-item::before {
        top: -32px;
    }

    .project-fall-impact__flow-title {
        font-size: 18px;
    }

    .project-fall-impact__flow-list {
        gap: 8px;
    }

    .project-fall-impact__flow-text {
        padding: 6px 14px;
        font-size: 14px;
    }

    .project-fall-combination__item,
    .project-fall-related__item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-fall-related__item {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 16px;
    }

    .project-fall-combination__title {
        font-size: 17px;
    }

    .project-fall-combination__anxiety-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ==================================================
  Project: 「生活動作」を支える福祉用具
  5セクション。本文は支給原稿のまま。
  カードの作りは 10fall_prevention（組み合わせ例）と揃えている
================================================== */

.project-daily-scene .component-section-decoration--person-left {
    width: clamp(76px, calc(16.47vw - 92.8px), 118px);
}

.project-daily-sign__body,
.project-daily-sign__list,
.project-daily-sign__note,
.project-daily-motion__lead,
.project-daily-motion__list,
.project-daily-scene__lead,
.project-daily-scene__list,
.project-daily-scene__note,
.project-daily-faq .list-faq {
    margin-top: 40px;
}

.project-daily-sign__text,
.project-daily-motion__text,
.project-daily-scene__text,
.project-daily-contact__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-daily-sign__text+.project-daily-sign__text,
.project-daily-motion__text+.project-daily-motion__text,
.project-daily-contact__text+.project-daily-contact__text {
    margin-top: 16px;
}

.project-daily-scene__lead .project-daily-scene__text+.project-daily-scene__text {
    margin-top: 16px;
}

.project-daily-motion__item {
    padding: 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    border: 3px solid var(--color-flow-caremanager);
}

.project-daily-motion__item+.project-daily-motion__item {
    margin-top: 24px;
}

.project-daily-motion__title {
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-daily-motion__block {
    margin-top: 20px;
}

.project-daily-motion__block-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main-darkest);
}

.project-daily-motion__trouble-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 24px;
    margin-top: 12px;
}

.project-daily-motion__trouble-item {
    position: relative;
    padding-left: 16px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-daily-motion__trouble-item::before {
    content: '';
    position: absolute;
    top: 9px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-main);
}

.project-daily-motion__tool {
    margin-top: 10px;
    padding: 14px 20px;
    border-radius: var(--radius-small);
    background-color: var(--color-background-blue);
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-text);
}

.project-daily-motion__block .project-daily-motion__text {
    margin-top: 10px;
}

.project-daily-scene__subtitle {
    margin-top: 48px;
    padding-left: 14px;
    border-left: 4px solid var(--color-main);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text);
}

.project-daily-scene__list {
    margin-top: 28px;
}

.project-daily-scene__item {
    position: relative;
    padding: 28px 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-daily-scene__item+.project-daily-scene__item {
    margin-top: 52px;
}

.project-daily-scene__item+.project-daily-scene__item::before {
    content: '';
    position: absolute;
    top: -38px;
    left: 50%;
    width: 0;
    height: 0;
    border-top: 16px solid var(--color-main-pale);
    border-right: 13px solid transparent;
    border-left: 13px solid transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.project-daily-scene__number {
    font-family: var(--font-english);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;
    color: var(--color-main-soft);
}

.project-daily-scene__name {
    margin-top: 6px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-daily-scene__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 6px 16px;
    margin-top: 14px;
}

.project-daily-scene__label {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 4px 14px;
    border-radius: var(--radius-round);
    background-color: var(--color-background-blue);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main-darkest);
}

.project-daily-scene__value {
    font-size: 15px;
    line-height: 1.7;
    color: var(--color-text);
}

.project-daily-scene__item .project-daily-scene__text {
    margin-top: 14px;
}

@media (max-width: 1024px) {

    .project-daily-motion__item,
    .project-daily-scene__item {
        padding: 28px 24px;
    }
}

@media (max-width: 599px) {

    .project-daily-sign__body,
    .project-daily-sign__list,
    .project-daily-sign__note,
    .project-daily-motion__lead,
    .project-daily-motion__list,
    .project-daily-scene__lead,
    .project-daily-scene__note,
    .project-daily-faq .list-faq {
        margin-top: 28px;
    }

    .project-daily-motion__item,
    .project-daily-scene__item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-daily-motion__title,
    .project-daily-scene__name {
        font-size: 17px;
    }

    .project-daily-motion__trouble-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
    }

    .project-daily-scene__subtitle {
        margin-top: 36px;
        padding-left: 10px;
        border-left-width: 3px;
        font-size: 18px;
    }

    .project-daily-scene__list {
        margin-top: 20px;
    }

    .project-daily-scene__item+.project-daily-scene__item {
        margin-top: 44px;
    }

    .project-daily-scene__item+.project-daily-scene__item::before {
        top: -32px;
    }
}


/* ==================================================
  Project: サービス内容
  4セクション。本文は支給原稿のまま。
  「困りごとに合わせて福祉用具を探す」の中に、原稿のタブ①〜③を
  中見出し＋タブ（component-tab）の3組として並べている
================================================== */

.project-service-intro .component-section-decoration--line-right {
    top: auto;
    bottom: 100%;
    width: 177px;
    margin-bottom: 6px;
}

@media (max-width: 1024px) {

    .project-service-intro .component-section-decoration--line-right {
        width: 120px;
    }
}

@media (max-width: 599px) {

    .project-service-intro .component-section-decoration--line-right {
        width: 74px;
    }
}

.project-service-intro__body,
.project-service-contact__body {
    margin-top: 40px;
}

.project-service-intro__text,
.project-service-search__text,
.project-service-check__text,
.project-service-contact__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-service-intro__text+.project-service-intro__text,
.project-service-check__text+.project-service-check__text,
.project-service-contact__text+.project-service-contact__text {
    margin-top: 16px;
}

.project-service-search__group {
    margin-top: 56px;
}

.project-service-search__group+.project-service-search__group {
    margin-top: 72px;
}

.project-service-search__group-title {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    color: var(--color-main-darkest);
}

.project-service-search__group-lead {
    margin-top: 16px;
    text-align: center;
}

.project-service-search .component-tab {
    margin-top: 28px;
}

@media (max-width: 599px) {

    .project-service-intro__body,
    .project-service-contact__body {
        margin-top: 28px;
    }

    .project-service-search__group {
        margin-top: 40px;
    }

    .project-service-search__group+.project-service-search__group {
        margin-top: 56px;
    }

    .project-service-search__group-title {
        font-size: 17px;
    }

    .project-service-search__group-lead {
        margin-top: 12px;
        text-align: left;
    }

    .project-service-search .component-tab {
        margin-top: 20px;
    }
}


/* --------------------------------------------------
  大タブ（原稿のタブ①〜③）
  切り替えは js/service.js（.js-service-tab）。状態classは is-current。
  中タブ（common.js の .tabWrap）が付ける active とは名前が違う。
  common.js の .tabWrap は子孫検索のため入れ子にできず、大タブ側は別処理にしている
-------------------------------------------------- */

.project-service-search__tab {
    margin-top: 48px;
}

.project-service-search__tab-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.project-service-search__tab-button {
    border-radius: var(--radius-medium) var(--radius-medium) 0 0;
    background-color: var(--color-white);
    -webkit-box-shadow: 0 -2px 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 -2px 7px 0 rgba(160, 160, 160, 0.24);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
    text-align: center;
    color: var(--color-text);
    -webkit-transition:
        background-color var(--duration-fast) ease,
        color var(--duration-fast) ease;
    transition:
        background-color var(--duration-fast) ease,
        color var(--duration-fast) ease;
}

.project-service-search__tab-button a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100%;
    padding: 18px 16px;
}

.project-service-search__tab-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 10px;
}

.project-service-search__tab-icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
}

.project-service-search__tab-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-service-search__tab-label {
    min-width: 0;
}

@media (hover: hover) and (pointer: fine) {

    .project-service-search__tab-button:hover {
        background-color: var(--color-main-pale);
        color: var(--color-white);
    }

    .project-service-search__tab-button:hover a {
        color: var(--color-white);
        opacity: 1;
    }

    .project-service-search__tab-button:hover .project-service-search__tab-icon img,
    .project-service-search__button-icon img {
        opacity: 1;
    }

    .project-service-search__tab-button:hover .project-service-search__tab-icon img {
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1);
    }

    .component-tab__button:hover .project-service-search__button-icon img {
        -webkit-filter: brightness(0) invert(1);
        filter: brightness(0) invert(1);
    }
}

.project-service-search__tab-button.is-current {
    background-color: var(--color-main-darkest);
    color: var(--color-white);
}

.project-service-search__tab-button.is-current a {
    color: var(--color-white);
}

.project-service-search__tab-button.is-current .project-service-search__tab-icon img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}


.project-service-search__panel--action .component-tab__button {
    font-size: 14px;
}

.project-service-search__panel--action .project-service-search__button-icon {
    width: 30px;
    height: 30px;
}


.project-service-search__panel .component-tab__button a {
    padding: 8px 20px 8px 10px;
}

.project-service-search__button-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 5px;
}

.project-service-search__button-icon {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
}

.project-service-search__button-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.component-tab__button.active .project-service-search__button-icon img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.project-service-search__panel {
    display: none;
    padding: 32px;
    border-radius: 0 0 var(--radius-large) var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-service-search__panel.is-current {
    display: block;
    border-top: 3px solid var(--color-main-darkest);
}

.project-service-search__panel .component-tab__body {
    padding: 28px;
    border: 1px solid var(--color-border-frame);
    background-color: transparent;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.project-service-search__panel>.project-service-search__group {
    margin-top: 0;
}

.project-service-search__panel-lead {
    text-align: center;
}


/* --------------------------------------------------
  間取り図とピン（タブ①）
  画像はTOPのサービス紹介と同じ service_floorplan.webp。
  2026-08-27 に支給画像が「全体間取り（庭あり）」へ差し替わった（1442×1091）。
  家が約0.78倍に縮み位置も変わったため、ピンの top / left は旧値からの換算ではなく、
  新画像を目視して置き直している。画像を差し替えるときは同じく置き直す
-------------------------------------------------- */

.project-service-map {
    position: relative;
    margin-top: 18px;
}

.project-service-map__image {
    position: relative;
        max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.project-service-map__image img {
    width: 100%;
}

.project-service-map__pin {
    position: absolute;
    z-index: var(--z-index-base);
    width: 26px;
    height: 26px;
    color: var(--color-main-darkest);
    cursor: pointer;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.project-service-map__pin::before,
.project-service-map__pin::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    border: 2px solid currentColor;
    border-radius: 50%;
    pointer-events: none;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-animation: project-top-service-pin-ripple 2s ease-out infinite;
    animation: project-top-service-pin-ripple 2s ease-out infinite;
}

.project-service-map__pin::after {
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

.project-service-map__pin.is-current {
    z-index: calc(var(--z-index-base) + 1);
    color: var(--color-accent);
}

.project-service-map__pin-mark {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    border: 4px solid var(--color-white);
    border-radius: 50%;
    background-color: var(--color-main-darkest);
    -webkit-box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.2);
}

.project-service-map__pin.is-current .project-service-map__pin-mark {
    background-color: currentColor;
}

.project-service-map__pin--entrance {
    top: 52%;
    left: 33%;
}

.project-service-map__pin--corridor {
    top: 37%;
    left: 53%;
}

.project-service-map__pin--living {
    top: 57%;
    left: 63%;
}

.project-service-map__pin--table {
    top: 38%;
    left: 74%;
}

.project-service-map__pin--bedroom {
    top: 34%;
    left: 30%;
}

.project-service-map__pin--toilet {
    top: 9%;
    left: 59%;
}

.project-service-map__pin--bathroom {
    top: 6%;
    left: 53%;
}

.project-service-map__pin-label {
    display: none;
    position: absolute;
    top: 50%;
    width: 180px;
    padding: 8px 12px;
    border-radius: var(--radius-small);
    background-color: rgba(255, 255, 255, 0.92);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.project-service-map__pin.is-current .project-service-map__pin-label {
    display: block;
}

.project-service-map__pin-label::before {
    content: '';
    position: absolute;
    top: 50%;
    width: 18px;
    height: 1px;
    background-color: currentColor;
}

.project-service-map__pin--left .project-service-map__pin-label {
    right: calc(100% + 22px);
    text-align: right;
}

.project-service-map__pin--left .project-service-map__pin-label::before {
    left: 100%;
    margin-left: 2px;
}

.project-service-map__pin--right .project-service-map__pin-label {
    left: calc(100% + 22px);
}

.project-service-map__pin--right .project-service-map__pin-label::before {
    right: 100%;
    margin-right: 2px;
}

.project-service-map__pin-label-title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: currentColor;
}

.project-service-map__pin-label-text {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.5;
    color: var(--color-text);
}


/* --------------------------------------------------
  危険箇所の吹き出しと間取り図（タブ③）
  8か所の「注意する場所」は常時表示。支給デザイン③に合わせて、
  図の上に自由配置し、それぞれ対応するピンのすぐそばに置く。
  2026-08-27 の図の差し替えで、支給指示画像（赤枠）の座標は使えなくなった。
  現在の座標は「ピンと上下左右で向き合う／吹き出しどうしが重ならない／
  他の場所のピンを覆わない／図からはみ出さない」を満たす位置として置き直したもの。
  重なりの判定はPCの下限（1099px＝図999.3×756）で行っている（そこが最も窮屈なため）
-------------------------------------------------- */

.project-service-danger {
    margin-top: 18px;
    padding-bottom: 32px;
}

.project-service-danger__map {
    width: 100%;
}

.project-service-danger__side {
    display: block;
}

.project-service-danger__item {
    display: none;
    position: absolute;
    z-index: var(--z-index-base);
    width: 22%;
    padding: 12px 14px;
    border: 3px solid var(--color-border-frame);
    border-radius: var(--radius-small);
    background-color: var(--color-white);
    cursor: pointer;
    -webkit-transition:
        border-color var(--duration-fast) ease,
        background-color var(--duration-fast) ease;
    transition:
        border-color var(--duration-fast) ease,
        background-color var(--duration-fast) ease;
}

.project-service-danger__item.is-current {
    display: block;
    border-color: var(--color-accent);
}

@media (hover: hover) and (pointer: fine) {
    .project-service-danger__item:hover {
        background-color: var(--color-background-beige-light);
    }
}

.project-service-danger__title {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-main-darkest);
}

.project-service-danger__item.is-current .project-service-danger__title {
    color: var(--color-accent);
}

.project-service-danger__list {
    display: -ms-grid;
    display: grid;
    gap: 4px;
    margin-top: 8px;
}

.project-service-danger__list-item {
    position: relative;
    padding-left: 12px;
    font-size: 12px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-service-danger__list-item::before {
    content: '';
    position: absolute;
    top: 8px;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--color-main-darkest);
}

.project-service-danger__item.is-current .project-service-danger__list-item::before {
    background-color: var(--color-accent);
}

.project-service-danger__item--bathroom {
    top: 2.48%;
    left: 26.33%;
}

.project-service-danger__item--toilet {
    top: 2.22%;
    left: 63.67%;
}

.project-service-danger__item--corridor {
    top: 43.17%;
    left: 35.40%;
}

.project-service-danger__item--table {
    top: 44.17%;
    left: 72.24%;
}

.project-service-danger__item--bedroom {
    top: 13.88%;
    left: 2.45%;
}

.project-service-danger__item--living {
    top: 68.40%;
    left: 61.24%;
}

.project-service-danger__item--entrance {
    top: 48.48%;
    left: 6.33%;
}

.project-service-danger__item--outing {
    top: 77.47%;
    left: 21.67%;
}


.project-service-map--danger {
    margin-top: 0;
}


.project-service-map--danger .project-service-map__pin.is-current {
    z-index: var(--z-index-base);
    color: var(--color-accent-circle-dark);
}

.project-service-map--danger .project-service-map__pin.is-current .project-service-map__pin-mark {
    -webkit-box-shadow: 0 0 0 4px rgba(240, 131, 0, 0.28);
    box-shadow: 0 0 0 4px rgba(240, 131, 0, 0.28);
}

.project-service-map__pin--outing {
    top: 82%;
    left: 17%;
}


.project-service-map--danger .project-service-map__pin-mark::before {
    display: none;
    content: '';
    position: absolute;
    border-top: 2px dotted var(--color-main-darkest);
}

.project-service-map--danger .project-service-map__pin.is-current .project-service-map__pin-mark::before {
    display: block;
    border-color: currentColor;
}

.project-service-map--danger .project-service-map__pin {
    --service-danger-line: 48px;
}

.project-service-map--danger .project-service-map__pin--bedroom {
    --service-danger-line: 58px;
}

.project-service-map--danger .project-service-map__pin--living {
    --service-danger-line: 93px;
}

.project-service-map--danger .project-service-map__pin--bathroom .project-service-map__pin-mark::before,
.project-service-map--danger .project-service-map__pin--bedroom .project-service-map__pin-mark::before,
.project-service-map--danger .project-service-map__pin--entrance .project-service-map__pin-mark::before {
    top: 50%;
    right: 100%;
    width: var(--service-danger-line);
    margin-top: -1px;
    margin-right: 2px;
}

.project-service-map--danger .project-service-map__pin--toilet .project-service-map__pin-mark::before,
.project-service-map--danger .project-service-map__pin--outing .project-service-map__pin-mark::before {
    top: 50%;
    left: 100%;
    width: var(--service-danger-line);
    margin-top: -1px;
    margin-left: 2px;
}

.project-service-map--danger .project-service-map__pin--corridor .project-service-map__pin-mark::before,
.project-service-map--danger .project-service-map__pin--table .project-service-map__pin-mark::before,
.project-service-map--danger .project-service-map__pin--living .project-service-map__pin-mark::before {
    top: 100%;
    left: 50%;
    height: var(--service-danger-line);
    margin-top: 2px;
    margin-left: -1px;
    border-top: 0;
    border-left: 2px dotted var(--color-main-darkest);
}


/* --------------------------------------------------
  生活動作のイラスト帯とドット（タブ②）
  帯・ドットとも押すと中タブが切り替わる（script.js の initAreaMap）。
  選択中には is-current が付く
-------------------------------------------------- */

.project-service-action {
    margin-top: 28px;
}

.project-service-action__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
}

.project-service-action__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    height: 210px;
    overflow: hidden;
    border: 2px solid transparent;
    border-radius: var(--radius-small);
    cursor: pointer;
    -webkit-transition:
        flex-grow var(--duration-normal) ease,
        border-color var(--duration-fast) ease,
        -webkit-box-flex var(--duration-normal) ease;
    transition:
        flex-grow var(--duration-normal) ease,
        border-color var(--duration-fast) ease,
        -webkit-box-flex var(--duration-normal) ease;
    transition:
        flex-grow var(--duration-normal) ease,
        border-color var(--duration-fast) ease;
    transition:
        flex-grow var(--duration-normal) ease,
        border-color var(--duration-fast) ease,
        -webkit-box-flex var(--duration-normal) ease,
        -ms-flex-positive var(--duration-normal) ease;
}

.project-service-action__item.is-current {
    -webkit-box-flex: 1.6;
    -ms-flex-positive: 1.6;
    flex-grow: 1.6;
    border-color: var(--color-main-darkest);
}

.project-service-action__image {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
    min-height: 0;
}

.project-service-action__image img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top;
}

.project-service-action__mark {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    border: 2px solid var(--color-white);
    border-radius: 50%;
    background-color: var(--color-sub);
}

.project-service-action__mark::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    background-color: var(--color-white);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.4 3h3.2l-.7 11.4h-1.8z"/><circle cx="12" cy="19.4" r="1.9"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M10.4 3h3.2l-.7 11.4h-1.8z"/><circle cx="12" cy="19.4" r="1.9"/></svg>') no-repeat center / contain;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.project-service-action__label {
    padding: 8px 4px;
    background-color: var(--color-white);
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
    color: var(--color-text);
    -webkit-transition:
        background-color var(--duration-fast) ease,
        color var(--duration-fast) ease;
    transition:
        background-color var(--duration-fast) ease,
        color var(--duration-fast) ease;
}

.project-service-action__item.is-current .project-service-action__label {
    background-color: var(--color-main-darkest);
    color: var(--color-white);
}

@media (hover: hover) and (pointer: fine) {
    .project-service-action__item:hover {
        border-color: var(--color-main-pale);
    }
}

.project-service-action__dot-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 6px;
    margin-top: 16px;
}

.project-service-action__dot {
    position: relative;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
    height: 14px;
    cursor: pointer;
    -webkit-transition: flex-grow var(--duration-normal) ease, -webkit-box-flex var(--duration-normal) ease;
    transition: flex-grow var(--duration-normal) ease, -webkit-box-flex var(--duration-normal) ease;
    transition: flex-grow var(--duration-normal) ease;
    transition: flex-grow var(--duration-normal) ease, -webkit-box-flex var(--duration-normal) ease, -ms-flex-positive var(--duration-normal) ease;
}

.project-service-action__dot.is-current {
    -webkit-box-flex: 1.6;
    -ms-flex-positive: 1.6;
    flex-grow: 1.6;
}

.project-service-action__dot::before {
    content: '';
    position: absolute;
    top: 50%;
    right: -6px;
    left: 0;
    height: 1px;
    background-color: var(--color-main-pale);
}

.project-service-action__dot:first-child::before {
    left: 50%;
}

.project-service-action__dot:last-child::before {
    right: 50%;
}

.project-service-action__dot::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 12px;
    height: 12px;
    border: 2px solid var(--color-main-darkest);
    border-radius: 50%;
    background-color: var(--color-white);
    -webkit-transition: background-color var(--duration-fast) ease;
    transition: background-color var(--duration-fast) ease;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.project-service-action__dot.is-current::after {
    background-color: var(--color-main-darkest);
}


/* --------------------------------------------------
  選んだ項目の内容を出すカード
  タブ①（場所）・②（生活動作）・③（危険箇所）で共通に使う
-------------------------------------------------- */

.project-service-result__columns {
    display: -ms-grid;
    display: grid;
    /* -ms-grid-columns: 140px 20px minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 2.6fr);
    grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2.6fr); */
    grid-template-columns: 140px minmax(0, 1fr) minmax(0, 1fr);
    gap: 20px;
}

.project-service-result__profile {
    text-align: center;
}

.project-service-result__icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 108px;
    height: 108px;
    margin: 0 auto 14px;
    padding: 14px;
    border-radius: 50%;
    background-color: var(--color-background-light);
}

.project-service-result__icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-service-result__name {
    font-size: 24px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-service-result__lead {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
    color: var(--color-text);
}

.project-service-result__point-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    color: var(--color-main-darkest);
}

.project-service-result__point-text {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--color-text);
}

.project-service-result__point-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 20px;
    margin-top: 12px;
}

.project-service-result__point-item {
    position: relative;
    padding-left: 26px;
    font-size: 14px;
    line-height: 1.3;
    color: var(--color-text);
}

.project-service-result__point-item::before {
    content: '';
    position: absolute;
    top: 0px;
    left: 0;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background-color: var(--color-main-darkest);
}

.project-service-result__point-item::after {
    content: '';
    position: absolute;
    top: 1px;
    left: 1px;
    width: 16px;
    height: 16px;
    background-color: var(--color-white);
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 14.2 3.8 10l1.4-1.4L8 11.4l6.8-6.8L16.2 6z"/></svg>') no-repeat center / 16px 16px;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path d="M8 14.2 3.8 10l1.4-1.4L8 11.4l6.8-6.8L16.2 6z"/></svg>') no-repeat center / 16px 16px;
}

.project-service-result__tool {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    grid-column: 1 / -1;
}

.project-service-result__point-title--alert {
    color: var(--color-accent);
}

.project-service-result__point-list--alert .project-service-result__point-item::before {
    background-color: var(--color-accent);
}

.project-service-result__tool-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    color: var(--color-accent);
}

.project-service-result__tool-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr) 8px minmax(0, 1fr);
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 8px;
    margin-top: 14px;
}

.project-service-result__tool-item {
    padding: 10px 6px;
    border: 1px solid var(--color-border-frame);
    border-radius: var(--radius-small);
    text-align: center;
}

.project-service-result__tool-image {
    height: 74px;
}

.project-service-result__tool-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-service-result__tool-name {
    margin-top: 10px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-main-darkest);
}

.project-service-result__tool-text {
    margin-top: 4px;
    font-size: 10px;
    letter-spacing: 0.5px;
    line-height: 1.5;
    text-align: left;
    color: var(--color-text);
}

.project-service-result__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: center;
    margin-top: 30px;
}

@media (max-width: 1099px) {
    .project-service-danger {
        padding-bottom: 0;
    }

    .project-service-map--danger .project-service-map__pin-mark::before {
        content: none;
    }

    .project-service-danger__side {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 12px;
    }

    .project-service-danger__item {
        display: block;
        position: static;
        width: auto;
    }
}


@media (max-width: 1024px) {
    .project-service-search__tab-button {
        font-size: 16px;
    }

    .project-service-search__tab-button a {
        padding: 16px 10px;
    }

    .project-service-search__panel {
        padding: 28px 20px;
    }

    .project-service-map__pin-label,
    .project-service-map__pin.is-current .project-service-map__pin-label {
        display: none;
    }

    .project-service-danger__side {
        display: none;
    }

    .project-service-action__item {
        height: 180px;
    }

    .project-service-action__label {
        font-size: 12px;
    }

    .project-service-result__columns {
     /*    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
     grid-template-columns: repeat(2, minmax(0, 1fr)); */
        gap: 24px;
    }
    
    .project-service-result__point-list {
      -ms-grid-columns: minmax(0, 1fr);
      grid-template-columns: minmax(0, 1fr);
      gap: 10px 0;
    }

    .project-service-result__tool {
        grid-column: 1 / -1;
    }

    .project-service-result__profile {
        text-align: left;
    }

    .project-service-result__icon {
        margin-left: 0;
    }

    .project-service-search__tab-inner {
        gap: 8px;
    }

    .project-service-search__tab-icon {
        width: 22px;
        height: 22px;
    }
}

@media (max-width: 599px) {
    .project-service-search__tab {
        margin-top: 32px;
    }

    .project-service-search__tab-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 6px;
    }

    .project-service-search__tab-button {
        border-radius: var(--radius-medium);
        font-size: 15px;
    }

    .project-service-search__tab-button a {
        padding: 12px 10px;
    }

    .project-service-search__panel-list {
        margin-top: 6px;
    }

    .project-service-search__panel {
        padding: 20px 16px;
        border-radius: var(--radius-medium);
    }

    .project-service-search__panel.is-current {
        border-top: 0;
    }

    .project-service-search__panel-lead {
        text-align: left;
    }

    .project-service-search__panel .component-tab__body {
        padding: 20px 10px;
    }

    .project-service-search__panel .component-tab__button-list {
        -webkit-column-gap: 4px;
        -moz-column-gap: 4px;
        column-gap: 4px;
        row-gap: 12px;
    }

    .project-service-search__panel .component-tab__button {
        font-size: 13px;
        letter-spacing: 0;
    }

    .project-service-search__panel .component-tab__button a {
        padding: 3px 9px 3px 8px;
    }

    .project-service-search__button-inner {
        gap: 2px;
    }

    .project-service-search__panel .component-tab__button.active a::after {
        margin-top: 3px;
        width: 6px;
        height: 6px;
    }

    .project-service-search__button-icon {
        width: 26px;
        height: 30px;
    }

    .project-service-search__panel--action .project-service-search__button-icon {
        width: 25px;
        height: 25px;
    }

    .project-service-map {
        margin-top: 14px;
    }

    .project-service-map__pin {
        width: 20px;
        height: 20px;
    }

    .project-service-map__pin-mark {
        border-width: 3px;
    }

    .project-service-map__pin::before,
    .project-service-map__pin::after {
        -webkit-animation-name: project-service-pin-ripple-sp;
        animation-name: project-service-pin-ripple-sp;
    }

    .project-service-action__list {
        overflow-x: auto;
        padding-bottom: 4px;
    }

    .project-service-action__item {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 104px;
        flex: 0 0 104px;
        height: 156px;
    }

    .project-service-action__item.is-current {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 128px;
        flex: 0 0 128px;
    }

    .project-service-action__mark {
        top: 6px;
        right: 6px;
        width: 20px;
        height: 20px;
    }

    .project-service-action__dot.is-current {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    .project-service-result__columns {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .project-service-result__profile {
        text-align: center;
    }

    .project-service-result__icon {
        width: 88px;
        height: 88px;
        margin-bottom: 10px;
        margin-left: auto;
        padding: 10px;
    }

    .project-service-result__name {
        font-size: 20px;
    }

    .project-service-result__tool-list {
        -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-service-result__tool-name {
        font-size: 14px;
    }

    .project-service-result__tool-text {
        font-size: 12px;
    }

    .project-service-result__action {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-top: 24px;
    }
}

@media (prefers-reduced-motion: reduce) {

    .project-service-map__pin::before,
    .project-service-map__pin::after {
        -webkit-animation: none;
        animation: none;
    }
}


/* ==================================================
  Project: ご利用料金
  2セクション。どちらも component-tab の2枚組（原稿のタブ①②）。
  本文は支給原稿のまま。料金表は component-table--narrow
================================================== */

/* .project-price-delivery .component-tab__button {
    text-wrap: balance;
} */

.project-price-rental__body {
    margin-top: 40px;
}

.project-price-rental__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-price-rental__text+.project-price-rental__text {
    margin-top: 16px;
}

.project-price-rental .component-tab,
.project-price-delivery .component-tab {
    margin-top: 40px;
}

.project-price-rental .component-tab__button-list {
    -webkit-column-gap: 12px;
    -moz-column-gap: 12px;
    column-gap: 12px;
    row-gap: 12px;
}

.project-price-rental .component-tab__button a {
    border-radius: var(--radius-large);
    background-color: var(--color-white);
}

.project-price-rental .component-tab__button a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
}

.project-price-rental .component-tab__button a::before {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 34px;
    height: 30px;
    background-color: currentColor;
}

.project-price-rental .component-tab__button:nth-child(1) a::before {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 32" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h5"/><path d="M9 5v10h11"/><circle cx="14" cy="21" r="8"/><circle cx="14" cy="21" r="2"/><path d="M20 15l4 7"/><circle cx="28" cy="25" r="2.5"/><path d="M23 25h2.5"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 32" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 4h5"/><path d="M9 5v10h11"/><circle cx="14" cy="21" r="8"/><circle cx="14" cy="21" r="2"/><path d="M20 15l4 7"/><circle cx="28" cy="25" r="2.5"/><path d="M23 25h2.5"/></svg>') no-repeat center / contain;
}

.project-price-rental .component-tab__button:nth-child(2) a::before {
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 24" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7" cy="5" r="2.6"/><path d="M10 8l5 4h17"/><path d="M2 12h30"/><path d="M2 4v15M32 12v7"/><path d="M4 19h26"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 34 24" fill="none" stroke="black" stroke-width="2.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="7" cy="5" r="2.6"/><path d="M10 8l5 4h17"/><path d="M2 12h30"/><path d="M2 4v15M32 12v7"/><path d="M4 19h26"/></svg>') no-repeat center / contain;
}

/* .project-price-rental .component-tab__button a::after {
    content: '';
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 8px;
    height: 13px;
    background-color: currentColor;
    -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 13"><path d="M1.4 0 0 1.4 5.1 6.5 0 11.6 1.4 13 8 6.5z"/></svg>') no-repeat center / contain;
    mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 13"><path d="M1.4 0 0 1.4 5.1 6.5 0 11.6 1.4 13 8 6.5z"/></svg>') no-repeat center / contain;
}
 */
.project-price-rental__table-columns {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.project-price-rental__table-columns .component-tab__text.border{
      border: 1px solid var(--color-background-beige-card);
    margin-top: 10px;
    padding: 20px;
}

@media (max-width: 1024px) {
    .project-price-rental__table-columns {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 0;
    }

    .project-price-delivery .component-tab__button {
        width: 100%;
    }
    
    .project-price-rental .component-tab__button-list{
      row-gap: 22px;
    }
    
    .project-price-rental .component-tab__button{
      width: 100%;
    }
}

[data-element-id] .project-price-rental__inner .component-tab__item:first-of-type::before{
  content: "介護保険を使ったレンタル料金";
}

[data-element-id] .project-price-rental__inner .component-tab__item:nth-of-type(2)::before{
  content: "介護保険を使わないレンタル料金";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:first-of-type::before{
  content: "【暮らしの場面から探す】玄関";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:nth-of-type(2)::before{
  content: "【暮らしの場面から探す】廊下・階段";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:nth-of-type(3)::before{
  content: "【暮らしの場面から探す】リビング";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:nth-of-type(4)::before{
  content: "【暮らしの場面から探す】食卓";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:nth-of-type(5)::before{
  content: "【暮らしの場面から探す】寝室";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:nth-of-type(6)::before{
  content: "【暮らしの場面から探す】トイレ";
}

[data-element-id] .project-service-search__panel:first-of-type .component-tab__item:nth-of-type(7)::before{
  content: "【暮らしの場面から探す】浴室";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:first-of-type::before{
  content: "【生活動作から探す】起き上がる";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(2)::before{
  content: "【生活動作から探す】立ち上がる";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(3)::before{
  content: "【生活動作から探す】歩く";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(4)::before{
  content: "【生活動作から探す】移動する";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(5)::before{
  content: "【生活動作から探す】入浴する";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(6)::before{
  content: "【生活動作から探す】排せつする";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(7)::before{
  content: "【生活動作から探す】姿勢を保つ";
}

[data-element-id] .project-service-search__panel:nth-of-type(2) .component-tab__item:nth-of-type(8)::before{
  content: "【生活動作から探す】外出する";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:first-of-type::before{
  content: "【暮らしの危険箇所を確認する】玄関";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(2)::before{
  content: "【暮らしの危険箇所を確認する】廊下・階段";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(3)::before{
  content: "【暮らしの危険箇所を確認する】リビング";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(4)::before{
  content: "【暮らしの危険箇所を確認する】食卓";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(5)::before{
  content: "【暮らしの危険箇所を確認する】寝室";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(6)::before{
  content: "【暮らしの危険箇所を確認する】トイレ";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(7)::before{
  content: "【暮らしの危険箇所を確認する】浴室";
}

[data-element-id] .project-service-search__panel:nth-of-type(3) .component-tab__item:nth-of-type(8)::before{
  content: "【暮らしの危険箇所を確認する】移動・外出";
}

[data-element-id] .project-fall-cause__inner .component-tab__item:first-of-type::before{
  content: "段差";
}

[data-element-id] .project-fall-cause__inner .component-tab__item:nth-of-type(2)::before{
  content: "すべり";
}

[data-element-id] .project-fall-cause__inner .component-tab__item:nth-of-type(3)::before{
  content: "立ち上がり";
}

[data-element-id] .project-fall-cause__inner .component-tab__item:nth-of-type(4)::before{
  content: "夜間";
}

[data-element-id] .project-fall-cause__inner .component-tab__item:nth-of-type(5)::before{
  content: "支えの不足";
}


.project-price-rental__tab-text {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-size: 18px;
    text-align: left;
}

.project-price-rental__tab-char {
    display: inline-block;
    min-width: 1.55em;
    margin-right: 2px;
    padding: 2px 8px 4px;
    border-radius: 3px;
    text-align: center;
    letter-spacing: 0;
}

.project-price-rental__tab-char:last-of-type {
    margin-right: 4px;
}

.project-price-rental .component-tab__button a {
    border-color: var(--color-price-tab-private);
    color: var(--color-price-tab-private);
}

.project-price-rental .component-tab__button.active a {
    border-color: var(--color-price-tab-private);
    background-color: var(--color-price-tab-private);
    color: var(--color-white);
}

.project-price-rental__tab-char {
    color: var(--color-price-tab-private);
}

.project-price-rental .component-tab__button .project-price-rental__tab-char:nth-of-type(odd) {
    background-color: var(--color-price-tab-insurance-border);
}

.project-price-rental .component-tab__button .project-price-rental__tab-char:nth-of-type(even) {
    background-color: var(--color-price-tab-insurance);
}

.project-price-rental .component-tab__button.active .project-price-rental__tab-char:nth-of-type(even) {
    background-color: var(--color-white);
}

@media (hover: hover) and (pointer: fine) {

    .project-price-rental .component-tab__button:hover a {
        border-color: var(--color-price-tab-private);
        background-color: var(--color-price-tab-private);
        color: var(--color-white);
        opacity: 1;
    }

    .project-price-rental .component-tab__button:hover .project-price-rental__tab-char:nth-of-type(even) {
        background-color: var(--color-white);
    }
}

@media (max-width: 599px) {
    .project-price-rental__tab-text {
        font-size: 16px;
    }

    .project-price-rental .component-tab__button a {
        gap: 8px;
        padding: 12px 12px;
    }

    .project-price-rental .component-tab__button a::before {
        width: 26px;
        height: 23px;
    }
}

@media (max-width: 599px) {
    .project-price-rental__body {
        margin-top: 28px;
    }

    .project-price-rental .component-tab,
    .project-price-delivery .component-tab {
        margin-top: 28px;
    }
}

[data-element-id] .project-price-delivery .component-tab__item:first-of-type::before{
  content: "介護保険を使った送料（搬入・搬出料金）・受け取り方法";
}

[data-element-id] .project-price-delivery .component-tab__item:nth-of-type(2)::before{
  content: "介護保険を使わない送料（搬入・搬出料金）・受け取り方法";
}


/* ==================================================
  Project: 介護保険制度・福祉用具レンタルについて
  9セクションすべてが同じ文章要素（中見出し・小見出し・注記・箇条書き・品目）で
  できているため、セクションごとにBlockを分けず project-rental を使い回している。
  流れは component-step、STEP1〜3の詳細は component-accordion、
  要介護度は component-tab、困りごとは component-checklist--static を流用
================================================== */


.project-rental__body {
    margin-top: 40px;
}

.project-rental__body+.project-rental__body {
    margin-top: 56px;
}

.project-rental__subtitle {
    margin-top: 48px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.45;
    text-align: center;
    color: var(--color-main-darkest);
}

.project-rental__subtitle--left {
    text-align: left;
}

.project-rental__body>.project-rental__subtitle:first-child {
    margin-top: 0;
}

.project-rental__minor-title {
    margin-top: 32px;
    padding-left: 14px;
    border-left: 4px solid var(--color-main);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text);
}

.project-rental__table-title {
    margin-top: 20px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-main-darkest);
}

.project-rental__text {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-rental__note {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.8;
    color: var(--color-text-light);
}

.project-rental__note+.project-rental__note {
    margin-top: 4px;
}

.project-rental__list {
    display: -ms-grid;
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.project-rental__list-item {
    position: relative;
    padding-left: 16px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-rental__list-item::before {
    content: '';
    position: absolute;
    top: 12px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: var(--color-main);
}

.project-rental__order-list {
    display: -ms-grid;
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.project-rental__order-item {
    padding-left: 1.6em;
    text-indent: -1.6em;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-rental__item-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.project-rental__item-list-item {
    padding: 8px 15px;
    border: 2px solid var(--color-main-pale);
    border-radius: var(--radius-round);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    font-size: 14px;
    line-height: 1.6;
    color: var(--color-text);
}

.project-rental__tool-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 16px minmax(0, 1fr) 16px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 40px;
}

.project-rental__tool-item {
    padding: 16px 10px;
    border: 1px solid var(--color-border-frame);
    border-radius: var(--radius-small);
    background-color: #fff;
    text-align: center;
}

.project-rental__tool-image {
    height: 90px;
}

.project-rental__tool-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-rental__tool-name {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-main-darkest);
}

.project-rental__flow-list {
    display: -ms-grid;
    display: grid;
    gap: 26px;
    margin-top: 20px;
}

.project-rental__flow-item {
    position: relative;
    padding: 14px 20px;
    border-radius: var(--radius-small);
    background-color: var(--color-background-blue);
    font-size: 16px;
    line-height: 1.6;
    text-align: center;
    color: var(--color-text);
}

.project-rental__flow-item+.project-rental__flow-item::before {
    content: '';
    position: absolute;
    top: -20px;
    left: 50%;
    border-top: 10px solid var(--color-main-pale);
    border-right: 8px solid transparent;
    border-left: 8px solid transparent;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}

.project-rental__compare {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 16px;
    margin-top: 32px;
}

.project-rental__compare-item {
    min-width: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 1;
    flex-shrink: 1;
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
}

.project-rental__compare-item--before {
    -webkit-box-flex: 0.75;
    -ms-flex-positive: 0.75;
    flex-grow: 0.75;
}

.project-rental__compare-arrow {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.project-rental__compare-label {
    margin-bottom: 12px;
    color: var(--color-main-darkest);
    font-size: 18px;
    font-weight: 500;
    text-align: center;
}

.project-rental__compare-photo {
    overflow: hidden;
    border-radius: var(--radius-large);
}

.project-rental__compare-photo img {
    display: block;
    width: 100%;
    height: auto;
}

.project-rental__button-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 20px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 48px;
}

.project-rental__button-list .component-arrow-button {
    width: 100%;
}

.project-rental__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 40px;
}

.project-rental__type-list {
    margin-top: 40px;
}

.project-rental__type-item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 64px 24px minmax(0, 1fr);
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 0 24px;
    padding: 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-rental__type-item+.project-rental__type-item {
    margin-top: 24px;
}

.project-rental__type-number {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: var(--color-background-blue);
    font-family: var(--font-english);
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    color: var(--color-main-dark);
}

.project-rental__type-title {
    -ms-grid-column: 2;
    grid-column: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-height: 64px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-rental__type-body {
    grid-column: 1 / -1;
    margin-top: 4px;
}

.project-rental__type-body>.project-rental__text:first-child,
.project-rental__type-body>.project-rental__list:first-child {
    margin-top: 16px;
}

.project-rental .component-table,
.project-rental .component-step,
.project-rental .component-accordion,
.project-rental .component-checklist {
    margin-top: 20px;
}

.project-rental .component-tab {
    margin-top: 40px;
}

.project-rental__step-overview {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}

.project-rental__step-overview-item {
    position: relative;
}

.project-rental__step-overview-item:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -14px;
    z-index: 1;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-left: 12px solid var(--color-main-pale);
    -webkit-transform: translate(50%, -50%);
    transform: translate(50%, -50%);
}

.project-rental__step-overview-item a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    padding: 32px 24px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    text-align: center;
    -webkit-transition: box-shadow var(--duration-fast) ease;
    -webkit-transition: -webkit-box-shadow var(--duration-fast) ease;
    transition: -webkit-box-shadow var(--duration-fast) ease;
    transition: box-shadow var(--duration-fast) ease;
    transition: box-shadow var(--duration-fast) ease, -webkit-box-shadow var(--duration-fast) ease;
}

@media (hover: hover) and (pointer: fine) {

    .project-rental__step-overview-item a:hover {
        opacity: 1;
        -webkit-box-shadow: 0 0 14px 0 rgba(160, 160, 160, 0.32);
        box-shadow: 0 0 14px 0 rgba(160, 160, 160, 0.32);
    }

    .project-rental__step-overview-item a:hover .project-rental__step-overview-icon img {
        -webkit-transform: scale(1.06);
        transform: scale(1.06);
    }
}

.project-rental__step-overview-icon {
    width: 140px;
    margin-bottom: 16px;
}

.project-rental__step-overview-icon img {
    display: block;
    width: 100%;
    height: auto;
    -webkit-transition: -webkit-transform var(--duration-fast) ease;
    transition: -webkit-transform var(--duration-fast) ease;
    transition: transform var(--duration-fast) ease;
    transition: transform var(--duration-fast) ease, -webkit-transform var(--duration-fast) ease;
}

.project-rental__step-overview-number {
    margin-bottom: 8px;
    font-family: var(--font-english);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--color-main-dark);
}

.project-rental__step-overview-item--yellow .project-rental__step-overview-number {
    color: var(--color-accent-yellow-dark);
}

.project-rental__step-overview-item--orange .project-rental__step-overview-number {
    color: var(--color-accent-circle-dark);
}

.project-rental__step-overview-title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
    color: var(--color-text);
}

.project-rental__divider {
    margin: 50px 0 50px;
    border: 0;
    border-top: 3px dashed var(--color-border);
}

.project-rental__step-group .project-rental__subtitle {
    margin-top: 0;
}

.project-rental__step-group {
    scroll-margin-top: 100px;
}

.project-rental__step-group--yellow .project-rental__subtitle {
    color: var(--color-accent-yellow-dark);
}

.project-rental__step-group--orange .project-rental__subtitle {
    color: var(--color-accent-circle-dark);
}

.project-rental__step-group-number {
    font-family: var(--font-english);
}

.project-rental__step-group--blue .component-accordion__head.is-parent {
    background-color: var(--color-main-darkest);
}

.project-rental__step-group--yellow .component-accordion__head.is-parent {
    background-color: var(--color-accent-yellow-dark);
}

.project-rental__step-group--orange .component-accordion__head.is-parent {
    background-color: var(--color-accent-circle-dark);
}

.project-rental .component-accordion__head.is-parent .component-accordion__title {
    color: var(--color-white);
}

.project-rental .component-accordion__head.is-parent .component-accordion__icon img {
    -webkit-filter: brightness(0) invert(1);
    filter: brightness(0) invert(1);
}

.project-rental .component-accordion__title {
    color: var(--color-text);
}

.project-rental__accordion-number {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 26px;
    height: 26px;
    margin-right: 10px;
    vertical-align: -6px;
    -webkit-transform: translateY(-3px);
    transform: translateY(-3px);
    padding-top: 2px;
    border: 2px solid var(--color-accent-circle-dark);
    border-radius: 50%;
    background-color: var(--color-white);
    font-family: var(--font-english);
    font-size: 13px;
    font-weight: 700;
    color: var(--color-accent-circle-dark);
}

.project-rental__step-group+.project-rental__step-group {
    padding-top: 48px;
}


.project-rental__body>.component-step:first-child,
.project-rental__body>.component-checklist:first-child {
    margin-top: 0;
}

.project-rental .component-accordion {
    margin-top: 40px;
}

@media (max-width: 599px) {
    .project-rental__type-item {
        -ms-grid-columns: 52px 16px minmax(0, 1fr);
        grid-template-columns: 52px minmax(0, 1fr);
        gap: 0 16px;
    }

    .project-rental__type-number {
        width: 52px;
        height: 52px;
        font-size: 22px;
    }

    .project-rental__type-title {
        min-height: 52px;
    }

    .project-rental__body {
        margin-top: 28px;
    }

    .project-rental__body+.project-rental__body {
        margin-top: 40px;
    }

    .project-rental__subtitle {
        margin-top: 36px;
        font-size: 17px;
    }

    .project-rental__minor-title {
        margin-top: 24px;
        padding-left: 10px;
        border-left-width: 3px;
        font-size: 16px;
    }

    .project-rental__table-title {
        font-size: 15px;
    }

    .project-rental__text,
    .project-rental__list-item,
    .project-rental__order-item {
        font-size: 15px;
    }

    .project-rental__note {
        font-size: 13px;
    }

    .project-rental__item-list-item {
        padding: 6px 14px;
    }

    .project-rental__tool-list {
        -ms-grid-columns: minmax(0, 1fr) 12px minmax(0, 1fr);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        margin-top: 20px;
    }

    .project-rental__tool-name {
        font-size: 13px;
    }

    .project-rental__flow-item {
        font-size: 15px;
        text-align: left;
    }

    .project-rental__button-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
        margin-top: 36px;
    }

    .project-rental__action {
        margin-top: 32px;
    }

    .project-rental__step-overview {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }

    .project-rental__step-overview-item a {
        padding: 24px 20px;
    }

    .project-rental__step-overview-item:not(:last-child)::after {
        top: auto;
        right: auto;
        bottom: -16px;
        left: 50%;
        border-top: 14px solid var(--color-main-pale);
        border-right: 11px solid transparent;
        border-bottom: 0;
        border-left: 11px solid transparent;
        -webkit-transform: translate(-50%, 50%);
        transform: translate(-50%, 50%);
    }

    .project-rental__divider {
        margin: 28px 0 36px;
    }

    .project-rental__step-group+.project-rental__step-group {
        padding-top: 36px;
    }

    .project-rental__type-item {
        padding: 24px 20px;
        border-radius: var(--radius-medium);
    }

    .project-rental__type-number {
        font-size: 26px;
    }

    .project-rental__type-title {
        font-size: 17px;
    }

    .project-rental .component-tab {
        margin-top: 28px;
    }
}

/* ==================================================
  Project: ご利用環境の整備について（住宅改修サービスのご活用例／ご相談）
  2026-08-31 本人指示で追加。事例カードは component-step__item と同じ
  白背景・角丸・影（TOPで実在する部品から流用）
================================================== */
.project-home-environment-case__list {
    margin-top: 40px;
}

.project-home-environment-case__item {
    padding: 32px 40px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-home-environment-case__item+.project-home-environment-case__item {
    margin-top: 32px;
}

.project-home-environment-case__title {
    color: var(--color-main-darkest);
    font-size: 20px;
    font-weight: 500;
}

.project-home-environment-case__row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 32px;
    margin-top: 20px;
}

.project-home-environment-case__photo {
    position: relative;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 320px;
    padding: 0 0 50px 20px;
}

.project-home-environment-case__body {
    min-width: 0;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.project-home-environment-case__body>.project-home-environment-case__block:first-child {
    margin-top: 0;
}

.project-home-environment-case__photo-after {
    position: relative;
    overflow: hidden;
    border-radius: var(--radius-small);
}

.project-home-environment-case__photo-after img {
    display: block;
    width: 100%;
    height: auto;
}

.project-home-environment-case__photo-before {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 42%;
    max-width: 140px;
    border: 4px solid var(--color-white);
    border-radius: var(--radius-medium);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-home-environment-case__photo-before img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: calc(var(--radius-medium) - 4px);
}

.project-home-environment-case__photo-tag {
    position: absolute;
    top: 5px;
    left: 10px;
    color: var(--color-white);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.project-home-environment-case__photo-arrow {
    position: absolute;
    top: -14px;
    right: -14px;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

.project-home-environment-case__block {
    margin-top: 20px;
}

.project-home-environment-case__label {
    display: inline-block;
    padding: 4px 16px;
    border-radius: 9999px;
    background-color: var(--color-background-blue);
    color: var(--color-main-darkest);
    font-size: 14px;
    font-weight: 500;
}

.project-home-environment-case__text {
    margin-top: 8px;
}

.project-home-environment-contact__text {
    color: var(--color-text);
}

@media (max-width: 1024px) {
    .project-home-environment-case__item {
        padding: 28px 24px;
    }

    .project-home-environment-case__row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .project-home-environment-case__photo {
        width: 100%;
        max-width: 400px;
    }
}

@media (max-width: 599px) {
    .project-home-environment-case__list {
        margin-top: 28px;
    }

    .project-home-environment-case__item {
        padding: 24px 20px;
    }

    .project-home-environment-case__item+.project-home-environment-case__item {
        margin-top: 20px;
    }

    .project-home-environment-case__title {
        font-size: 18px;
    }

    .project-home-environment-case__row {
        gap: 20px;
        margin-top: 16px;
    }

    .project-home-environment-case__photo {
        max-width: none;
    }

    .project-home-environment-case__block {
        margin-top: 16px;
    }
}


/* ==================================================
  Project: ブログ（一覧・詳細）
  一覧は記事＋サイド（CATEGORY / ARCHIVE）の2カラム。骨格は layout-column が持つ。
  詳細の記事部分はお知らせ詳細と同じ list-news-detail を流用している
================================================== */

.project-blog .component-section-decoration--circle-right,
.project-blog-detail .component-section-decoration--circle-right {
    top: 20%;
}

.project-blog__body .list-blog {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1024px) {

    .project-blog__body .list-blog {
        -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-blog .component-section-decoration--circle-left,
    .project-blog .component-section-decoration--circle-right,
    .project-blog-detail .component-section-decoration--circle-left,
    .project-blog-detail .component-section-decoration--circle-right {
        z-index: -1;
        width: 48px;
        opacity: 0.5;
    }
}

@media (max-width: 599px) {}

.project-blog__body .component-pagination {
    margin-top: 48px;
}

.project-blog-detail__recommend {
    margin-top: 72px;
}

.project-blog-detail__recommend .list-blog {
    -ms-grid-columns: (minmax(0, 1fr))[3];
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 32px;
}

.project-blog-detail__recommend .list-blog__item:nth-child(4) {
    display: none;
}

.project-blog-detail__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 48px;
}

@media (max-width: 1024px) {
    .project-blog-detail__recommend .list-blog {
        -ms-grid-columns: (minmax(0, 1fr))[3];
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .project-blog-detail__recommend .list-blog__item:nth-child(4) {
        display: block;
    }
}

@media (max-width: 599px) {
    .project-blog__body .list-blog {
        margin-top: 28px;
    }

    .project-blog__body .component-pagination,
    .project-blog-detail__action {
        margin-top: 32px;
    }

    .project-blog-detail__recommend {
        margin-top: 48px;
    }

    .project-blog-detail__recommend .list-blog {
        margin-top: 24px;
        -ms-grid-columns: (minmax(0, 1fr))[1];
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}


/* ==================================================
  Project: お客様の声（一覧・詳細）
  一覧・レコメンドとも list-voice--grid（格子）。TOPの横スクロールとは別
================================================== */

.project-voice__body .component-pagination {
    margin-top: 48px;
}

.project-top-voice .list-voice__image,
.project-voice .list-voice__image,
.project-voice-detail__recommend .list-voice__image {
    border: 3px solid var(--color-background-beige);
}

.project-voice-detail .list-news-detail {
    margin-right: auto;
    margin-left: auto;
    max-width: 852px;
}

.project-voice-detail__profile {
    margin-top: 0;
}

.project-voice-detail__profile .component-photo-text__body {
    -ms-flex-item-align: start;
    align-self: flex-start;
}

.project-voice-detail__profile .component-photo-text__visual {
    width: 300px;
    align-self: flex-start;
}

.project-voice-detail__profile .component-photo-text__photo {
    border-radius: var(--radius-card);
    background-color: var(--color-white);
    border: 3px solid var(--color-background-beige);
}

.project-voice-detail__lb-icon {
    position: absolute;
    right: 16px;
    bottom: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    pointer-events: none;
}

.project-voice-detail__lb-icon::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-color: var(--color-main-darkest);
    -webkit-mask-image: url('/import/tenant_2/15ab41c28969219e39afae26cfa8a6dc');
    mask-image: url('/import/tenant_2/15ab41c28969219e39afae26cfa8a6dc');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

.list-news-detail__title+.project-voice-detail__comment {
    margin-top: 24px;
}

.project-voice-detail__comment--customer .project-voice-detail__comment-title {
    padding-bottom: 0;
    border-bottom: none;
}

.project-voice-detail__comment--customer .list-editor-content {
    position: relative;
    padding: 24px;
    border-radius: var(--radius-medium);
    background-color: var(--color-background-voice);
}

.project-voice-detail__comment--customer .list-editor-content::before {
    content: '';
    position: absolute;
    top: -14px;
    left: 32px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 10px 14px 10px;
    border-color: transparent transparent var(--color-background-voice) transparent;
}

.project-voice-detail__comment--staff {
    margin-top: 48px;
    padding: 24px;
    border: 2px solid var(--color-main-pale);
    border-radius: var(--radius-medium);
}

.project-voice-detail__comment-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
    font-size: 26px;
    font-weight: 700;
    line-height: 1.55;
    color: var(--color-main-darkest);
}

.project-voice-detail__comment-title img {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 40px;
    height: auto;
}

.project-voice-detail__comment-title+.list-editor-content {
    margin-top: 24px;
}

.project-voice-detail__recommend {
    margin-top: 72px;
}

.project-voice-detail__recommend .list-voice {
    margin-top: 32px;
}

.project-voice-detail__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 48px;
}

@media (max-width: 1024px) {

    .project-voice-detail__profile .component-photo-text__visual {
        width: 100%;
        max-width: 300px;
    }

    .project-voice-detail__comment-title {
        font-size: 22px;
    }
}

@media (max-width: 599px) {

    .project-voice__body .component-pagination,
    .project-voice-detail__action {
        margin-top: 32px;
    }

    .project-voice-detail__comment--customer .list-editor-content,
    .project-voice-detail__comment--staff {
        padding: 16px;
    }

    .project-voice-detail__comment--staff {
        margin-top: 32px;
    }

    .project-voice-detail__comment-title {
        gap: 8px;
        font-size: 20px;
    }

    .project-voice-detail__comment-title img {
        width: 32px;
    }

    .project-voice-detail__lb-icon {
        right: 12px;
        bottom: 12px;
        width: 36px;
        height: 36px;
    }

    .project-voice-detail__lb-icon::before {
        width: 16px;
        height: 16px;
    }

    .project-voice-detail__recommend {
        margin-top: 48px;
    }

    .project-voice-detail__recommend .list-voice {
        margin-top: 24px;
    }
}


/* ==================================================
  Project: サービス内容（詳細）
  「暮らしの場面」「生活動作」「暮らしの危険箇所」の23ページで共通利用する。
  10fall_prevention と同じ考え方で、見出しごとに section を分け、
  component-section-tint の交互（無地／--blue／--beige）で単調さを避ける
  （2026-08-31 本人指示によりカスコン運用をやめ静的23ページに変更）
================================================== */

.project-service-detail__decoration--voice {
    top: auto;
    bottom: 100%;
    width: 177px;
    margin-bottom: 6px;
}

.project-service-detail__mv {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 20px;
}

.project-service-detail__heading-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 120px;
    height: 120px;
}

.project-service-detail__heading-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-service-detail__section-body {
    margin: 32px auto 0;
    max-width: 852px;
}

.project-service-detail__text {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-service-detail__section-body>.project-service-detail__text:first-child {
    margin-top: 0;
}

.project-service-detail__list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 24px;
}

.project-service-detail__phrase-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 24px 20px;
    margin-top: 40px;
}

.project-service-detail__phrase {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 18px 32px;
    border: 3px solid var(--color-white);
    border-radius: var(--radius-medium);
    background-color: var(--color-white);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.75;
    text-align: center;
}

.project-service-detail__phrase::before {
    content: '';
    display: block;
    -webkit-box-flex: 0;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 52px;
    height: 44px;
    margin-top: -10px;
    margin-right: auto;
    margin-bottom: -6px;
    margin-left: auto;
    background: url('/import/tenant_2/fujiseni-kaigo.a-bisu.jp/html/image/lower/intro_icon_worry.webp') no-repeat center / contain;
}

.project-service-detail__list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 12px;
    padding: 10px 20px;
    border: 1px solid var(--color-border-divider);
    border-radius: var(--radius-round);
    background-color: var(--color-white);
    font-size: 17px;
    line-height: 1.875;
    color: var(--color-text);
}

.project-service-detail__list-item::before {
    content: '';
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: var(--color-main);
}

.project-service-detail__item-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr) 12px minmax(0, 1fr);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.project-service-detail__item-list-item {
    padding: 14px 8px;
    border: 1px solid var(--color-border-frame);
    border-radius: var(--radius-small);
    background-color: var(--color-white);
    text-align: center;
}

.project-service-detail__item-list-image {
    height: 64px;
}

.project-service-detail__item-list-image img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-service-detail__item-list-name {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;
    color: var(--color-main-darkest);
}

.project-service-detail__example-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.project-service-detail__example-list--triple {
    -ms-grid-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.project-service-detail__example-item {
    padding: 28px 32px;
    border-radius: var(--radius-large);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
}

.project-service-detail__example-head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    gap: 12px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--color-border-divider);
}

.project-service-detail__example-number {
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    font-family: var(--font-english);
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.05em;
    color: var(--color-main-soft);
}

.project-service-detail__example-title {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.45;
    color: var(--color-main-darkest);
}

.project-service-detail__example-text {
    margin-top: 14px;
    font-size: 15px;
    line-height: 1.75;
    color: var(--color-text);
}

.project-service-detail__recommend {
    margin: 72px auto 0;
    max-width: 852px;
}

.project-service-detail__recommend-list {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: minmax(0, 1fr) 20px minmax(0, 1fr) 20px minmax(0, 1fr);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    margin-top: 32px;
}

.project-service-detail__recommend-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 12px;
    padding: 20px 24px;
    border: 1px solid var(--color-border-frame);
    border-radius: var(--radius-medium);
    background-color: var(--color-white);
    -webkit-box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    box-shadow: 0 0 7px 0 rgba(160, 160, 160, 0.24);
    -webkit-transition: background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;
    transition: background-color var(--duration-fast) ease, border-color var(--duration-fast) ease;
}

.project-service-detail__recommend-body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.project-service-detail__recommend-icon {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-flex: 0;
    -ms-flex: none;
    flex: none;
    width: 40px;
    height: 40px;
    padding: 6px;
    border-radius: 50%;
    background-color: var(--color-background-light);
    -webkit-transition: background-color var(--duration-fast) ease;
    transition: background-color var(--duration-fast) ease;
}

.project-service-detail__recommend-icon img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
}

.project-service-detail__recommend-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--color-text);
    -webkit-transition: color var(--duration-fast) ease;
    transition: color var(--duration-fast) ease;
}

@media (hover: hover) and (pointer: fine) {

    .project-service-detail__recommend-item a:hover {
        opacity: 1;
    }

    .project-service-detail__recommend-item a:hover .project-service-detail__recommend-link {
        border-color: var(--color-main-dark);
        background-color: var(--color-main-dark);
    }

    .project-service-detail__recommend-item a:hover .project-service-detail__recommend-icon {
        background-color: var(--color-white);
    }

    .project-service-detail__recommend-item a:hover .project-service-detail__recommend-title {
        color: var(--color-white);
    }

    .project-service-detail__recommend-item a:hover .component-circle-arrow--fill {
        background-color: var(--color-white);
    }

    .project-service-detail__recommend-item a:hover .component-circle-arrow--fill::before {
        background-color: var(--color-main-dark);
    }
}

.project-service-detail__action {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 48px;
}

@media (max-width: 1024px) {
    .project-service-detail__recommend-list {
        -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .project-service-detail__decoration--voice {
        width: 120px;
    }
}

@media (max-width: 599px) {
    .project-service-detail__decoration--voice {
        width: 74px;
    }

    .project-service-detail__mv {
        gap: 12px;
    }

    .project-service-detail__heading-icon {
        width: 90px;
        height: 90px;
    }

    .project-service-detail__section-body {
        margin-top: 24px;
    }

    .project-service-detail__text,
    .project-service-detail__list-item {
        font-size: 15px;
    }

    .project-service-detail__list-item {
        gap: 7px;
    }

    .project-service-detail__list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .project-service-detail__phrase-list {
        gap: 20px 12px;
    }

    .project-service-detail__phrase {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        width: 48%;
        padding: 15px 10px;
        font-size: 16px;
        text-align: left;
    }

    .project-service-detail__phrase::before {
        margin-top: 0;
        margin-bottom: 0;
    }

    .project-service-detail__item-list {
        -ms-grid-columns: (minmax(0, 1fr))[2];
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    .project-service-detail__item-list-item {
        padding: 10px 6px;
    }

    .project-service-detail__item-list-image {
        height: 52px;
    }

    .project-service-detail__item-list-name {
        margin-top: 8px;
        font-size: 13px;
    }

    .project-service-detail__example-list,
    .project-service-detail__example-list--triple {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .project-service-detail__example-item {
        padding: 24px 20px;
    }

    .project-service-detail__example-title {
        font-size: 17px;
    }

    .project-service-detail__example-text {
        font-size: 14px;
    }

    .project-service-detail__recommend {
        margin-top: 48px;
    }

    .project-service-detail__recommend-list {
        -ms-grid-columns: minmax(0, 1fr);
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        margin-top: 24px;
    }

    .project-service-detail__action {
        margin-top: 32px;
    }
}


/* ==================================================
  Project: ご利用環境の整備について
  原稿が未支給のため本文は「準備中」のみ
================================================== */

.project-home-environment__body {}

.project-home-environment__text {
    font-size: 16px;
    line-height: 1.875;
    color: var(--color-text);
}

/*  */
@media(max-width:599px){
 .project-fall-cause .component-tab__button {
        min-width: calc((100% - 30px)/3);
    }
}


/* ==================================================
  見たまま編集画面（[data-element-id]）
  方針は common.css の同名セクションが正。ここはこのファイルの固有分だけ。
================================================== */

[data-element-id] .project-service-search__panel {
    display: block;
}

[data-element-id] .project-service-search__panel+.project-service-search__panel {
    margin-top: 32px;
}

[data-element-id] .project-first-area__card{
  display: flex;
}

[data-element-id] .project-service-map__pin-label{
  display: block;
}

[data-element-id] .project-service-danger__item{
  display: block;
}
