* {
    font-feature-settings: "palt";
    letter-spacing: 0.1rem;
}

.section-title {
    margin-bottom: 3rem;
}

.process__timeline {
    max-width: 1200px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    width: 100%;
    gap: 3rem;
}

.process-step {
    margin: 0 auto;
}

.process-step__marker {
    width: 40px;
    height: 40px;
    background-color: unset;
    border-radius: unset;
    display: unset;
    position: absolute;
    right: 10px;
    top: 10px;
    transform: translate(-50%);
    line-height: 1rem;
}

.process-step__number {
    color: #a0887930;
    font-size: 5rem;
    font-weight: normal;
    font-family: 'Noto Serif JP';
    font-style: italic;
}

.process-step__time {
    margin-bottom: var(--space-xs);
}

.process-step__image img {
    border-radius: 0.5rem;
    aspect-ratio: 1.618 / 1;
    object-fit: cover;
}

.price-table {
    width: 100%;
    border-radius: .5rem;
    overflow: unset;
    box-shadow: unset;
    border: 1px solid var(--gray);
    margin: 0 auto 6rem;
}

.price-table th:first-child {
    width: calc(100% / 3);
}

.price-table th, .price-table td {
    text-align: center;
}

.price-table th {
    background-color: var(--accent-dark);
    padding: 1rem;
}

.price-table .price-highlight::after {
    content: unset;
}

.price-table td:not(:first-child) {
    text-align: center;
    font-weight: unset;
    padding: 1rem;
    font-family: serif;
    letter-spacing: 0;
}

.price-table tr:nth-child(even) {
    background-color: unset;
}

.hero__badges .badge {
    border-radius: unset;
    font-size: 1.25rem;
    box-shadow:unset;
}

.animate-on-scroll.is-visible {
    border-radius: .5rem;
}

.faq-item__question {
    padding: 1rem;
    gap: 1.25rem;
}

.faq__list {
    max-width: 900px;
}

.faq-item__answer {
    display: flex;
    padding: 0 2rem 2rem;
    gap: 1.25rem;
    align-items: center;
    line-height: 1.5rem;
}

.cautions__content {
    max-width: 900px;
    box-shadow: unset;
    border: solid 1px;
}

.cautions__subtitle {
    border-bottom: solid;
    padding-bottom: .5rem;
}

.cautions__list li {
    padding: 0 0 0 1rem;
}

.cautions__list:last-of-type {
    margin: 0 auto;
}

.price-card {
    margin-left: auto;
    margin-right: auto;
    box-shadow: unset;
    border: solid 2px var(--accent-color) !important;
    border-radius: .5rem;
}

.price-card:hover {
    transform: unset;
    box-shadow: unset;
}

.price-card__header {
    padding: 1rem;
    background: var(--accent-color);
}

.price-card__badge {
    background: #d57933;
    position: relative;
    top: unset;
    right: unset;
    margin: 0 auto .5rem;
    display: inline-block;
}

.price-card__description {
    color: #fff;
    border: unset;
    padding: 0;
    margin: 0 auto;
}

.price-card__body {
    padding: 2rem;
}

.price-card__price {
    margin: 0 auto .5rem;
}

.price-card__amount {
    font-size: 2.5rem;
    letter-spacing: 0;
}

p.price-card__note {
    text-decoration: line-through;
}

.co2 .process__timeline {
    grid-template-columns: 1fr 1fr;
    margin: 0 auto 2rem;
}

.co2 .process1col {
    display: grid;
    gap: 2rem;
    grid-template-columns: 1fr .75fr;
   align-items: center;
      max-width: 1200px;
      margin: 0 auto;
}

.injection .price-table th:first-child {
    width: calc(100% / 2);
}



/* モバイル（767px以下）表示 */
@media (max-width: 767px) {

    section.concerns .grid.md\:grid-cols-3.gap-8.max-w-4xl.mx-aut,
    section.concerns .grid.grid-cols-1.md\:grid-cols-3.gap-8.max-w-5xl.mx-auto ,
    section.concerns .grid.md\:grid-cols-3.gap-8.max-w-4xl.mx-auto {
         grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 2rem;
    }

    section.concerns .overflow-hidden.rounded-full.w-32.h-32.mx-auto.mb-4 ,
    section.concerns .w-32.h-32.rounded-full.overflow-hidden.mb-4.transition-transform.duration-300.hover\:scale-105 ,
    section.concerns .overflow-hidden.rounded-full.w-32.h-32.mx-auto.mb-4 {
        width: 100%;
        height: auto;
    }

    section.concerns img.concern-image.w-full.h-full.object-cover.transition-transform.duration-300.group-hover\:scale-105 ,
    section.concerns img.w-full.h-full.object-cover {
        object-fit: contain;
    }


    section.features h3 {
        font-size: 1.5rem;
    }

    section.features .p-8.md\:p-12.flex.flex-col.justify-center {
        padding: 0;
    }

    section.features .p-8.md\:p-12.flex.flex-col.justify-center .mb-2 ,
    section.features .p-8.md\:p-12.flex.flex-col.justify-center .mb-3 {
        text-align: center;
        margin-top: 1rem;
    }

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

    p.price-card__description.mt-2 {
        display: none;
    }

    .co2 .process__timeline {
    grid-template-columns: 1fr;
}

.co2 .process1col {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
   align-items: unset;
}

.co2 .process1col p {
    text-align: justify;
}

.co2 .process1col .process-step__time {
    text-align: center;
}

    

}