@charset "UTF-8";


.footer {
    margin-top: 0;
}

.bg-gry {
    background: #F6F6F6;
}

.page-mainimg .mainimg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.pagelink-card:nth-child(4) {
    opacity: .4;
}

.list-style-indent .blue {
    font-size: 6px;
    vertical-align: middle;
    margin-right: .7rem;
    color: var(--c-blue);
}

.table-style {
    width: 100%;
}

.table-style th,
.table-style td {
    border: solid 1px #D8D8D8;
    padding: .3rem 1rem;
    white-space: nowrap;
    text-align: center;
}

.table-style th {
    background: var(--c-blue);
    color: #fff;
}

.table-style td {
    background: #fff;
}

/* ---------------------
事業トピックス
--------------------- */
.sec-topics {
    margin-bottom: 7rem;
}

.boat-grid {
    gap: 2rem 0;
    margin-bottom: 4rem;
}

.boat-item {
    gap: 1rem 8%;
}

.boat-head-title {
    width: 100%;
    font-size: 2.5rem;
    letter-spacing: 0.05em;
    margin: 0;
}

.boat-head-lead {
    width: 100%;
    font-size: 1.125rem;
    letter-spacing: 0.05em;
    line-height: 200%;
    font-weight: 600;
    margin: 1rem 0 2rem;
}

.boat-head-com {
    font-size: 0.875rem;
    line-height: 200%;
    margin: 0;
}

.boat-info {
    font-size: 0.875rem;
}

.boat-info dd {
    margin: 0;
    padding: .3rem 0 0;
}

.boat-item-img {
    gap: 1rem 4%;
}

.boat-item-img .img {
    width: 48%;
    margin: 0;
    padding: 0;
}

.boat-item-img .img .note {
    font-size: 0.625rem;
}

@media (min-width: 768px) {}

@media (min-width: 1024px) {
    .boat-grid {
        margin-bottom: 8rem;
    }

    .boat-item .boat-item-txt {
        width: 30%;
    }

    .boat-item .boat-item-img {
        width: 62%;
    }

    .boat-item-img .img .note {
        font-size: 0.875rem;
        margin-top: 1rem;
    }
}

@media (min-width: 1280px) {
    .sec-topics {
        margin-bottom: 10rem;
    }
}

/* ---------------------
主な仕事
--------------------- */
.sec-works {
    margin-bottom: 7rem;
}

.work-grid {
    gap: 4rem;
}

.works-card {
    gap: 1.5rem 5%;
}

.works-card p {
    font-size: 0.875rem;
    line-height: 200%;
}

.works-topics {
    margin: 4rem 0;
}

.works-topics .title-label {
    display: inline-block;
    background: var(--c-blue);
    color: #fff;
    padding: 0 8px;
    font-size: 1.125rem;
}

.works-topics .works-topics-title {
    font-size: 1.5rem;
    margin: 1rem 0;
}

.works-topics .works-topics-title small {
    display: block;
    font-size: 65%;
    margin-top: .5rem;
}

.accordion-grid {
    gap: 1rem 0;
}

.accordion-grid-item {
    width: 100%;
    border: solid 1px #D9D9D9;
    transition: all 0.3s ease;
}

.accordion-grid-item.is-open {
    border-color: var(--c-black);
}

.accordion-title {
    margin: 0;
    padding: 1rem 3rem 1rem 3.5rem;
    font-size: 1.25rem;
    position: relative;
    cursor: pointer;
    transition: all 0.3s ease;
}

.accordion-title:hover{
    background-color: var(--c-blue-l);
}

.accordion-title .num {
    color: var(--c-blue);
    position: absolute;
    left: 1.5rem;
    top: 1rem;
}

.accordion-title::before,
.accordion-title::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 20px;
    height: 2px;
    background: var(--c-blue);
}

.accordion-title::after {
    transform: rotate(90deg);
    transition: all 0.3s ease;
}

.is-open .accordion-title::after {
    transform: rotate(0deg);
}

.accordion-detail {
    height: 0;
    overflow: hidden;
    font-size: 0.875rem;
    line-height: 200%;
    border-top: solid 1px #D9D9D9;
}

.accordion-detail .inner {
    justify-content: center;
    padding: 1rem 1.5rem;
    gap: 1rem 5%;
}

.accordion-detail .mid {
    width: 100%;
}

.accordion-detail .mid-title {
    font-size: 1rem;
    font-weight: 500;
    position: relative;
    padding-left: 20px;
    margin-bottom: .5rem;
}

.accordion-detail .mid-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: .5rem;
    width: 12px;
    height: 12px;
    background: var(--c-blue);
    border-radius: 50%;
}

.accordion-detail .mid-com {
    margin: 0 0 2rem;
    width: 100%;
}

