@charset "utf-8";

.p-fv .sec-head {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 93px;
}

.p-fv .sec-head .tit-en {
    font-family: var(--main);
    font-weight: 500;
    font-size: 16px;
    color: #112203;
    padding-bottom: 10px;
    display: flex;
    align-items: baseline;
    gap: 8px;
    border-bottom: 1px solid #112203;
    width: fit-content;
}

.p-fv .sec-head .tit-en::before {
    content: "";
    display: inline-block;
    width: 9px;
    aspect-ratio: 1/1;
    border-radius: 50px;
    border: 1px solid #0a0a0a;
}

.p-fv .sec-head .tit-ja {
    font-family: var(--main);
    font-weight: 500;
    font-size: clamp(2rem, 1.745rem + 1.05vw, 3rem);
    color: #112203;
}

.p-fv .inner {
    padding: 258px 0 15px 5%;
}

.p-fv .breadlist {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}

.p-fv .breadlist p {
    font-family: "Noto Sans JP",
        sans-serif;
    ;
    font-weight: 400;
    font-size: 16px;
    color: #000;
}

.p-fv .breadlist .line {
    width: 86px;
    height: 1px;
    position: relative;
    background-color: #112203;
}

.main-img {
    overflow: hidden;
    width: 100%;
    height: 686px;
}

.main-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-head {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.p-head .tit-sub {
    font-weight: 400;
    font-size: clamp(0.875rem, 0.678rem + 0.84vw, 1.688rem);
    text-align: center;
    color: #000;
}

.p-head .tit-main {
    font-weight: 500;
    font-size: clamp(1.5rem, 1.181rem + 1.36vw, 2.813rem);
    color: #000;
    display: flex;
    align-items: center;
    gap: 30px;
}

.p-head .tit-main::before {
    content: "";
    width: 23px;
    aspect-ratio: 1/1;
    border-radius: 50px;
    border: 2px solid #000;
    display: inline-block;
}

.intro-text .inner {
    padding: 124px 0 130px;
}

.intro-text p {
    font-weight: 500;
    font-size: clamp(0.875rem, 0.723rem + 0.65vw, 1.5rem);
    line-height: calc(40/24);
    text-align: center;
    color: #112203;
}

@media (max-width: 1023px) {
    .p-fv .inner {
        padding: 95px 0 5px 5%;
    }

    .p-fv .sec-head {
        gap: 20px;
        margin-bottom: 30px;
    }

    .p-head .tit-main::before {
        width: 15px;
        border: 2px solid #000;
        margin-right: 12px;
    }
}

@media (max-width: 767px) {
    .main-img {
        height: 263px;
    }
}

.gjs-dashed .pc-hidden {
    display: block;
}