@charset "UTF-8";

/* 確認済み75％版の文字サイズ。共通CSSを変更せず /care にのみ適用する。 */

html {
    font-size: 16px;
}

.logo-sub {
    font-size: 0.75rem;
}

.logo-title {
    font-size: 1.875rem;
}

#headerNav ul li a {
    font-size: 13.5px;
}

#mainHeader .recruit-corner-btn .btn-main-text {
    font-size: 15px;
}

#mainHeader .recruit-corner-btn .btn-sub-text {
    font-size: 8.25px;
}

.mobile-menu-close-btn {
    font-size: 0.9375rem;
}

.mobile-nav-link {
    font-size: 0.7875rem;
}

.mobile-menu-contact-btn {
    font-size: 0.7875rem;
}

.badge-title {
    font-size: 27px;
}

.badge-link {
    font-size: 13.5px;
}

.hero-section .vertical-title {
    font-size: 30px;
}

.side-dot-nav li a {
    font-size: 9.75px;
}

.hero-news-bar .news-label {
    font-size: 0.54rem;
}

.hero-news-bar .news-line-item {
    font-size: 0.63rem;
}

.hero-news-bar .news-date {
    font-size: 0.615rem;
}

.hero-news-bar .news-text {
    font-size: 0.615rem;
}

@media (max-width: 991px) {
    .badge-title {
        font-size: 15px;
    }

    .hero-section .vertical-title {
        font-size: 15px;
    }
}

.about-badge-link .badge-title-sub {
    font-size: 12px;
}

.badge-en {
    font-size: 9.75px;
}

.service-card .service-title {
    font-size: 16.5px;
}

.service-card .service-title .first-letter {
    font-size: 24px;
}

.service-tag {
    font-size: 8.25px;
}

.service-list li {
    font-size: 9.75px;
}

.service-list li.sub-address {
    font-size: 8.25px;
}

.child-info-box {
    font-size: 9px;
}

.service-card-btn {
    font-size: 0.675rem;
}

.service-card-btn i {
    font-size: 0.6375rem;
}

.recruit-bg-text {
    font-size: 75px;
}

.recruit-title {
    font-size: 21px;
}

.recruit-btn-text {
    font-size: 9.75px;
}

.recruit-btn-arrow {
    font-size: 8.25px;
}

@media (max-width: 991px) {
    .recruit-bg-text {
        font-size: 56.25px;
    }
}

.news-title-ja {
    font-size: 1.6875rem;
}

.news-title-en {
    font-size: 0.7125rem;
}

.news-cat-btn {
    font-size: 0.7125rem;
}

.news-date {
    font-size: 0.7125rem;
}

.news-badge {
    font-size: 0.555rem;
}

.news-title-text {
    font-size: 0.69rem;
}

.mark-arrow-circle {
    font-size: 0.54rem;
}

.news-view-all-btn {
    font-size: 0.69rem;
}

@media (max-width: 991px) {
    .news-title-ja {
        font-size: 1.3875rem;
    }

    .news-cat-btn {
        font-size: 0.615rem;
    }

    .news-date {
        font-size: 0.615rem;
    }

    .news-badge {
        font-size: 0.51rem;
    }

    .news-title-text {
        font-size: 0.6375rem;
    }

    .news-view-all-btn {
        font-size: 0.615rem;
    }
}

.contact-header .contact-title {
    font-size: 1.275rem;
}

.contact-subtext {
    font-size: 0.7875rem;
}

.contact-tel-link .tel-number {
    font-size: 2.55rem;
}

.contact-tel-link .tel-label {
    font-size: 1.0125rem;
}

.contact-hours-badge {
    font-size: 0.75rem;
}

@media (max-width: 991px) {
    .contact-tel-link .tel-number {
        font-size: 1.5rem;
    }
}

#mainFooter {
    font-size: 0.675rem;
}

.footer-recruit-arch .arch-title {
    font-size: 1.3875rem;
}

.footer-recruit-arch .arch-sub {
    font-size: 0.66rem;
}

.footer-logo-link .logo-sub {
    font-size: 0.54rem;
}

.footer-logo-link .logo-main {
    font-size: 1.05rem;
}

.footer-catch {
    font-size: 0.615rem;
}

.footer-address-info {
    font-size: 0.63rem;
}

.sitemap-heading {
    font-size: 0.7875rem;
}

