/*
タイトル
*/
.c-page-title {
    font-family: var(--font-serif);
    font-size: 2.5rem;
    text-align: center;
}

.c-page-title--large {
    font-size: 3rem;
}

.c-page-title-sub {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    text-align: center;
    margin-top: calc(var(--spacing) * 3);
}

/*
アンカー
*/

.c-anchors {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: calc(var(--spacing) * 2);
}

@media (min-width: 768px) {
    .c-anchors {
        gap: calc(var(--spacing) * 5);
    }
}

.c-anchor-link {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    cursor: pointer;
    color: black;
    font-family: var(--font-hiragino);
    font-size: 0.875rem;
    user-select: none;
    transition: all 220ms ease;
}

.c-anchor-link::after {
    content: '';
    display: block;
    background-color: black;
    width: 48px;
    height: 1px;
}

.c-anchor-link:hover {
    opacity: 0.6;
}

.c-anchor-link--active {
    color: #A8A5A5;
}

/*
記事一覧
*/

.c-articles {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
}

.c-articles__item__link {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 4);
    transition: all 220ms ease;
}

.c-articles__item__link:hover {
    opacity: 0.8;
}

@media (min-width: 1024px) {
    .c-articles__item__link {
        grid-template-columns: 1fr auto;
        column-gap: calc(var(--spacing) * 5);
    }
}

.c-articles__item__link__thumbnail {
    align-self: center;
    grid-row: 1;
    aspect-ratio: 285/180;
    object-fit: cover;
    width: 100%;
    max-width: 512px;
}

@media (min-width: 1024px) {
    .c-articles__item__link__thumbnail {
        grid-row: auto;
        max-width: calc(var(--spacing) * 72);
    }
}

/*
記事
*/

.c-article-title {
    font-family: var(--font-heisei);
    font-size: 1.875rem;
}

.c-article-date {
    font-family: var(--font-heisei);
    font-size: 0.75rem;
}

/*
workshop
*/

.c-workshop {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 9);
    margin-bottom: calc(var(--spacing) * 20);
}

@media (min-width: 768px) {
    .c-workshop {
        display: grid;
        grid-template-columns: 1fr 2fr;
        gap: calc(var(--spacing) * 12);
    }
}

.c-workshop__info {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
}

.c-workshop-image {
    display: block;
    aspect-ratio: 28 / 19;
    background-color: #D5CFCF;
    object-fit: cover;
    height: auto;
    width: 100%;
}

.c-workshop-contact {
    background-color: #F0EFEF;
    padding: 16px 12px 12px;
}

.c-workshop-contact__text {
    font-family: var(--font-hiragino);
    font-size: 0.875rem;
    line-height: 1.9;
}

.c-workshop-contact__links {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: calc(var(--spacing) * 2);
    margin-top: calc(var(--spacing) * 1);
}

.c-workshop-title {
    font-family: var(--font-serif);
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: calc(var(--spacing) * 4);
}

.c-workshop-place {
    font-family: var(--font-hiragino);
    font-size: 1.125rem;
    margin-bottom: calc(var(--spacing) * 3);
}

.c-workshop-place::before {
    content: '｜';
}

.c-workshop-text {
    font-family: var(--font-hiragino);
    font-size: 1rem;
    line-height: 1.6;
}

.c-workshop-details {
    font-family: var(--font-hiragino);
    font-size: 0.875rem;
    line-height: 1.8;
}

.c-button-with-arrow--reserve {
    border: none;
    background-color: #F0EFEF;
    font-family: var(--font-hiragino);
    font-size: 0.875rem;
    padding: 8px 24px 6px 12px;
}

/*
workshop: prose
*/