.accordion-detail .mid-com:nth-last-child(1) {
    margin-bottom: 0;
}

.accordion-detail .bg-gry {
    margin: 1rem 0;
    padding: 1rem;
}

.accordion-detail .scroll {
    white-space: nowrap;
    width: 100%;
}

.accordion-detail .scroll img {
    width: 450px;
    max-width: none;
}

.col3-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 2rem 5%;
}

.col3-grid-item {
    justify-content: center;
    gap: .5rem;
}

.col3-grid-title {
    width: 100%;
    margin: 0;
    font-size: 1rem;
    font-weight: 500;
    text-align: center;
}

.col3-grid-com {
    margin: 0;
}

.accordion01 .img img {
    max-width: 435px;
    width: 100%;
}

.accordion05 .img img {
    max-width: 424px;
    width: 100%;
}


@media (min-width: 768px) {
    .accordion-detail .scroll {
        text-align: center;
    }

    .accordion-detail .scroll img {
        width: auto;
        max-width: 100%;
    }

    .accordion-detail .scroll img.sche-img01 {
        max-width: 717px;
    }

    .accordion-detail .scroll img.sche-img02 {
        max-width: 716px;
    }

    .col3-grid-item {
        width: 47.5%;
    }
}

@media (min-width: 1024px) {
    .work-grid {
        gap: 6rem;
    }

    .works-card .works-txt {
        width: 55%;
    }

    .works-card .works-img {
        width: 40%;
    }

    .works-topics {
        margin: 7rem 0;
    }

    .works-topics .works-topics-title {
        font-size: 2rem;
        margin-bottom: 3.5rem;
    }

    .works-topics .works-topics-title small {
        display: inline-block;
        margin-left: .5rem;
    }

    .accordion-grid {
        gap: 2rem 0;
    }

    .accordion-title {
        font-size: 1.5rem;
        padding: 1.5rem 5rem 1.5rem 6rem;
    }

    .accordion-title .num {
        left: 3rem;
        top: 1.5rem;
    }

    .accordion-title::before,
    .accordion-title::after {
        width: 24px;
        right: 3rem;
    }

    .accordion-detail .inner {
        justify-content: flex-start;
        padding: 2rem 3rem;
        gap: 2rem 5%;
    }

    .accordion-detail .mid-title {
        font-size: 1.25rem;
    }

    .accordion-detail .bg-gry {
        padding: 2rem;
    }

    .col3-grid {
        align-items: flex-start;
        gap: 3rem 5%;
    }

    .col3-grid-item {
        width: 30%;
    }

    .accordion01 .accordion-detail .txt {
        width: 60%;
    }

    .accordion01 .accordion-detail .img {
        width: 35%;
    }

    .accordion02 .accordion-detail .inner {
        justify-content: flex-end;
        position: relative;
    }

    .accordion02 .accordion-detail .txt {
        width: 50%;
        position: absolute;
        left: 3rem;
        top: 5rem;
        padding: 0 3rem;
    }

    .accordion02 .accordion-detail .img {
        width: 80%;
    }

    .accordion05 .accordion-detail .txt {
        width: 50%;
    }

    .accordion05 .accordion-detail .img {
        width: 42%;
    }

    .accordion06 .accordion-detail .inner {
        padding-bottom: 4rem;
    }

}

@media (min-width: 1280px) {
    .sec-works {
        margin-bottom: 10rem;
    }

    .work-grid {
        margin-top: 5rem;
    }
}

/* ---------------------
船員募集
--------------------- */
.bnr-recruitment {
    border: solid 1px #D9D9D9;
}

.bnr-recruitment .img {
    aspect-ratio: 3 / 1.5;
    overflow: hidden;
}

.bnr-recruitment .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.bnr-recruitment .txt {
    width: 100%;
    padding: 1.5rem 8vw;
    text-align: center;
}

.bnr-recruitment-title {
    margin: 0;
    padding-bottom: 1rem;
    font-size: 1.875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    color: var(--c-blue);
    border-bottom: solid 1px #d9d9d9;
}

.bnr-recruitment-lead {
    font-size: 0.875rem;
}

.bnr-recruitment .tel {
    font-size: 1.375rem;
    margin-bottom: .5rem;
}

.bnr-recruitment .note {
    margin: 0;
    font-size: 0.75rem;
}

.bnr-recruitment .mail {
    display: inline-block;
    margin: 1rem 0 .5rem;
}

@media (min-width: 1024px) {
    .bnr-recruitment .img {
        aspect-ratio: unset;
        width: 50%;
    }

    .bnr-recruitment .txt {
        width: 50%;
        padding: 5vw;
    }
}

@media (min-width: 1280px) {
    .bnr-recruitment .txt {
        padding: 4vw;
    }
}