.sitemap-list {
    font-size: 0.66rem;
}

.sitemap-list a.is-active::before,
.sitemap-col:first-child .sitemap-list a:hover::before {
    font-size: 0.45rem;
}

.sitemap-plus {
    font-size: 0.7125rem;
}

.sitemap-bottom-link {
    font-size: 0.7125rem;
}

.footer-copyright {
    font-size: 0.585rem;
}

@media (max-width: 991px) {
    .footer-recruit-arch .arch-title {
        font-size: 0.9375rem;
    }

    .footer-recruit-arch .arch-sub {
        font-size: 0.6375rem;
    }
}

.subpage-sticky-nav a {
    font-size: 0.7125rem;
}

.subpage-breadcrumb .breadcrumb {
    font-size: 0.5625rem;
}

.subpage-breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    font-size: 0.54rem;
}

.subpage-title {
    font-size: clamp(1.5rem, 2.4vw, 2.0625rem);
}

.subpage-title .title-sub {
    font-size: 0.6em;
}

.subpage-lead {
    font-size: 0.7125rem;
}

.visual-circle-title {
    font-size: clamp(1.5rem, 2.4vw, 2.0625rem);
}

.visual-circle-sub .sub-en {
    font-size: 0.7125rem;
}

@media (max-width: 991px) {
    .subpage-sticky-nav a {
        font-size: 0.66rem;
    }

    .subpage-title {
        font-size: clamp(0.9375rem, 3.6vw, 1.2375rem);
    }

    .subpage-lead {
        font-size: 0.615rem;
    }

    .visual-circle-title {
        font-size: clamp(0.975rem, 3.75vw, 1.275rem);
    }

    .visual-circle-sub .sub-en {
        font-size: 0.585rem;
    }
}

#lowerHeader .logo-catch {
    font-size: 0.6375rem;
}

#lowerHeaderNav ul li a {
    font-size: 11.25px;
}

#lowerHeader .recruit-corner-btn .btn-main-text {
    font-size: 16.5px;
}

#lowerHeader .recruit-corner-btn .btn-sub-text {
    font-size: 8.25px;
}

#lowerHeader .recruit-arrow-box {
    font-size: 9.75px;
}

@media (max-width: 991px) {
    #lowerHeader .logo-sub {
        font-size: 0.4875rem;
    }

    #lowerHeader .logo-title {
        font-size: 0.9375rem;
    }
}

.target-user-label {
    font-size: 0.6375rem;
}

.category-main-badge {
    font-size: clamp(0.825rem, 1.05vw, 1.0125rem);
}

.category-sub-text {
    font-size: 0.7875rem;
}

.card-spec-tag {
    font-size: 0.6375rem;
}

.facility-item-link .name {
    font-size: 0.7875rem;
}

.facility-item-link .arrow-circle {
    font-size: 0.54rem;
}

@media (max-width: 991px) {
    .facility-item-link .name {
        font-size: 0.69rem;
    }
}

.care-footer-sub {
    font-size: 1.0875vw;
}

.care-footer-title {
    font-size: 2.85vw;
}

.footer-tagline {
    font-size: 0.7875vw;
}

.footer-brand address {
    font-size: 0.7125vw;
}

.footer-sitemap h2 {
    font-size: 0.975vw;
}

.footer-sitemap a {
    font-size: 0.75vw;
}

.footer-bottom {
    font-size: 0.9vw;
}

.copyright {
    font-size: 0.6375vw;
}

.back-top {
    font-size: 3vw;
}

@media (max-width:991.98px) {

    .care-footer-sub {
        font-size: 13.5px;
    }

    .care-footer-title {
        font-size: 36px;
    }

    .footer-tagline {
        font-size: 9.75px;
    }

    .footer-brand address {
        font-size: 9.75px;
    }

    .footer-sitemap h2 {
        font-size: 11.25px;
    }

    .footer-sitemap a {
        font-size: 9px;
    }

    .footer-bottom {
        font-size: 9.75px;
    }

    .copyright {
        font-size: 8.25px;
    }
}

@media (max-width:767.98px) {
    .footer-sitemap h2 {
        font-size: 10.5px;
    }

    .footer-sitemap a {
        font-size: 9px;
    }

    .footer-bottom {
        font-size: 8.25px;
    }

    .back-top {
        font-size: 28.5px;
    }

    .copyright {
        font-size: 7.5px;
    }
}

