@charset "utf-8";

/**
* Focinfo Page Specific Styles
*/

#focinfo-id {
    /**
    * Common Components
    */
    .focinfo__photo--body {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        gap: 20px;
        align-items: center;
        justify-content: center;
        margin-top: 30px;
        @media print, screen and (width >= 768px) {
            flex-direction: row;
        }
        /* 768pxとそれ以上 */
    }

    /**
    * Content Section
    */
    /* Specialty
    ------------------------ */
    #specialty {
        .specialty__history {
        }
        .specialty__slogan {
            padding: 10px;
            background: var(--color-beige);
            border-radius: 10px;
            @media print, screen and (width >= 576px) {
            }
            /* 576pxとそれ以上 */

            @media print, screen and (width >= 768px) {
                padding: 30px 0;
            }
            /* 768pxとそれ以上 */
            .specialty__slogan--text {
                font-weight: var(--font-family-base-bold);
                text-align: center;
                text-edge: trim-both cap alphabetic;
            }
        }
    }

    /* Flow
------------------------ */
    #flow {
        .process-flow {
            margin-top: 20px;
            background: var(--color-white);
            border-radius: 15px;
            box-shadow: 0 0 30px 0 var(--shadow--light-black);

            @media print, screen and (width >= 768px) {
                margin-top: 40px;
            }
            /* 768pxとそれ以上 */
            .process-flow__items {
                padding: 20px;
                border-radius: 30px;
                @media print, screen and (width >= 1200px) {
                    padding: 50px 0;
                }
                /* 1200pxとそれ以上 */
                .process-flow__item {
                    &:not(:last-child) {
                        margin-bottom: 30px;
                        @media print, screen and (width >= 768px) {
                            margin-bottom: 50px;
                        }
                        /* 768pxとそれ以上 */
                    }
                    .process-flow__item-title {
                        position: relative;
                        padding-bottom: 25px;
                        margin-bottom: 15px;
                        font-size: var(--fSize--24);
                        font-weight: var(--font-family-base-bold);
                        line-height: 1;
                        letter-spacing: 0.72px;
                        text-edge: trim-both cap alphabetic;
                        .process-flow__item-number {
                            margin-right: 25px;
                            line-height: 1;
                        }
                        .process-flow__item-txt-fix {
                            display: block;
                            margin: 0.5rem 0 0 3rem;
                            font-size: clamp(
                                var(--fSize--16),
                                0.538rem + 1.28vw,
                                var(--fSize--24)
                            );
                            letter-spacing: 0;
                            @media print, screen and (width >= 576px) {
                                display: initial;
                                margin: 0;
                                letter-spacing: 0.72px;
                            }
                            /* 576pxとそれ以上 */
                        }
                        &::before,
                        &::after {
                            position: absolute;
                            inset: auto auto 0 0;
                            display: inline-block;
                            flex-shrink: 0;
                            height: 2px;
                            content: '';
                        }
                        &::before {
                            content: none;
                            @media print, screen and (width >= 1200px) {
                                z-index: 1;
                                width: 135px;
                                content: '';
                                background-color: var(--color-yellow);
                            }
                        }
                        &::after {
                            z-index: 2;
                            width: 100%;
                            background-color: var(--color-dark-grey);
                            @media print, screen and (width >= 1200px) {
                                width: 850px;
                            }
                            /* 1200pxとそれ以上 */
                        }
                    }
                    .process-flow__item-title--01 {
                        &::before {
                            margin-left: -135px;
                        }
                    }
                    .process-flow__item-title--02 {
                        &::before {
                            margin-left: calc(-135px - -15px);
                        }
                    }
                    .process-flow__item-title--03 {
                        &::before {
                            margin-left: calc(-135px - -30px);
                        }
                    }
                    .process-flow__item-title--04 {
                        &::before {
                            margin-left: calc(-135px - -45px);
                        }
                    }
                    .process-flow__item-title--05 {
                        &::before {
                            margin-left: calc(-135px - -60px);
                        }
                    }
                    .process-flow__item-title--06 {
                        &::before {
                            margin-left: calc(-135px - -75px);
                        }
                    }
                    .process-flow__item-title--07 {
                        &::before {
                            margin-left: calc(-135px - -90px);
                        }
                    }
                    .process-flow__item-title--08 {
                        &::before {
                            margin-left: calc(-135px - -105px);
                        }
                    }
                    .process-flow__item-title--09 {
                        &::before {
                            margin-left: calc(-135px - -120px);
                        }
                    }
                    .process-flow__item-text {
                        text-edge: trim-both cap alphabetic;
                        @media print, screen and (width >= 768px) {
                            margin-left: 80px;
                        }
                        /* 768pxとそれ以上 */
                    }
                }
                .process-flow__item--note {
                    padding: 20px 0;
                    background: var(--color-dark-beige);
                    border-radius: 10px;
                    .process-flow__item-text {
                        margin: 0;
                        font-size: var(--fSize--24);
                        font-weight: var(--font-family-base-bold);
                        line-height: 1;
                        text-align: center;
                        letter-spacing: 0.72px;
                        text-edge: trim-both cap alphabetic;
                    }
                }
                .process-flow__item--final {
                    .process-flow__item-title {
                        color: var(--color-yellow);
                        &::after {
                            background-color: var(--color-yellow);
                        }
                    }
                }
            }
        }
    }

    /* Diagnosis
------------------------ */
    #diagnosis {
        .diagnosis__items {
            padding: 20px;
            background: var(--color-beige);
            border-radius: 5px;

            @media print, screen and (width >= 768px) {
                padding: 40px;
            }
            /* 768pxとそれ以上 */
            .diagnosis__item {
                &:not(:last-child) {
                    padding-bottom: 40px;
                    margin-bottom: 40px;
                    border-bottom: 10px solid var(--color-white);
                }
            }
        }
    }

    /* Brackets
------------------------ */
    #brackets {
        .appliances-gallery {
            position: relative;
            margin-top: 110px;
            .t3 {
                position: relative;
                z-index: 5;
            }
        }
        .gallery__bg-text {
            position: absolute;
            top: -10px;
            z-index: 2;
            @media print, screen and (width >= 768px) {
                inset: -53px -20px auto auto;
                /* top: -53px;
            right: -20px; */
                width: 80%;
            }
            /* 768pxとそれ以上 */
            @media print, screen and (width >= 992px) {
                inset: -52px -40px auto auto;
                /* top: -52px;
            right: -40px; */
                width: auto;
            }
            /* 992pxとそれ以上 */
        }
        .appliances-gallery__inner {
            position: relative;
            display: grid;
            grid-template-rows: auto;
            grid-template-columns: 1fr;
            row-gap: 20px;
            @media print, screen and (width >= 768px) {
                grid-template-columns: 1fr 1fr;
                gap: 20px;
            }
            /* 768pxとそれ以上 */
            @media print, screen and (width >= 1200px) {
                grid-template-columns: 1fr 1fr 1fr;
                gap: 30px;
            }
            .gallery__item {
                display: flex;
                flex-shrink: 0;
                flex-direction: column;
                gap: 20px;
                align-items: center;
                justify-content: center;
                padding: 30px;
                background: linear-gradient(
                    90deg,
                    rgb(245 255 248 / 1) 0%,
                    rgb(233 243 245 / 1) 40%
                );
                border-radius: 5px;
                .gallery__item--title {
                    font-size: var(--fSize--20);
                    font-weight: var(--font-family-base-bold);
                    line-height: 1;
                    text-edge: trim-both cap alphabetic;
                }
                .gallery__item--text {
                    /* margin: 30px 0; */
                }
                .gallery__item--image {
                    border-radius: 5px;
                }
            }
        }
    }

    /* Staff
------------------------ */
    #staff {
        .staff__inner {
            padding: 20px;
            background: var(--color-beige);
            border-radius: 5px;
            @media print, screen and (width >= 1200px) {
                /* padding: 60px 5px 60px 0; */
                padding: 60px 0;
            }
            /* 1200pxとそれ以上 */
            .staff__dr--lead {
                /* margin-bottom: 40px; */
                margin-bottom: clamp(
                    var(--fSize--20),
                    0.096rem + 3.21vw,
                    var(--fSize--40)
                );
            }
        }
        .staff__inner--item {
            &:not(:last-child) {
                margin-bottom: 70px;
                @media print, screen and (width >= 1200px) {
                    margin-bottom: 100px;
                }
            }
            /* .staff__dr--items {
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            @media print, screen and (width >= 1200px) {
                flex-direction: row;
            }
            .staff__dr--item {
                .staff__dr--career {
                    display: flex;
                    flex-direction: column;
                    gap: 0;
                    padding-bottom: 10px;
                    margin-bottom: 10px;
                    border-bottom: 1px solid var(--color-white);
                    @media print, screen and (width >= 768px) {
                        flex-direction: row;
                        gap: 40px;
                        padding-bottom: 0;
                        margin-bottom: 0;
                        border: none;
                    }
                    &:not(:last-child) {
                        @media print, screen and (width >= 768px) {
                        }
                    }
                    dt {
                        @media print, screen and (width >= 768px) {
                            width: 6.5rem;
                        }
                    }
                    dd {
                        margin-left: 1rem;
                        @media print, screen and (width >= 768px) {
                            margin-left: 0;
                        }
                    }
                }
            }
            .staff__dr--item-image {
                margin-bottom: 30px;
                @media print, screen and (width >= 1200px) {
                    margin-bottom: 0;
                }
                img {
                    border-radius: 0 150px 5px 0;
                    box-shadow: 0 0 30px 0 var(--shadow--light-black);
                }
            }
        } */
            .staff__dr--items {
                display: grid;
                row-gap: 20px;
                padding: 10px;
                background: var(--color-light-beige);
                /* border-radius: 20px; */
                border-radius: clamp(0.313rem, -0.553rem + 2.4vw, 1.25rem);
                @media print, screen and (width >= 992px) {
                    display: grid;
                    grid-template-columns: -webkit-max-content -webkit-max-content;
                    grid-template-columns: max-content max-content;
                    gap: 50px;
                    place-content: center;
                    padding: 25px 0 20px;
                }
                /* 992pxとそれ以上 */

                @media print, screen and (width >= 1200px) {
                }
                /* 1200pxとそれ以上 */

                .staff__dr--item {
                    @media print, screen and (width >= 992px) {
                        &:nth-child(1) {
                            grid-column: 1 / 3;
                        }
                        &:nth-child(2) {
                            grid-column: 3 / 5;
                        }
                        &:nth-child(3) {
                            /* grid-column: 2 / 3; */
                            grid-column: 3 / 4;
                        }
                        &:nth-child(4) {
                            /* grid-column: 3 / 4; */
                            grid-column: 4 / 5;
                        }
                    }
                    /* 992pxとそれ以上 */
                }
                .staff__dr--item-image {
                    border-radius: 0 150px 5px 0;
                    box-shadow: 0 0 30px 0 var(--shadow--light-black);
                }
                .staff__dr--career {
                    display: grid;
                    grid-template-columns: auto auto;
                    /* place-self: self-start; */
                    place-content: flex-start;
                    margin-bottom: 10px;
                    margin-bottom @media print,
                    screen and (width >= 992px) {
                        margin-bottom: 0;
                    }
                    /* 992pxとそれ以上 */
                    dt {
                        width: clamp(8rem, 7.077rem + 2.56vw, 9rem);
                    }
                }
            }
        }
        .staff__dh {
            .staff__inner--item {
                &::after {
                    display: inline-block;
                    width: 100px;
                    height: 1px;
                    content: '';
                    background: var(--color-black);
                }
            }
        }
    }
}
/* / #focinfo-id */