/*
.c-workshop-prose {
    font-size: 1rem;
    font-family: var(--font-serif);
}

.c-workshop-prose p {
    margin-top: 0;
    margin-bottom: calc(var(--spacing) * 8);
}

.c-workshop-prose h3 {
    font-size: 1.5rem;
    margin-bottom: calc(var(--spacing) * 10);
}

.c-workshop-prose img {
    display: block;
    margin: 0 auto calc(var(--spacing) * 8);
}

@media (min-width: 1024px) {
    .c-workshop-prose {
        font-size: 1.125rem;
    }

    .c-workshop-prose p {
        margin-bottom: calc(var(--spacing) * 16);
    }

    .c-workshop-prose img {
        margin-bottom: calc(var(--spacing) * 16);
    }
}
*/

/*
news: prose
*/

.c-news-prose {
    font-size: 1rem;
    font-family: var(--font-serif);
}

@media (min-width: 1024px) {
    .c-news-prose {
        font-size: 1.125rem;
    }
}

.c-news-prose p {
    margin-top: 0;
    margin-bottom: calc(var(--spacing) * 8);
}

@media (min-width: 1024px) {
    .c-news-prose p {
        margin-bottom: calc(var(--spacing) * 16);
    }
}

.c-news-prose h3 {
    font-size: 1.5rem;
    margin-bottom: calc(var(--spacing) * 10);
}

.c-news-prose img {
    display: block;
    margin: 0 auto calc(var(--spacing) * 8);
}

@media (min-width: 1024px) {
    .c-news-prose img {
        margin-bottom: calc(var(--spacing) * 16);
    }
}

/*
動画
*/

.c-videos {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 9);
}

@media (min-width: 768px) {
    .c-videos {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .c-videos {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-videos__item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4);
    width: 100%;
    transition: all 220ms ease;
}

.c-videos__item:hover {
    opacity: 0.6;
}

.c-videos__item__thumbnail {
    display: block;
    aspect-ratio: 300/170;
    object-fit: cover;
    width: 100%;
}

.c-videos__item__title {
    font-family: var(--font-heisei);
    font-size: 1rem;
    margin: 5px 0 0 0;
}

/*
リール
*/

.c-reels {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: calc(var(--spacing) * 6);
    row-gap: calc(var(--spacing) * 4);
}

@media (min-width: 768px) {
    .c-reels {
        grid-template-columns: repeat(3, 1fr);
        column-gap: calc(var(--spacing) * 8);
    }
}

@media (min-width: 1024px) {
    .c-reels {
        grid-template-columns: repeat(4, 1fr);
        column-gap: calc(var(--spacing) * 10);
    }
}

.c-reels__item {
    display: flex;
    flex-direction: column;
    transition: all 220ms ease;
    width: 100%;
}

.c-reels__item:hover {
    opacity: 0.6;
}

.c-reels__item__thumbnail {
    display: block;
    aspect-ratio: 111/166;
    object-fit: cover;
    width: 100%;
}

/*
工芸品一覧
*/
.c-crafts {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: calc(var(--spacing) * 4);
    row-gap: calc(var(--spacing) * 6);
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0 auto;
}

@media (min-width: 768px) {
    .c-crafts {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .c-crafts {
        grid-template-columns: repeat(5, 1fr);
    }
}

.c-crafts__card {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    transition: all 220ms ease;
}

.c-crafts__card:hover {
    opacity: 0.8;
}

.c-crafts__thumbnail {
    display: block;
    aspect-ratio: 7 / 4;
    overflow: hidden;
    background: #eee;
}

.c-crafts__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.c-crafts__noimage {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #e5e7eb;
    color: #6b7280;
}

.c-crafts__meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    row-gap: calc(var(--spacing) * 1);
}

.c-crafts__title {
    text-decoration: none;
    font-family: var(--font-serif);
    font-size: 1.125rem;
}

.c-crafts__title-kana {
    text-decoration: none;
    font-family: var(--font-serif);
    font-size: 1rem;
    margin-top: calc(var(--spacing) * -1);
    width: 100%;
}

/* Crafts responsive grid (sm/md/lg) */
@media (min-width: 640px) {
    .c-crafts__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 768px) {
    .c-crafts__list {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1024px) {
    .c-crafts__list {
        grid-template-columns: repeat(5, 1fr);
    }
}

.c-crafts__shop__link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: calc(var(--spacing) * 1.5);

    aspect-ratio: 7 / 4;
    background-color: #8F8BAA;

    color: white;
    font-family: var(--font-serif);

    width: 100%;

    transition: all 220ms ease;
}

.c-crafts__shop__link:hover {
    opacity: 0.8;
}

/*
crafts: desc
*/

.c-crafts-description {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: calc(var(--spacing) * 16);
    row-gap: calc(var(--spacing) * 4);
}

@media (min-width: 1024px) {
    .c-crafts-description {
        grid-template-columns: repeat(2, 1fr);
    }
}

.c-crafts-description__image {
    width: 100%;
    height: auto;
    display: block;
}

.c-crafts-description__inner {
    display: flex;
    flex-direction: column;
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 2);
}