.side-nav {
    font-size: 0.825vw;
}

.breadcrumb-nav {
    font-size: 0.6375vw;
}

.hero h1 {
    font-size: 2.205vw;
}

.hero h1 small {
    font-size: 1.1025vw;
}

.hero-copy p {
    font-size: 0.811125vw;
}

.section-heading p {
    font-size: 0.9vw;
}

.section-heading h2 {
    font-size: 1.425vw;
}

.section-heading small {
    font-size: 1.0875vw;
}

.service-group h3 {
    font-size: 0.9vw;
}

.service-link {
    font-size: 1.2vw;
}

.service-link::after {
    font-size: 1.125vw;
}

.service-link.featured::after {
    font-size: 1.575vw;
}

.long-name {
    font-size: 1.125vw;
}

.procedure > a {
    font-size: 2.25vw;
}

.external-arrow {
    font-size: 2.625vw;
}

.contact h2 {
    font-size: 1.35vw;
}

.contact p {
    font-size: 1.0125vw;
}

.phone {
    font-size: 4.05vw;
}

.phone small {
    font-size: 1.95vw;
}

.contact .hours {
    font-size: 1.275vw;
}

.modal-phone {
    font-size: 1.35rem;
}

@media (max-width:991.98px) {
    .hero-copy p {
        font-size: 9.45px;
    }

    .breadcrumb-nav {
        font-size: 7.5px;
    }

    .section-heading small {
        font-size: 1.1625vw;
    }

    .side-nav {
        font-size: 9px;
    }

    .service-link {
        font-size: 1.2375vw;
    }

    .service-group h3 {
        font-size: 1.0125vw;
    }
}

@media (max-width:767.98px) {
    .hero h1 {
        font-size: 22.8375px;
    }

    .hero h1 small {
        font-size: 12.6px;
    }

    .hero-copy p {
        font-size: 10.2375px;
    }

    .section-heading p {
        font-size: 9px;
    }

    .section-heading h2 {
        font-size: 15px;
    }

    .section-heading small {
        font-size: 11.25px;
    }

    .service-group h3 {
        font-size: 9.75px;
    }

    .service-link,.service-link.long-name {
        font-size: 11.25px;
    }

    .service-link::after {
        font-size: 15px;
    }

    .service-link.featured::after {
        font-size: 18.75px;
    }

    .procedure > a {
        font-size: 15px;
    }

    .external-arrow {
        font-size: 21px;
    }

    .contact h2 {
        font-size: 13.5px;
    }

    .contact p {
        font-size: 9px;
    }

    .phone {
        font-size: clamp(20.25px,5.85vw,36px);
    }

    .phone small {
        font-size: 12px;
    }

    .contact .hours {
        font-size: 10.5px;
    }
}

.transport-service-modal h2 {
    font-size: clamp(13.5px, 2.7vw, 18.75px);
}

.transport-service-close {
    font-size: 21px;
}

.transport-service-copy h3 {
    font-size: 12px;
}

.transport-service-copy p {
    font-size: 10.5px;
}

.transport-service-details {
    font-size: 10.5px;
}

body.care-page {
    --rail: 10.8vw;
    font-size: 12px;
}




body.care-page .front-breadcrumb {
    font-size: clamp(11.5px, .738vw, 15px);
}

@media (max-width: 991.98px) {
    body.care-page .front-breadcrumb {
        font-size: 11.5px;
    }
}

@media (min-width: 992px) {
    body.care-page .front-breadcrumb {
        margin-left: 20.8%;
        width: calc(79.2% - 24px);
    }

    body.care-page .page-side-navigation.side-nav {
        padding-left: 0;
        padding-right: 0;
    }

    body.care-page .page-side-navigation.side-nav > nav {
        width: max-content;
        max-width: 100%;
        margin-inline: auto;
        text-align: left;
    }

    body.care-page .page-side-navigation.side-nav nav a {
        font-size: clamp(14px, .95vw, 18px);
    }
}

/* 1020版の介護デザイン。文字・メニュー縮小版だけに適用する。 */
@media (min-width: 768px) {
    .hero {
        height: 29.5vw;
    }

    .home-services {
        margin-top: 4.4vw;
    }
}

