/* mainvisual */

main {
    font-family: 'Shippori Mincho', serif;
    background-color: #FEF4F4;
}


.about-page {
    background-image: url("../img/about/background.webp");
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    min-height: 100vh;
}

.mainvisual {
    position: relative;
}


.mainvisual__title {
    position: absolute;
    top: 17.6rem;
    left: 50%;
    transform: translateX(-50%);
    font-size: 5.4rem;
    color: #E95295;

    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
}

/* greeting */
.greeting {
    padding-top: 41.5rem;
    display: flex;
    gap: 5rem;
    margin-bottom: 19.2rem;
}

.greeting__content {
    width: 65rem;
}

.greeting__photo {
    width: 35rem;
    height: 24.5rem;
    margin-left: 12rem;
}

.greeting__title {
    font-size: 2.7rem;
    position: relative;
    padding-left: 1.5rem;
    display: inline-block;
    font-weight: 400;
    color: #333333;
}

.greeting__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.5rem;
    height: 2.7rem;
    background-color: #E95295;
}

.greeting__text {
    margin-top: 2rem;
    font-family: 'LINE Seed JP', sans-serif;
    font-size: 1.8rem;
    line-height: 3.6rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #333333;
}

.section {
    margin-left: 12rem;
    padding-bottom: 20rem;
}

.greeting {
    overflow: hidden;
}

.fade-up {
    opacity: 0;
    transform: translateY(24px);
    filter: blur(6px);
    transition:
        opacity 1.6s ease,
        transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
        filter 1.6s ease;
    will-change: opacity, transform, filter;
}

.fade-up.is-show {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

.greeting__text {
    line-height: 2;
}

/* アクセシビリティ対応 */
@media (prefers-reduced-motion: reduce) {
    .fade-up {
        opacity: 1;
        transform: none;
        filter: none;
        transition: none;
    }
}


/* company */

.company__title,
.contact__title,
.document__title {
    font-size: 2.7rem;
    position: relative;
    padding-left: 1.5rem;
    display: inline-block;
    line-height: 4rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #333333;
}


.company__title::before,
.contact__title::before,
.document__title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 0.5rem;
    height: 2.7rem;
    background-color: #E95295;
}

.company__table table {
    margin-top: 2rem;
    width: 104rem;
    border-collapse: collapse;
    border: 1px solid #CCCCCC;
    background-color: white;
    margin-bottom: 16rem;
}

.company__table th {
    font-size: 1.8rem;
    text-align: left;
    padding-left: 2rem;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
    border: 1px solid #CCCCCC;
    font-family: 'LINE Seed JP', sans-serif;
    line-height: 2.4rem;
    font-weight: 700;
    letter-spacing: 0;
    color: #333333;
    width: 15rem;

}

.company__table tr {
    font-size: 1.8rem;
    border: 1px solid #CCCCCC;
    padding-left: 2rem;
    font-family: 'LINE Seed JP', sans-serif;
    line-height: 3.6rem;
    font-weight: 400;
    letter-spacing: 0;
    color: #333333;

}

.company__table td {
    padding-left: 4rem;
}

/* contact */

.contact__table {
    margin-top: 2rem;
    width: 104rem;
    border-collapse: collapse;
    border: 1px solid #CCCCCC;
    margin-bottom: 16rem;
    background-color: white;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
}

.contact__table th {
    margin-top: 2rem;
    font-size: 1.8rem;
    text-align: left;
    padding-left: 2rem;
    padding-top: 1.8rem;
    padding-bottom: 1.8rem;
    border: 1px solid #CCCCCC;
    width: 19.4rem;
    font-weight: 400;


}

.contact__table tr {
    font-size: 1.8rem;
    border: 1px solid #CCCCCC;
    padding-left: 2rem;
    vertical-align: top;
}

.contact__table td {
    padding-left: 3rem;
    width: 85.6rem;
}

.contact__facility--kokura,
.contact__label--kokura {
    color: #515151;
}

.contact__label {
    font-size: 1.6rem;
}

.contact__facility--yasuragi,
.contact__label--yasuragi {
    color: #515151;
}

.contact__facility--komaki,
.contact__label--komaki {
    color: #515151;
}

.contact__table th {
    padding: 1.8rem 2rem;
    vertical-align: top;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    /* Bold */
}

.contact__table td {
    padding: 1.8rem 3rem;
    color: #515151;
}

.contact__table td p {
    margin: 0 0 1.6rem;
    font-weight: 900;
}

.contact__table td p:last-child {
    margin-bottom: 0;
}