.c-crafts-description__inner__name {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: calc(var(--spacing) * 4.5);
    font-family: var(--font-serif);
    margin: 0;
}

.c-crafts-description__inner__text {
    font-family: var(--font-hiragino);
    font-size: 1rem;
    line-height: 1.8;
}

@media (min-width: 1024px) {
    .c-crafts-description__inner__text {
        font-size: 1.125rem;
    }
}

/*
national_crafts: list
*/
.c-national-crafts {
    display: grid;
    justify-content: center;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 16);
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

@media (min-width: 768px) {
    .c-national-crafts {
        grid-template-columns: repeat(2, 1fr);
    }
}

.c-national-crafts__item {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2.5);
    transition: all 220ms ease;
}

.c-national-crafts__item:hover {
    opacity: 0.8;
}

.c-national-crafts__item__image {
    display: block;
    aspect-ratio: 36 / 21;
    object-fit: cover;
    height: auto;
    max-width: 360px;
    width: 100%;
}

.c-national-crafts__item__name {
    font-family: var(--font-serif);
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
}

/*
national_crafts: featured prose
*/

.c-national-craft-thumbnail {
    display: block;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    max-width: 512px;
    width: 100%;
}

.c-national-craft-prose {
    font-size: 1rem;
    font-family: var(--font-serif);
}

@media (min-width: 1024px) {
    .c-national-craft-prose {
        font-size: 1.125rem;
    }
}

.c-national-craft-prose>h3 {
    border-bottom: 1px solid black;

    font-size: 1.5rem;
    text-align: center;

    padding-bottom: calc(var(--spacing) * 5);
    margin-bottom: calc(var(--spacing) * 10);
}

@media (min-width: 1024px) {
    .c-national-craft-prose>h3 {
        grid-column: span 2;
    }
}

.c-national-craft-prose>p {
    margin-top: 0;
    margin-bottom: calc(var(--spacing) * 8);
}

@media (min-width: 1024px) {
    .c-national-craft-prose>p {
        margin-bottom: calc(var(--spacing) * 16);
    }
}

.c-national-craft-prose__feature {
    font-size: 1.125rem;
    line-height: 2.22;
}

.c-national-craft-technic {
    display: grid;
    gap: 32px;
    margin-bottom: calc(var(--spacing) * 8);
    width: 100%;
}

@media (min-width: 768px) {
    .c-national-craft-technic {
        align-items: center;
        grid-template-columns: 33fr 67fr;
        margin-bottom: calc(var(--spacing) * 16);
    }
}

.c-national-craft-technic__title {
    font-size: 1.625rem;
}

.c-national-craft-technic__subtitle {
    font-size: 1.375rem;
}

.c-national-craft-technic__img {
    display: block;
    justify-self: center;
    max-width: 240px;
    width: 100%;
}

@media (min-width: 768px) {
    .c-national-craft-technic__img {
        max-width: 100%;
    }
}

.c-national-craft-technic__body {
    line-height: 1.8;
}

/*
artisans: list
*/

.c-artisans-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 12);
}

