.about-fv {
    position: relative;
    width: 100%;
    height: 460px;
    overflow: hidden;
    color: #fff;
}

.about-fv__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center 55%;
}

.about-fv__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .48);
}

.about-fv__breadcrumb {
    position: absolute;
    top: 120px;
    left: 58px;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 15px;
    font-weight: 400;
}

.about-fv__breadcrumb a {
    color: #fff;
    text-decoration: none;
    transition: opacity .3s;
}

.about-fv__breadcrumb a:hover {
    opacity: .65;
}

.about-fv__title {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    margin: 0;
    transform: translate(-50%, -50%);
    color: #fff;
    font-family:
        "Yu Mincho",
        "Hiragino Mincho ProN",
        serif;
    font-size: 52px;
    font-weight: 400;
    letter-spacing: .06em;
    white-space: nowrap;
}

/*message*/
.representative {
    padding: 65px 30px;
    background: radial-gradient(circle at 72% 50%, #222 0%, #171717 48%, #050505 100%);
    color: #fff;
}

.representative__inner {
    width: 100%;
    max-width: 1410px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 105px;
}

.representative__image {
    width: 660px;
    flex-shrink: 0;
}

.representative__image img {
    display: block;
    width: 100%;
    height: auto;
}

.representative__content {
    flex: 1;
    padding-bottom: 15px;
}

.representative__title {
    margin: 0;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.4;
}

.representative__lead {
    margin: 105px 0 0;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 35px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: .03em;
}

.representative__text {
    margin-top: 55px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 22px;
    line-height: 1.65;
    letter-spacing: .03em;
}

.representative__text p {
    margin: 0;
}

.representative__text p+p {
    margin-top: 65px;
}

/*会社概要*/
.company {
    padding: 32px 30px 82px;
    background: #fff;
    color: #111;
}

.company__inner {
    width: 100%;
    max-width: 1450px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 100px;
}

.company__content {
    width: 855px;
}

.company__title {
    margin: 15px 0 70px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.4;
}

.company__list {
    margin: 0;
}

.company__row {
    display: grid;
    grid-template-columns: 310px 1fr;
    align-items: start;
    min-height: 110px;
    padding: 30px 15px;
    border-bottom: 1px solid #222;
}

.company__row:first-child {
    min-height: 85px;
    padding-top: 15px;
}

.company__row dt,
.company__row dd {
    margin: 0;
}

.company__row dt {
    font-size: 34px;
    font-weight: 600;
    line-height: 1.4;
}

.company__row dd {
    padding-top: 5px;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.35;
}

.company__image {
    width: 405px;
    flex-shrink: 0;
}

.company__image img {
    display: block;
    width: 100%;
    height: 500px;
    object-fit: cover;
}

/*画像*/
.store-gallery {
    padding: 65px 30px 95px;
    background: radial-gradient(circle at 50% 35%, #242424 0%, #171717 48%, #000000 100%);
}

.store-gallery__inner {
    width: 100%;
    max-width: 1225px;
    margin: 0 auto;
}

.store-gallery__main {
    width: 100%;
    height: 485px;
    overflow: hidden;
}

.store-gallery__main img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-gallery__list {
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 45px;
}

.store-gallery__item {
    width: 100%;
    height: 280px;
    overflow: hidden;
}

.store-gallery__item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.store-gallery__img--1 {
    object-position: center 50%;
}

.store-gallery__img--4 {
    object-position: center 50%;
}

.store-gallery__img--5 {
    object-position: center 82%;
}

.store-gallery__img--6 {
    object-position: center 89%;
}

/*アクセス*/
.access {
    padding: 65px 30px 78px;
    background: #fff;
    color: #111;
}

.access__inner {
    width: 100%;
    max-width: 1410px;
    margin: 0 auto;
}

.access__title {
    margin: 0 0 65px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.4;
}

.access__content {
    display: grid;
    grid-template-columns: 1fr 745px;
    align-items: center;
    gap: 95px;
    padding-left: 10px;
}

.access__info {
    font-size: 27px;
    line-height: 1.4;
}

.access__postal,
.access__address,
.access__detail {
    margin: 0;
}

.access__address {
    margin-top: 25px;
}

.access__detail {
    margin-top: 45px;
}

.access__map {
    width: 100%;
    height: 305px;
    overflow: hidden;
}

.access__map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

/*お問い合わせ*/
.store-contact {
    padding: 78px 30px 100px;
    background: #fafafa;
    color: #111;
}

.store-contact__inner {
    width: 100%;
    max-width: 1410px;
    margin: 0 auto;
}

.store-contact__title {
    margin: 0 0 48px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 42px;
    font-weight: 600;
    line-height: 1.4;
}

.store-contact__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 135px;
}

.store-contact__item {
    min-height: 125px;
    padding: 15px 38px 15px 25px;
    border: 1px solid #ccc;
    border-radius: 10px;
    display: flex;
    align-items: center;
    color: #111;
    text-decoration: none;
    background: #fff;
    transition: transform .3s ease, box-shadow .3s ease;
}

.store-contact__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, .08);
}

