/*================================================
  mainvisual
================================================*/

.page-mainvisual {
    background-image: url(../../image/factory/page-mainvisual-bg.jpg);
}

.factory > .container {
    max-width: 1380px;
}

/*================================================
  page-lead
================================================*/

.page-lead {
    color: var(--color-text-blue);
    padding-block: 0;
}

.page-lead h3 {
    border-bottom: 2px solid var(--color-text-blue);
}

.factory .section-radius {
    position: relative;
    padding-block: calc(var(--layout-gap) * 2);
    min-height: 250px;
}

.section-title-ja {
    font-size: 3.2rem;
}

.factory .section-radius::before {
    top: 0;
    background-size: cover;
    background-position: center;
}

.factory01 .section-radius::before {
    background-image: url(../../image/factory/factory-img1.jpg);
}

.factory01 {
    position: relative;
}

.factory01::after {
    content: '';
    position: absolute;
    top: 200px;
    width: 100%;
    height: 110%;
    z-index: -1;
    background-color: #F8F8F8;
}

/*================================================
  factory-list
================================================*/

.factory-list {
    margin-block: calc(var(--layout-gap) * 1);
    display: flex;
    gap: 5px;
}

.factory-item {
    position: relative;
}

.factory-item img {
    border-radius: 50%;
    aspect-ratio: 1/1;
    object-fit: cover;
}

.factory-item::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 50%;
    background-color: rgba(var(--color-white-rgb), .2);
    z-index: 1;
}

@media print,
screen and (min-width: 769px) {

    .section-title-ja {
        font-size: 5rem;
    }

    .factory .section-radius {
        min-height: 400px;
    }

    .factory-list {
        margin-block: calc(var(--layout-gap) * 2.5);
        gap: 40px;
    }

}

@media print,
screen and (min-width: 1200px) {

    .factory01 .section-radius::before {
        border-top-right-radius: 120px;
        border-bottom-right-radius: 120px;
        filter: drop-shadow(5px 5px 20px rgba(0, 0, 0, 0.2));
        max-width: calc(1360px + calc(50% - 680px));
    }

    .section-title-ja {
        font-size: 7rem;
    }

    .factory .section-radius {
        min-height: 715px;
    }

}

/*================================================
  equipment
================================================*/

.equipment {
    text-align: center;
}

.equipment-item {
    text-align: left;
}

.equipment-item table {
    background-color: var(--color-white);
    font-size: clamp(1rem, 0.7rem + 1.5vw, 2.5rem);
    width: 100%;
}

.equipment-table-img {
    text-align: center;
    display: grid;
    gap: var(--layout-gap);
}

/* .equipment-table-img li {
    margin-bottom: calc(var(--layout-gap) / 2);
} */

.equipment-item {
    margin-top: calc(var(--layout-gap) * 1.5);
}

.equipment .section-sub-title {
    margin-bottom: calc(var(--layout-gap) / 2);
}

.equipment-table table {
    margin-bottom: calc(var(--layout-gap) / 2);
}

@media print,
screen and (min-width: 769px) {
    .equipment-item table {
        /* width: 50%; */
        margin-left: 20px;
        width: calc(65% - 20px);
        font-size: clamp(1rem, -0.0022rem + 2.0851vw, 2.5rem);
    }

    .equipment-table {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
    }

    .equipment-table-img {
        /* width: 30%; */
        width: calc(35% - 20px);
    }

    .equipment-item {
        margin-top: calc(var(--layout-gap) * 2);
    }
}

@media print,
screen and (min-width: 1200px) {
    .equipment-item table {
        width: calc(60% - 20px);
    }
    .equipment-table-img {
        width: calc(40% - 40px);
        margin-top: calc(var(--layout-gap) * 2 * -1);
        gap: 80px;
    }
    .factory02 .equipment-item:last-of-type {
        margin-top: calc(var(--layout-gap) * 2 * -1);
    }
}


@media print,
screen and (min-width: 1600px) {
    .equipment-item table {
        width: calc(55% - 40px);
    }
    .equipment-table-img {
        width: calc(45% - 80px);
    }
    .equipment-item {
        margin-top: calc(var(--layout-gap) * 3);
    }
}

/*================================================
  section-radius
================================================*/
.factory-link-btn {
    /* max-width: 520px; */
    margin: 2em auto 4em;
}

.factory-link-btn .movie-button {
    background-color: #FFF0F4;
    /* border-radius: 70px; */
    border-radius: 4em;
    border: 3px solid #AD0E0E;
    color: #AD0E0E;
    /* font-size: 2rem; */
    font-size: clamp(1rem, 0.0545rem + 4.7273vw, 3.6rem);
    font-weight: 700;
    line-height: 1.15;
    display: flex;
    /* justify-content: space-between; */
    justify-content: center;
    align-items: center;
    /* padding: calc(var(--layout-gap) / 2) calc(var(--layout-gap) * 1); */
    padding:1em 2em;
    position: relative;
    margin: auto;
}

.factory-link-btn span {
    width: 0;
    height: 0;
    border-style: solid;
    /* border-width: 10px 0px 10px 15px; */
    border-width: 0.35em 0 0.35em 0.5em;
    border-color: transparent transparent transparent #AD0E0E;
    transform: rotate(0deg);
    transition: .5s;
    display: block;
    position: absolute;
    right:1em;
}

.factory-link-btn button:hover span {
    transform: translateX(0.2em) rotate(0deg);
}


.factory02 {
    margin-top: calc(var(--layout-gap) * 2);
    padding-bottom: calc(var(--layout-gap) * 2);
    background-image: url(../../image/factory/factory02_bg.jpg);
    background-position: right bottom;
    background-size: contain;
}

.factory02 .section-radius::before {
    background-image: url(../../image/factory/factory-img2.jpg);
    right: 0;
}

@media print,
screen and (min-width: 769px) {

    /* .factory02 .equipment-item table {
        width: 60%;
    } */
    .factory-link-btn .movie-button {
        /* font-size: 2.4rem; */
        border: 4px solid #AD0E0E;
    }
}


@media print,
screen and (min-width: 1200px) {
    .factory02 {
        margin-top: calc(var(--layout-gap) * 4);
    }

    .factory02 .section-radius::before {
        border-top-left-radius: 120px;
        border-bottom-left-radius: 120px;
        filter: drop-shadow(-5px 5px 20px rgba(0, 0, 0, 0.2));
        max-width: calc(1360px + calc(50% - 680px));
    }
/*
    .factory-link-btn .movie-button {
        font-size: 3.2rem;
    } */

}

@media print,
screen and (min-width: 1600px) {
    .factory-link-btn {
        margin: 4em auto 6em;
    }
    .factory-link-btn .movie-button {
        font-size: 4.4rem;
    }
}