@media (min-width: 768px) {
    .c-artisans-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 1024px) {
    .c-artisans-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

.c-artisans-list__item {
    transition: all 220ms ease;
}

.c-artisans-list__item:hover {
    opacity: 0.6;
}

.c-artisans-list__item__inner {
    display: flex;
    flex-direction: column;
    height: 100%;
    gap: calc(var(--spacing) * 4);
}

.c-artisans-list__item__inner img {
    aspect-ratio: 300 / 180;
}

@media (min-width: 768px) {
    .c-artisans-list__item__inner img {
        display: block;
        aspect-ratio: 300 / 400;
        object-fit: cover;
        width: 100%;
    }
}

.c-artisans-list__item__inner__body {
    flex-grow: 1;
}

/*
artisans: prose
*/

.c-artisans-prose {
    font-size: 1rem;
    font-family: var(--font-serif);
}

@media (min-width: 1024px) {
    .c-artisans-prose {
        font-size: 1.125rem;
    }
}

.c-artisans-prose h3 {
    font-size: 1.5rem;
    text-align: center;
    margin-bottom: calc(var(--spacing) * 6);
}

.c-artisans-prose p {
    margin: 0 auto calc(var(--spacing) * 8);
    max-width: 56rem;
    line-height: 1.8;
}

@media (min-width: 1024px) {
    .c-artisans-prose p {
        margin-bottom: calc(var(--spacing) * 16);
    }
}

.c-artisans-prose img {
    display: block;
    margin: 0 auto calc(var(--spacing) * 8);
    width: auto;
}

@media (min-width: 1024px) {
    .c-artisans-prose img {
        margin: 0 auto calc(var(--spacing) * 16);
    }
}

.c-artisans-prose hr {
    margin: 0 auto calc(var(--spacing) * 16);
    max-width: 820px;
}

/*
coordinates
*/

.c-coordinates {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    column-gap: 45px;
    row-gap: 16px;
    overflow: visible;
    width: 100%;
}

.c-coordinates__item {
    --caption-opacity: 0;

    display: grid;
    grid-template-rows: auto auto;
    gap: 9px;
    width: 100%;
    transition: all 220ms ease;
}

.c-coordinates__item:hover {
    --caption-opacity: 1;

    background-color: #222222;
    color: white;
    padding: 4px;
    opacity: 0.6;
}

@media (min-width: 768px) {
    .c-coordinates__item:hover {
        padding: 6px;
    }
}

.c-coordinates__item__image {
    grid-column: 1;
    grid-row: 1;
    aspect-ratio: 1 / 1;
    display: block;
    object-fit: cover;
    width: 100%;
}

.c-coordinates__item__copyright {
    grid-column: 1;
    grid-row: 2;
    font-family: var(--font-hiragino);
    font-size: 0.75rem;
}

.c-coordinates__item__caption {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    background-color: rgba(0, 0, 0, 0.6);
    color: white;
    font-family: var(--font-serif);
    font-size: 1.25rem;
    text-align: center;
    opacity: var(--caption-opacity);
    height: fit-content;
    padding: calc(var(--spacing) * 2);
    transition: opacity 220ms linear;
}

/*
technics: list
*/

.c-technics {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(auto-fit, minmax(220px, 290px));
    column-gap: calc(var(--spacing) * 10);
    row-gap: calc(var(--spacing) * 14);
}

.c-technics__card {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 2);
    transition: all 220ms ease;
}

.c-technics__card:hover {
    opacity: 0.6;
}

.c-technics__image {
    display: block;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    height: auto;
    width: 100%;
}

.c-technics__title {
    font-family: var(--font-serif);
    font-size: 1.25rem;
    line-height: 1;
    text-align: center;
}

/*
technics: item
*/