.hero-photo {
    --hero-ring-band: 1.25vw;
    --hero-ring-gap: .8vw;
    width: 37.125vw;
    height: 37.125vw;
    top: -9.375vw;
    border: 1px solid #ff921a;
    outline: none;
    background: #fff;
    box-shadow: -1.5vw 1.5vw 3.5vw 1vw rgba(249, 233, 207, .65);
}

.hero-photo::before {
    content: "";
    position: absolute;
    inset: 2px 0 var(--hero-ring-gap) 2px;
    border-radius: 50%;
    background: #f8b344;
}

.hero-photo img {
    position: absolute;
    top: calc(var(--hero-ring-gap) * -.5);
    left: var(--hero-ring-band);
    width: calc(100% - var(--hero-ring-band));
    height: calc(100% - var(--hero-ring-band));
    border-radius: 50%;
}

.heading-icon {
    width: 2.975vw;
    height: 2.975vw;
}

.home-services .heading-icon {
    width: 3.5vw;
    height: 3.5vw;
}

.care-page .section-heading {
    margin-right: -2.4vw;
}

.care-page .service-section[aria-labelledby="residential-title"] > .section-heading,
.care-page .service-section[aria-labelledby="home-title"] > .section-heading {
    margin-bottom: max(20px, 2.3vw);
}

.care-page .section-heading h2 > span {
    padding: .4vw 1.4vw;
}

.care-page .stripe {
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='20' viewBox='0 0 14 20'%3E%3Cpath d='M1.5 16.5L12.5 5.5' fill='none' stroke='%23ffbe33' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: left center;
    background-size: 14px 20px;
}

.care-page .service-link::after {
    content: '';
    width: 1.1625vw;
    height: 1.1625vw;
    font-size: .84375vw;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 7L15 12L10 17' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transition: transform .2s ease, background-color .2s ease;
}

.care-page .service-link:is(:hover, :focus-visible) {
    color: var(--orange);
}

.care-page .service-link:is(:hover, :focus-visible)::after {
    background-color: var(--orange);
    transform: scale(1.5);
}

@media (prefers-reduced-motion: reduce) {
    .care-page .service-link::after {
        transition: none;
    }
}

.service-link.featured::after {
    width: 1.6875vw;
    height: 1.6875vw;
    font-size: 1.18125vw;
}

.procedure {
    padding: 4.7vw 12vw 5.3vw;
}

.procedure > a {
    min-height: 9vw;
    border-width: 7.5px;
    padding: 1.5vw;
    gap: 3.375vw;
}

.procedure img {
    width: 7.275vw;
    left: -4.275vw;
    bottom: -3.075vw;
}

.procedure .external-arrow {
    display: grid;
    place-items: center;
    width: 3.075vw;
    height: 3.075vw;
    font-size: 1.96875vw;
}

@media (min-width: 768px) {
    .procedure > a {
        width: 64%;
        min-height: 5.76vw;
        margin-inline: auto;
        border-width: 6px;
        padding: .96vw;
        gap: 2.16vw;
        font-size: 1.44vw;
    }

    .procedure img {
        width: 4.656vw;
        left: -2.736vw;
        bottom: -1.968vw;
    }

    .procedure .external-arrow {
        width: 1.968vw;
        height: 1.968vw;
        font-size: 1.26vw;
    }
}

/* お問い合わせは白い角丸カード。枠線を文字領域から離して配置する。 */
@media (min-width: 768px) {
    .care-page .footer-contact {
        min-height: 0;
        padding: 8vw 0;
    }

    .care-page .footer-contact-bubble {
        width: 22.4vw;
        height: 22.4vw;
    }

    .care-page .footer-contact-pink {
        width: 31.2vw;
        height: 31.2vw;
    }

    .care-page .footer-contact-green {
        width: 20.8vw;
        height: 20.8vw;
    }

    .care-page .footer-contact-card {
        width: 56.25vw;
        padding: 3.375vw 4.5vw;
        border-radius: 2.25vw;
    }

    .care-page .footer-contact-card h2 {
        gap: 2.025vw;
        margin-bottom: 1.29375vw;
        font-size: 1.0125vw;
    }

    .care-page .footer-contact-message {
        margin-bottom: .45vw;
        font-size: .759375vw;
    }

    .care-page .footer-contact-phone {
        font-size: 3.0375vw;
    }

    .care-page .footer-contact-phone small {
        font-size: 1.4625vw;
    }

    .care-page .footer-contact-hours {
        margin-top: .75vw;
        padding: .3vw 3.375vw;
        font-size: .95625vw;
    }
}

