/* --------------------
 Company
-------------------- */
.com-page-head:before {
    background-image: url(../images/pages/company/company-page-head.webp);
}

.message {
    margin: 0 auto 80px;
    max-width: calc(800px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .message {
        margin: 0 auto 120px;
    }
}

@media (min-width: 992px) {
    .message {
        margin: 0 auto 190px;
    }
}

.message__title {
    background: var(--gradient-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: var(--fs20);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 auto 30px;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

@media (min-width: 768px) {
    .message__title {
        font-size: var(--fs23);
    }
}

.message__content {
    font-size: var(--fs16);
    line-height: 1.25;
    margin: 0 0 1em;
}

@media (min-width: 768px) {
    .message__content {
        font-size: var(--fs18);
    }
}

.message__content p {
    font-size: inherit;
    line-height: inherit;
    margin: 0;
}

.message__name {
    font-size: var(--fs16);
    line-height: 1.25;
    margin: 0;
    text-align: right;
}

@media (min-width: 768px) {
    .message__name {
        font-size: var(--fs18);
    }
}

.profile {
    margin: 0 auto 80px;
    max-width: calc(800px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .profile {
        margin: 0 auto 120px;
    }
}

@media (min-width: 992px) {
    .profile {
        margin: 0 auto 150px;
    }
}

.profile__title {
    background: var(--gradient-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: var(--fs23);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 auto 30px;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

.profile__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

.profile__table > tbody > tr > th, .profile__table > tbody > tr > td {
    background-color: rgba(176, 192, 197, 0.15);
    border-bottom: 2px solid var(--color-white);
    border-left: 2px solid var(--color-white);
    font-size: var(--fs14);
    line-height: 1.2;
    text-align: left;
    vertical-align: middle;
    width: auto;
}

@media (min-width: 768px) {
    .profile__table > tbody > tr > th, .profile__table > tbody > tr > td {
        border-bottom-width: 4px;
        border-left-width: 4px;
        font-size: var(--fs18);
    }
}

.profile__table > tbody > tr > th:first-child, .profile__table > tbody > tr > td:first-child {
    border-left-width: 1px;
}

@media (min-width: 768px) {
    .profile__table > tbody > tr > th:first-child, .profile__table > tbody > tr > td:first-child {
        border-left-width: 2px;
    }
}

.profile__table > tbody > tr > th:last-child, .profile__table > tbody > tr > td:last-child {
    border-right: 1px solid var(--color-white);
}

@media (min-width: 768px) {
    .profile__table > tbody > tr > th:last-child, .profile__table > tbody > tr > td:last-child {
        border-right-width: 2px;
    }
}

.profile__table > tbody > tr > th {
    color: var(--color-sky-blue);
    font-weight: 700;
    padding: 12px 6px;
    text-align: center;
    width: 100px;
}

@media (min-width: 768px) {
    .profile__table > tbody > tr > th {
        width: 190px;
    }
}

.profile__table > tbody > tr > td {
    margin: 0;
    padding: 12px;
}

@media (min-width: 768px) {
    .profile__table > tbody > tr > td {
        padding: 12px 20px 12px 30px;
    }
}

.profile__table > tbody > tr:first-child > th, .profile__table > tbody > tr:first-child > td {
    border-top: 2px solid var(--color-white);
}

.profile__table > tbody > tr:last-child > th, .profile__table > tbody > tr:last-child > td {
    border-bottom: 2px solid var(--color-white);
}

.access {
    margin: 0 auto 80px;
    max-width: calc(800px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .access {
        margin: 0 auto 120px;
    }
}

@media (min-width: 992px) {
    .access {
        margin: 0 auto 150px;
    }
}

.access__title {
    background: var(--gradient-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: var(--fs23);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 auto 30px;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

.access__map {
    margin: 0 0 20px;
}

@media (min-width: 768px) {
    .access__map {
        margin: 0 0 34px;
    }
}

.access__map iframe {
    border: none;
    border-radius: 10px;
    display: block;
    height: 300px;
    width: 100%;
}

@media (min-width: 768px) {
    .access__map iframe {
        height: 450px;
    }
}

.access__item-wrapper {
    align-items: flex-start;
    display: flex;
    flex-flow: row wrap;
    gap: 20px 30px;
    justify-content: space-between;
}

@media (min-width: 768px) {
    .access__item-wrapper {
        flex-wrap: nowrap;
    }
}

.access__item {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .access__item {
        flex: 0 0 auto;
    }
}

@media (min-width: 992px) {
    .access__item {
        flex: 0 0 calc(50% - 15px);
    }
}

.access__item__title {
    color: var(--color-sky-blue);
    font-size: var(--fs14);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 0 12px;
}

@media (min-width: 768px) {
    .access__item__title {
        font-size: var(--fs18);
    }
}

.access__item__content p {
    font-size: var(--fs14);
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .access__item__content p {
        font-size: var(--fs18);
    }
}

.history {
    margin: 0 auto 80px;
    max-width: calc(800px + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .history {
        margin: 0 auto 120px;
    }
}

@media (min-width: 992px) {
    .history {
        margin: 0 auto 155px;
    }
}

.history__title {
    background: var(--gradient-blue);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    font-size: var(--fs23);
    font-weight: 700;
    line-height: 1.4;
    margin: 0 auto 30px;
    text-align: center;
    width: -webkit-fit-content;
    width: fit-content;
}

.history__table {
    border: none;
    border-collapse: collapse;
    border-spacing: 0;
    margin: 0;
    width: 100%;
}

.history__table > tbody > tr > th, .history__table > tbody > tr > td {
    background-color: rgba(176, 192, 197, 0.15);
    border-bottom: 2px solid var(--color-white);
    border-left: 2px solid var(--color-white);
    font-size: var(--fs14);
    line-height: 1.2;
    text-align: left;
    vertical-align: middle;
    width: auto;
}

@media (min-width: 768px) {
    .history__table > tbody > tr > th, .history__table > tbody > tr > td {
        border-bottom-width: 4px;
        border-left-width: 4px;
        font-size: var(--fs18);
    }
}

.history__table > tbody > tr > th:first-child, .history__table > tbody > tr > td:first-child {
    border-left-width: 1px;
}

@media (min-width: 768px) {
    .history__table > tbody > tr > th:first-child, .history__table > tbody > tr > td:first-child {
        border-left-width: 2px;
    }
}

.history__table > tbody > tr > th:last-child, .history__table > tbody > tr > td:last-child {
    border-right: 1px solid var(--color-white);
}

@media (min-width: 768px) {
    .history__table > tbody > tr > th:last-child, .history__table > tbody > tr > td:last-child {
        border-right-width: 2px;
    }
}

.history__table > tbody > tr > th {
    color: var(--color-sky-blue);
    font-weight: 700;
    padding: 12px 6px;
    text-align: center;
    width: 80px;
}

@media (min-width: 768px) {
    .history__table > tbody > tr > th {
        width: 190px;
    }
}

.history__table > tbody > tr > td {
    margin: 0;
    padding: 12px;
}

@media (min-width: 768px) {
    .history__table > tbody > tr > td {
        padding: 12px 20px 12px 30px;
    }
}

.history__table > tbody > tr:first-child > th, .history__table > tbody > tr:first-child > td {
    border-top: 2px solid var(--color-white);
}

.history__table > tbody > tr:last-child > th, .history__table > tbody > tr:last-child > td {
    border-bottom: 2px solid var(--color-white);
}

.other {
    margin: 0 auto 80px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 992px) {
    .other {
        margin: 0 auto 150px;
    }
}

.other__item {
    align-items: center;
    display: flex;
    flex-flow: row wrap;
    gap: 20px 40px;
    margin: 0 0 60px;
    width: 100%;
}

@media (min-width: 768px) {
    .other__item {
        flex-wrap: nowrap;
        margin: 0 0 80px;
    }
}

@media (min-width: 992px) {
    .other__item {
        margin: 0 0 150px;
    }
}

@media (min-width: 1240px) {
    .other__item {
        gap: 50px;
    }
}

.other__item:last-child {
    margin: 0;
}

.other__item__main {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .other__item__main {
        flex: 0 0 calc(50% - 40px);
    }
}

@media (min-width: 1240px) {
    .other__item__main {
        flex: 0 0 calc(50% - 50px);
    }
}

.other__item__main__title {
    font-size: var(--fs20);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 20px;
}

@media (min-width: 768px) {
    .other__item__main__title {
        font-size: var(--fs25);
        margin: 0 0 32px;
    }
}

.other__item__main__title span {
    background: var(--gradient-blue);
    background-position: center calc(100% - 2px);
    background-repeat: no-repeat;
    background-size: auto 4px;
}

@media (min-width: 768px) {
    .other__item__main__title span {
        background-position: center bottom;
        background-size: auto 8px;
    }
}

.other__item__main__content p {
    font-size: var(--fs14);
    font-weight: 400;
    line-height: 1.2;
    margin: 0;
}

@media (min-width: 768px) {
    .other__item__main__content p {
        font-size: var(--fs18);
    }
}

.other__item__fig {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .other__item__fig {
        flex: 0 0 50%;
    }
}

.other__item__fig img {
    border-radius: 10px;
}

@media (max-width: 767px) {
    .other__item__fig img {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .other__item__fig img {
        border-radius: 20px;
    }
}

@media (min-width: 768px) {
    .other__item:nth-child(even) {
        flex-direction: row-reverse;
    }
}

.recruit {
    margin: 0 auto 120px;
    max-width: calc(var(--container-width) + var(--c-pad)*2);
    padding: 0 var(--c-pad);
    width: 100%;
}

@media (min-width: 768px) {
    .recruit {
        margin: 0 auto 160px;
    }
}

@media (min-width: 992px) {
    .recruit {
        margin: 0 auto 200px;
    }
}

.recruit__info {
    align-items: center;
    display: flex;
    flex-flow: row-reverse wrap;
    gap: 20px 40px;
    margin: 0 0 40px;
    width: 100%;
}

@media (min-width: 768px) {
    .recruit__info {
        flex-wrap: nowrap;
    }
}

@media (min-width: 1240px) {
    .recruit__info {
        gap: 50px;
    }
}

.recruit__info:last-child {
    margin: 0;
}

.recruit__info__main {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .recruit__info__main {
        flex: 0 0 calc(50% - 40px);
    }
}

@media (min-width: 1240px) {
    .recruit__info__main {
        flex: 0 0 calc(50% - 50px);
    }
}

.recruit__info__main__title {
    font-size: var(--fs20);
    font-weight: 700;
    line-height: 1.5;
    margin: 0 0 20px;
}

@media (min-width: 768px) {
    .recruit__info__main__title {
        font-size: var(--fs25);
        margin: 0 0 32px;
    }
}

.recruit__info__main__title span {
    background: var(--gradient-blue);
    background-position: center calc(100% - 2px);
    background-repeat: no-repeat;
    background-size: auto 4px;
}

@media (min-width: 768px) {
    .recruit__info__main__title span {
        background-position: center bottom;
        background-size: auto 8px;
    }
}

.recruit__info__main__content p {
    font-size: var(--fs14);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 1.5em;
}

@media (min-width: 768px) {
    .recruit__info__main__content p {
        font-size: var(--fs18);
    }
}

.recruit__info__main__content p:last-child {
    margin: 0;
}

.recruit__info__fig {
    flex: 0 0 100%;
}

@media (min-width: 768px) {
    .recruit__info__fig {
        flex: 0 0 50%;
    }
}

.recruit__info__fig img {
    border-radius: 10px;
}

@media (max-width: 767px) {
    .recruit__info__fig img {
        width: 100%;
    }
}

@media (min-width: 768px) {
    .recruit__info__fig img {
        border-radius: 20px;
    }
}

.recruit__contact__content {
    margin: 0 0 24px;
}

.recruit__contact__content p {
    font-size: var(--fs14);
    line-height: 1.5;
    margin: 0;
    text-align: center;
}

@media (min-width: 768px) {
    .recruit__contact__content p {
        font-size: var(--fs18);
    }
}

.recruit__contact__actions {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: 20px;
    justify-content: center;
}

@media (min-width: 768px) {
    .recruit__contact__actions {
        gap: 30px;
    }
}

.recruit__contact__actions__item {
    flex: 0 0 auto;
}