.c-technics-info {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    gap: 12px;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

@media (min-width: 768px) {
    .c-technics-info {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto;
    }
}

.c-technics-info__name {
    font-size: 1.125rem;
    font-family: var(--font-serif);
    text-align: center;
}

.c-technics-info__link {
    text-align: center;
}

.c-technics-process {
    display: grid;
    align-items: center;
    justify-content: center;
    grid-template-columns: repeat(1, 1fr);
    gap: 64px;
}

.c-technics-process__item {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

@media (min-width: 1024px) {
    .c-technics-process {
        grid-template-columns: repeat(2, 1fr);
    }

    .c-technics-process__item:nth-child(odd) {
        justify-self: end;
    }

    .c-technics-process__item:nth-child(even) {
        justify-self: start;
    }
}

.c-technics-tools-heading {
    border-bottom: 1px solid black;
    border-top: 1px solid black;
    font-family: var(--font-serif);
    font-weight: bold;
    font-size: 1.5rem;
    text-align: center;
    padding: 14px 24px;
    margin-left: auto;
    margin-right: auto;
    width: fit-content;
}

@media (min-width: 768px) {
    .c-technics-tools-heading {
        font-size: 2rem;
        padding: 20px 36px;
    }
}

.c-technics-tools {
    display: grid;
    align-items: center;
    justify-content: space-around;
    grid-template-columns: repeat(1, 1fr);
    gap: 32px;
    margin-left: auto;
    margin-right: auto;
    max-width: 1000px;
}

.c-technics-tools__item {
    display: grid;
    justify-items: center;
    grid-row: span 2;
    grid-template-rows: subgrid;
    gap: 16px;
}

.c-technics-tools__image {
    align-self: end;
    display: block;
    margin: 0 auto;
    max-width: 100%;
}

@media (min-width: 1024px) {
    .c-technics-tools {
        grid-template-columns: repeat(2, 1fr);
        gap: 64px;
    }
}

/*
sitemap
*/
.c-sitemap {
    display: grid;
    align-items: center;
    column-gap: calc(var(--spacing) * 2);
}

@media (min-width: 768px) {
    .c-sitemap {
        grid-template-columns: auto 1fr;
    }
}

.c-sitemap>* {
    border-top: 1px solid rgba(0, 0, 0, 0.07);
    padding: calc(var(--spacing) * 8);
}

.c-sitemap>dt {
    display: flex;
    align-items: center;
    font-family: var(--font-serif);
    font-weight: 700;
    font-size: 1.5rem;
    height: 100%;
}

.c-sitemap>dd {
    margin: 0;
}

.c-sitemap-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: calc(var(--spacing) * 4);
    font-size: 1.175rem;
}

@media (min-width: 420px) {
    .c-sitemap-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: calc(var(--spacing) * 4);
    }
}

/*
shops
*/

.c-shops {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 9);
    width: 100%;
}

@media (min-width: 768px) {
    .c-shops {
        column-gap: calc(var(--spacing) * 16);
        row-gap: calc(var(--spacing) * 18);
    }
}

.c-shops__item {
    width: 100%;
}

.c-shops__item__link {
    display: flex;
    flex-direction: column;
    width: 100%;
    transition: all 220ms ease;
}

.c-shops__item__link:hover {
    opacity: 0.6;
}

.c-shops__item__image {
    display: block;
    aspect-ratio: 28 / 19;
    background-color: #707070;
    object-fit: cover;
    margin-bottom: calc(var(--spacing) * 4);
    width: 100%;
}

@media (min-width: 768px) {
    .c-shops__item__image {
        margin-bottom: calc(var(--spacing) * 8);
    }
}

.c-shops__item__name {
    font-family: var(--font-hiragino);
    font-size: 1.125rem;
    margin-bottom: calc(var(--spacing) * 2.5);
}

.c-shops__item__description {
    font-family: var(--font-hiragino);
    font-size: 0.875rem;
    line-height: 1.6;
}

/*
ec
*/

.c-ec {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 11);
    width: 100%;
}

@media (min-width: 768px) {
    .c-ec {
        column-gap: calc(var(--spacing) * 16);
        row-gap: calc(var(--spacing) * 22);
    }
}

.c-ec__item {
    width: 100%;
}

.c-ec-list {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
}

.c-ec-list__title {
    border-left: 1px solid black;
    padding-left: calc(var(--spacing) * 3);
    font-family: var(--font-hiragino);
    font-size: 1.25rem;
    line-height: 1;
}

.c-ec-list__items {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 5);
}