.care-page .contact-inner {
    width: 75vw;
    padding: 4.5vw 6vw;
    border: 1px solid #fae8d5;
    border-radius: 3vw;
    background: #fff;
    box-shadow: none;
}

@media (max-width: 767.98px) {
    .care-page .contact-inner {
        width: calc(100% - 36px);
        padding: 30px 20px;
        border-radius: 22px;
    }
}

@media (max-width: 767.98px) {
    .hero-photo {
        --hero-ring-band: 10px;
        --hero-ring-gap: 6px;
        width: 239.25px;
        height: 239.25px;
        top: auto;
        right: auto;
        margin: -15px -30px 0 0;
        border-width: 1px;
        box-shadow: -10px 10px 28px 8px rgba(249, 233, 207, .65);
    }

    .heading-icon {
        width: 30.6px;
        height: 30.6px;
    }

    .home-services .heading-icon {
        width: 36px;
        height: 36px;
    }

    .care-page .section-heading {
        margin-right: -22px;
    }

    .care-page .section-heading h2 > span {
        padding: 6px 12px;
    }

    .care-page .service-link::after {
        width: 18px;
        height: 18px;
        font-size: 16px;
    }

    .service-link.featured::after {
        width: 22px;
        height: 22px;
        font-size: 20px;
    }

    .procedure {
        padding: 55px 20px 45px 40px;
    }

    .procedure > a {
        min-height: 78px;
        padding: 16px 12px 16px 28px;
        border-width: 6px;
        gap: 12px;
    }

    .procedure img {
        width: 58px;
        left: -34px;
        bottom: -20px;
    }

    .procedure .external-arrow {
        width: 26px;
        height: 26px;
        font-size: 22px;
        flex-shrink: 0;
    }
}

/* スマートフォン版：写真と紹介文を左右に並べる。 */
@media (max-width: 767.98px) {








    body.care-page .front-breadcrumb {
        display: none;
    }

    .care-page .hero {
        display: block;
        height: 61vw;
        padding: 0;
    }

    .care-page .hero-photo {
        position: absolute;
        top: -4vw;
        right: -3vw;
        width: 70vw;
        height: 70vw;
        margin: 0;
        --hero-ring-band: 2.2vw;
        --hero-ring-gap: 1.4vw;
    }

    .care-page .hero-copy {
        padding: 31vw 0 0 8.5vw;
        max-width: 46vw;
    }

    .care-page .hero h1 {
        margin-bottom: 5vw;
        font-size: 4vw;
        white-space: nowrap;
    }

    .care-page .hero h1 small {
        font-size: 2vw;
    }

    .care-page .hero-copy p {
        font-size: clamp(8px, 1.85vw, 14px);
        line-height: 1.5;
    }

    .care-page .section-heading {
        gap: 4px;
        margin-right: 0;
        align-items: flex-end;
    }

    .care-page .section-heading .stripe {
        display: none;
    }

    .care-page .section-heading h2 {
        display: flex;
        align-items: center;
        gap: 2.5vw;
        font-size: clamp(12px, 3.5vw, 18px);
        white-space: nowrap;
    }

    .care-page .section-heading h2 > span {
        padding: 3px 2.5vw;
    }

    .care-page .section-heading small {
        display: inline;
        margin-top: 0;
        font-size: clamp(10px, 2.6vw, 14px);
    }

    .care-page .section-heading .heading-icon {
        width: 9vw;
        height: 9vw;
        max-width: 44px;
        max-height: 44px;
        margin: 0 0 2px;
    }
}