.contact__table .contact__label {
    display: inline-block;
    margin-bottom: 0.7rem;
    font-weight: 700;
}

/* document */

.document__text {
    font-size: 1.8rem;
    margin-top: 1.8rem;
    margin-bottom: 5.6rem;
    font-family: 'LINE Seed JP', sans-serif;
}

.document__heading {
    font-size: 2.4rem;
    color: #E95295;
    margin-bottom: 0.8rem;
    font-family: 'LINE Seed JP', sans-serif;
    margin-top: 5.6rem;
}

.document__link {
    display: flex;
    align-items: center;
}

.document__icon {
    width: 10rem;
    height: auto;
}

.document__name {
    font-size: 1.8rem;
    font-family: 'LINE Seed JP', sans-serif;
}

.document {
    color: #333333;
}

.u-pc {
    display: inline;
}

/* SP用は非表示 */
.u-sp {
    display: none;
}

br.sp {
    display: none;
}

/* sp */
@media (max-width: 768px) {
    br.sp {
        display: inline;
    }

    .u-pc {
        display: none;
    }

    /* SP改行を表示 */
    .u-sp {
        display: inline;
    }

    .company__table tbody {
        width: 34.5rem;
    }

    .section {
        margin: 0 1.5rem;
    }

    .greeting {
        gap: 1rem;
        padding-top: 38.9rem;
    }

    /*mainvisual  */
    .mainvisual__title {
        font-size: 4rem;
    }

    /* greeting */
    .greeting {
        display: flex;
        flex-direction: column;
        margin-bottom: 16rem;
    }

    .greeting__photo {
        margin: 0 auto;
        order: 2;
    }

    .greeting__content {
        order: 1;
    }

    .greeting__title {
        font-size: 2.4rem;
        margin-bottom: 2rem;
    }

    .greeting__content {
        width: 34.5rem;
        margin: 0 auto;
    }

    .greeting__text {
        font-size: 1.6rem;
        margin-top: 0;
        margin-bottom: 6.9rem;
    }

    /* company */
    .company__table table,
    .contact__table {
        width: 34.5rem;
    }

    .company__table table {
        width: 100%;
        border: none;
        border-collapse: separate;
        border-spacing: 0;
        background: transparent;
        margin-bottom: 0;
    }

    .company__table tbody {
        display: block;
    }

    .company__table tr {
        display: block;
        background: #fff;
        padding-left: 0;
    }

    .company__table th {
        display: block;
        width: 100%;
        font-size: 1.6rem;
        padding: 1.8rem 1.5rem 1.9rem;
        border: none;
        border-bottom: 1px solid #CCCCCC;
        box-sizing: border-box;
    }

    .company__table td {
        display: block;
        width: 100%;
        padding: 1.8rem 1.5rem 1.9rem;
        border: none;
        box-sizing: border-box;
        font-size: 1.6rem;
    }

    .company__title,
    .contact__title,
    .document__title {
        font-size: 2.4rem;
    }

    /* contact */
    .contact__title {
        margin-top: 16rem;
    }

    .contact__table {
        width: 100%;
        border: none;
        border-collapse: separate;
        border-spacing: 0;
        background: transparent;
    }

    .contact__table tr {
        display: block;
        border: 1px solid #E5E5E5;
        background: #fff;
        padding-left: 0;
    }

    .contact__table th {
        display: block;
        width: 100%;
        padding: 1.8rem 2rem 1.9rem;
        border: none;
        border-bottom: 1px solid #E5E5E5;
        font-weight: 700;
        margin-top: 0;
        font-size: 1.6rem;
    }

    .contact__table td {
        display: block;
        width: 100%;
        padding: 1.8rem 2rem 1.9rem;
        border: none;
    }

    .contact__table td p {
        margin-bottom: 1.7rem;
    }

    .contact__table td p:last-child {
        margin-bottom: 0;
    }

    .contact__table .contact__label {
        display: inline-block;
        margin-bottom: 0.6rem;
        font-size: 1.4rem;
    }

    .about-page p {
        font-size: 1.6rem;
    }

    /* document */
    .document__text {
        font-size: 1.6rem;
    }

    .document__jyuuyou {
        margin-top: 5.7rem;
    }

    .document__heading {
        font-size: 2rem;
        margin-bottom: 1.6rem;
    }

    .document__name {
        font-size: 1.6rem;
    }

    .section {
        padding-bottom: 20.7rem;
    }

    .document__section--juyou {
        margin-bottom: 2.3rem;
    }
}