.c-ec-list__item {
    display: contents;
}

.c-ec-list__item__link {
    font-family: var(--font-hiragino);
    font-size: 1rem;
    line-height: 1.2;
    text-decoration: none;
    transition: all 220ms ease;
}

.c-ec-list__item__link:hover {
    opacity: 0.6;
}

/*
contact
*/

.c-contact-button {
    display: inline-block;
    border: 1px solid black;
    font-family: var(--font-hiragino);
    font-size: 1.125rem;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    padding: calc(var(--spacing) * 6);
    max-width: 340px;
    width: 100%;
    transition: all 220ms ease;
}

.c-contact-button:hover {
    background-color: black;
    color: white;
}

.c-contact-note {
    font-family: var(--font-hiragino);
    font-size: 1rem;
    max-width: 340px;
    width: 100%;
}

/*
つくるひと/会社
*/

.c-contacts {
    display: grid;
    grid-template-columns: 1fr;

    border-bottom: 1px solid black;

    font-family: var(--font-hiragino);

    list-style: none;
}

@media (min-width: 1024px) {
    .c-contacts {
        grid-template-columns: 13fr 20fr 7fr auto;
    }
}

.c-contacts__item {
    display: grid;
    border-top: 1px solid #000;
    padding: calc(var(--spacing) * 3) 0;
    row-gap: calc(var(--spacing) * 1);
}

@media (min-width: 1024px) {
    .c-contacts__item {
        grid-column: span 4;
        grid-template-columns: subgrid;
        align-items: center;
        column-gap: calc(var(--spacing) * 4);
    }
}

.c-contacts__name {
    font-size: 1.125rem;
}

@media (min-width: 1024px) {
    .c-contacts__name {
        grid-column: 1;
    }
}

.c-contacts__address {
    font-size: 1.125rem;
}

@media (min-width: 1024px) {
    .c-contacts__address {
        grid-column: 2;
    }
}

.c-contacts__tel {
    font-size: 1.125rem;
}

@media (min-width: 1024px) {
    .c-contacts__tel {
        grid-column: 3;
    }
}

.c-contacts__actions {
    display: flex;
    flex-direction: column;
    column-gap: calc(var(--spacing) * 8);
    row-gap: calc(var(--spacing) * 2);
}

@media (min-width: 1024px) {
    .c-contacts__actions {
        grid-column: 4;
        flex-direction: row;
        justify-content: center;
    }
}

.c-contacts__icons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    column-gap: calc(var(--spacing) * 2);
    row-gap: calc(var(--spacing) * 1);
}

.c-contacts__icons img {
    width: 20px;
    height: 20px;
}

.c-contacts__icons:not(:has(> *)) {
    display: none;
}

@media (min-width: 1024px) {
    .c-contacts__artisan {
        margin-left: auto;
    }
}

/* Store */
.c-store {
    text-align: center;
}

.c-store__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #8f8baa;
    color: #fff;
    padding: 0.75rem 1rem;
    font-family: var(--font-serif);
    font-size: 1.25rem;
    text-decoration: none;
    width: 100%;
    max-width: calc(var(--spacing) * 100);
    transition: opacity 220ms ease;
}

.c-store__link:hover {
    opacity: 0.8;
}

/*
伝統的工芸品マーク
*/

.c-designation-mark {
    display: flex;
    flex-direction: column;
    gap: calc(var(--spacing) * 4);
}

@media (min-width: 768px) {
    .c-designation-mark {
        display: grid;
        grid-template-columns: 1fr 4fr;
        gap: calc(var(--spacing) * 8);
    }
}

.c-designation-mark__image {}

.c-designation-mark__image>img {
    display: block;
    margin: 0 auto;
    max-width: 120px;
}

@media (min-width: 768px) {
    .c-designation-mark__image {
        border-right: 1px solid #707070;
        padding-right: calc(var(--spacing) * 8);
    }
}

.c-designation-mark__description {
    font-family: var(--font-hiragino);
    font-size: 1.125rem;
    line-height: 1.8;
}