/* スマートフォンでは本文・補足・共通パーツの文字を最小14pxにする。 */
@media (max-width: 767.98px) {




    body.care-page .front-breadcrumb,
    .care-page .care-footer-sub,
    .care-page .footer-contact-message,
    .care-page .footer-contact-phone small,
    .care-page .footer-contact-hours,
    .care-page .transport-service-copy h3,
    .care-page .section-heading p,
    .care-page .service-group h3,
    .care-page .service-link,
    .care-page .service-link.long-name,
    .care-page .footer-tagline,
    .care-page .footer-brand address,
    .care-page .footer-sitemap h2,
    .care-page .footer-sitemap a,
    .care-page .footer-bottom,
    .care-page .copyright,
    .care-page .transport-service-copy p,
    .care-page .transport-service-details {
        font-size: 16px;
    }

    .care-page .transport-service-modal h2 {
        font-size: clamp(16px, 3vw, 21px);
    }

    .care-page .section-heading h2 {
        font-size: clamp(14px, 3.5vw, 18px);
    }

    .care-page .section-heading > div {
        min-width: 0;
    }

    .care-page .section-heading small {
        white-space: normal;
    }

    .care-page .hero {
        height: auto;
        min-height: 61vw;
        padding-bottom: 32px;
    }

    .care-page .hero-copy {
        max-width: none;
        padding: calc(66vw + 24px) 8.5vw 0;
    }

    .care-page .hero h1 {
        position: absolute;
        top: max(31vw, 150px);
        left: 8.5vw;
        margin-bottom: 0;
        font-size: clamp(20px, 5vw, 28px);
        text-shadow:
            0 0 3px #fff,
            0 0 6px #fff,
            1px 1px 2px #fff,
            -1px -1px 2px #fff;
    }

    .care-page .hero h1 small {
        font-size: clamp(16px, 4vw, 22px);
    }

    .care-page .hero-copy p {
        font-size: clamp(14px, 1.85vw, 14px);
    }

    .care-page .section-heading small {
        font-size: clamp(14px, 2.6vw, 14px);
    }

    .care-page .footer-bottom {
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .care-page .footer-sitemap > div,
    .care-page .footer-bottom > div {
        flex: 0 0 100%;
        width: 100%;
        padding: 0 15px;
    }

    .care-page .footer-bottom {
        row-gap: 20px;
    }

    .care-page .footer-brand .badges {
        display: none;
    }

    .care-page .footer-brand address {
        text-align: left;
    }

    .care-page .footer-tagline > span {
        display: block;
        white-space: nowrap;
    }

    .care-page .footer-tagline > .footer-tagline-gap {
        display: none;
    }

    .care-page .footer-mobile-badges {
        display: flex;
        width: 100%;
        margin-top: 0;
        padding: 0 15px 24px;
        gap: 16px;
    }
}

/* 福祉送迎サービスのモーダルを約1.25倍に拡大する。 */
.care-page .transport-service-modal .modal-dialog {
    max-width: 812.5px;
}

@media (min-width: 768px) {
    .care-page .transport-service-modal .modal-content {
        padding: 30px 25px;
    }

    .care-page .transport-service-modal h2 {
        margin: 0 15px 25px;
        padding-right: 15px;
        font-size: clamp(19px, 3.7vw, 26px);
    }

    .care-page .transport-service-close {
        width: 40px;
        height: 40px;
        font-size: 26.25px;
    }

    .care-page .transport-service-panel {
        padding: 42.5px 35px 32.5px;
        border-radius: 27.5px;
    }

    .care-page .transport-service-introduction {
        gap: 17.5px;
        margin-bottom: 35px;
    }

    .care-page .transport-service-copy h3 {
        margin: 15px 0 25px;
        font-size: 15px;
    }

    .care-page .transport-service-copy p {
        margin-bottom: 15px;
        font-size: 13.125px;
    }

    .care-page .transport-service-details {
        font-size: 15px;
    }

    .care-page .transport-service-details > div {
        grid-template-columns: 143.75px minmax(0, 1fr);
    }

    .care-page .transport-service-details dt {
        padding: 5px 15px 15px 10px;
    }

    .care-page .transport-service-details dd {
        padding: 5px 0 15px 25px;
    }

    .care-page .transport-service-details > div:last-child dt,
    .care-page .transport-service-details > div:last-child dd {
        padding-bottom: 0;
    }
}

/* ボーダー入り素材は全体を表示し、外側の影だけをCSSで補う。 */
.care-page .hero-photo-with-border {
    right: 0;
    border: 0;
    outline: none;
    background: transparent;
    overflow: visible;
    box-shadow: none;
}

.care-page .hero-photo-with-border::before {
    content: none;
}

.care-page .hero-photo-with-border img {
    position: static;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 0;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(-12px 8px 22px rgba(249, 213, 157, 0.28))
        drop-shadow(-24px 12px 42px rgba(249, 213, 157, 0.35));
}