.store-contact__icon {
    display: block;
    flex-shrink: 0;
    object-fit: contain;
}

.store-contact__icon--line {
    width: 85px;
    height: 85px;
}

.store-contact__icon--instagram {
    width: 85px;
    height: 85px;
}

.store-contact__text {
    margin-left: 32px;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
    font-size: 29px;
    line-height: 1.4;
    white-space: nowrap;
}

.store-contact__arrow {
    margin-left: auto;
    padding-left: 25px;
    font-family: serif;
    font-size: 55px;
    font-weight: 300;
    line-height: 1;
    transform: translateY(-3px);
}

@media screen and (max-width: 768px) {
    .about-fv {
        height: 360px;
    }

    .about-fv__bg {
        object-position: 58% center;
        transform: scale(1.8);
    }

    .about-fv__breadcrumb {
        top: 90px;
        left: 20px;
        gap: 5px;
        font-size: 11px;
    }

    .about-fv__title {
        top: 55%;
        width: 100%;
        padding: 0 20px;
        font-size: 32px;
        letter-spacing: .04em;
        text-align: center;
        white-space: nowrap;
    }

    .representative {
        padding: 55px 20px 65px;
        background: radial-gradient(circle at 50% 35%, #222 0%, #171717 48%, #050505 100%);
    }

    .representative__inner {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 0;
    }

    .representative__image {
        width: 100%;
        order: 2;
        margin-top: 35px;
    }

    .representative__content {
        display: contents;
        padding-bottom: 0;
    }

    .representative__title {
        order: 1;
        font-size: 30px;
        line-height: 1.4;
    }

    .representative__lead {
        order: 3;
        margin: 40px 0 0;
        font-size: 24px;
        line-height: 1.7;
        letter-spacing: .02em;
    }

    .representative__text {
        order: 4;
        margin-top: 30px;
        font-size: 16px;
        line-height: 1.9;
        letter-spacing: .02em;
    }

    .representative__text p+p {
        margin-top: 30px;
    }

    .company {
        padding: 45px 20px 60px;
    }

    .company__inner {
        display: flex;
        flex-direction: column;
        gap: 45px;
    }

    .company__content {
        width: 100%;
    }

    .company__title {
        margin: 0 0 40px;
        font-size: 30px;
    }

    .company__row {
        grid-template-columns: 105px 1fr;
        min-height: auto;
        padding: 22px 5px;
    }

    .company__row:first-child {
        min-height: auto;
        padding-top: 0;
    }

    .company__row dt {
        font-size: 19px;
        line-height: 1.5;
    }

    .company__row dd {
        padding-top: 1px;
        font-size: 17px;
        line-height: 1.5;
    }

    .company__image {
        width: 100%;
    }

    .company__image img {
        width: 100%;
        height: auto;
        max-height: 480px;
        object-fit: cover;
    }

    .store-gallery {
        padding: 45px 20px 60px;
    }

    .store-gallery__inner {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .store-gallery__main {
        width: 100%;
        height: 180px;
    }

    .store-gallery__list {
        display: contents;
        margin-top: 0;
    }

    .store-gallery__item {
        width: 100%;
        height: 180px;
    }

    .store-gallery__img--1 {
        object-position: center 50%;
    }

    .store-gallery__img--4 {
        object-position: center 50%;
    }

    .store-gallery__img--5 {
        object-position: center 82%;
    }

    .store-gallery__img--6 {
        object-position: center 89%;
    }

    .access {
        padding: 45px 20px 60px;
    }

    .access__title {
        margin: 0 0 40px;
        font-size: 30px;
    }

    .access__content {
        display: grid;
        grid-template-columns: 1fr;
        gap: 35px;
        padding-left: 0;
    }

    .access__info {
        font-size: 17px;
        line-height: 1.6;
    }

    .access__address {
        margin-top: 15px;
    }

    .access__detail {
        margin-top: 30px;
    }

    .access__map {
        height: 280px;
    }

    .store-contact {
        padding: 50px 20px 65px;
    }

    .store-contact__title {
        margin: 0 0 35px;
        font-size: 30px;
    }

    .store-contact__list {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .store-contact__item {
        min-height: 95px;
        padding: 12px 20px 12px 15px;
        border-radius: 8px;
    }

    .store-contact__icon--line,
    .store-contact__icon--instagram {
        width: 50px;
        height: 50px;
    }

    .store-contact__text {
        margin-left: 18px;
        font-size: 16px;
        line-height: 1.4;
        white-space: normal;
    }

    .store-contact__arrow {
        padding-left: 15px;
        font-size: 38px;
        transform: translateY(-2px);
    }
}