/* ==========================================================
   永井家記念館 デジタルアーカイブ
   Omeka S / Default Theme
   Custom CSS
========================================================== */


/* ==========================================================
   01. Variables
========================================================== */

:root {
    --nagai-dark: #332a24;
    --nagai-brown: #594638;
    --nagai-accent: #87694e;

    --nagai-beige: #ebe3d8;
    --nagai-light: #f6f2ec;
    --nagai-bg: #fbfaf7;
    --nagai-white: #ffffff;

    --nagai-text: #211d1a;
    --nagai-muted: #49423c;
    --nagai-border: #d8d0c6;

    --nagai-width: 1200px;

    --nagai-font:
        "Yu Mincho",
        "YuMincho",
        "Hiragino Mincho ProN",
        "Hiragino Mincho Pro",
        "MS PMincho",
        serif;
}


/* ==========================================================
   02. Base
========================================================== */

html,
body {
    width: 100%;
    max-width: none !important;
}

html {
    overflow-x: hidden;
}

body {
    margin: 0;

    background: var(--nagai-bg);
    color: var(--nagai-text);

    font-family: var(--nagai-font);
    font-size: 16px;
    line-height: 1.9;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

img {
    max-width: 100%;
}

p,
li,
dt,
dd,
input,
textarea,
select {
    font-family: var(--nagai-font);
}

p,
li,
dd {
    color: var(--nagai-text);
}

a {
    transition:
        color .2s ease,
        background-color .2s ease,
        border-color .2s ease;
}

a:link,
a:visited {
    color: var(--nagai-brown);
}

a:hover {
    color: var(--nagai-accent);
}

h1,
h2,
h3,
h4,
h5,
h6 {
    margin-top: 0;

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;
    font-weight: 600;

    line-height: 1.5;
    letter-spacing: .03em;
}

h1 {
    font-size: clamp(30px, 3vw, 42px);
}

h2 {
    font-size: clamp(27px, 2.5vw, 35px);
}

h3 {
    font-size: clamp(21px, 2vw, 26px);
}


/* ==========================================================
   03. Main content width
========================================================== */

#content {
    width: 100%;
    max-width: var(--nagai-width);

    margin-left: auto;
    margin-right: auto;

    padding-left: 30px;
    padding-right: 30px;
}


/* ==========================================================
   04. Header
========================================================== */

header {
    position: relative;

    width: 100%;
    max-width: none;

    margin: 0;

    background: var(--nagai-white);
}

h1.site-title,
.site-title {
    width: 100%;
    max-width: var(--nagai-width);

    margin-left: auto;
    margin-right: auto;

    padding-top: 30px;
    padding-bottom: 26px;

    font-family: var(--nagai-font) !important;
}

h1.site-title {
    font-size: 22px;
    font-weight: 600;
    letter-spacing: .06em;
}

#top-nav {
    width: 100%;
    max-width: var(--nagai-width);

    margin-left: auto;
    margin-right: auto;

    border: 0;
}

header nav > ul {
    margin-bottom: 0;
}

header nav > ul > li > a {
    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;

    font-size: 16px;
    font-weight: 500;

    letter-spacing: .03em;
}

header nav > ul > li > a:hover {
    color: var(--nagai-accent);
}


/* ==========================================================
   05. Banner / Main visual
========================================================== */

/*
 * PCでDefaultテーマのz-index:-1により
 * バナーが隠れる問題を修正
 */

body.site-page-top .banner {
    z-index: 0 !important;
}


/*
 * トップページ以外ではメインビジュアル非表示
 */

body:not(.site-page-top) .banner {
    display: none !important;
}


/*
 * 下層ページはバナーがないので上部余白を確保
 */

body:not(.site-page-top) #content {
    padding-top: 60px;
}


/* ==========================================================
   06. Top search
========================================================== */

body.site-page-top #search {
    position: absolute;

    left: 50%;
    bottom: 30px;

    transform: translateX(-50%);

    width: min(760px, calc(100% - 40px));

    margin: 0;

    z-index: 30;
}


/* 検索フォーム */

body.site-page-top #search form,
body.site-page-top #search-form {
    display: flex;
    align-items: stretch;

    width: 100%;

    margin: 0;
    padding: 7px;

    background: rgba(255, 255, 255, .97);

    border: 1px solid rgba(89, 70, 56, .15);

    box-shadow: 0 10px 30px rgba(0, 0, 0, .16);
}


/* 入力欄 */

body.site-page-top #search input[type="text"],
body.site-page-top #search input[type="search"],
body.site-page-top #fulltext-search {
    flex: 1;

    width: auto;
    min-width: 0;

    height: 52px;

    margin: 0;
    padding: 0 18px;

    border: 0 !important;

    background: transparent;

    color: var(--nagai-text);

    font-family: var(--nagai-font);

    font-size: 16px;
    line-height: 52px;

    outline: none;
}


/* 検索ボタン */

body.site-page-top #search button[type="submit"],
body.site-page-top #search-submit {
    position: relative !important;

    display: block !important;

    flex: 0 0 54px;

    width: 54px !important;
    min-width: 54px;
    height: 52px !important;

    margin: 0 !important;
    padding: 0 !important;

    border: 0;
    border-radius: 0;

    background: var(--nagai-brown);
    color: var(--nagai-white);

    text-indent: -9999px !important;
}

body.site-page-top #search button[type="submit"]:hover,
body.site-page-top #search-submit:hover {
    background: var(--nagai-dark);
}


/* 虫眼鏡中央配置 */

body.site-page-top #search form button[type="submit"]::before {
    content: "\f002" !important;

    position: absolute !important;

    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;

    transform: translate(-50%, -50%) !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    color: #fff !important;

    font-family: "Font Awesome 5 Free" !important;
    font-size: 18px !important;
    font-weight: 900 !important;

    line-height: 1 !important;

    text-align: center !important;
    text-indent: 0 !important;
}


/* ==========================================================
   07. Top page base
========================================================== */

body.site-page-top #content {
    padding-top: 0;
}


/*
 * トップページ内の各セクションを
 * しっかり分離して見せる
 */

body.site-page-top .archive-section-title {
    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    font-size: clamp(28px, 2.4vw, 35px);
    font-weight: 600;

    letter-spacing: .03em;
}


/* ==========================================================
   08. 資料サイトについて
========================================================== */

/*
 * 現在HTMLではwrapperなしで
 * 最初のh2 → pという構造なので、
 * p側のmargin-bottomで次セクションとの余白を作る
 */

body.site-page-top .archive-section-title:first-of-type {
    margin-top: 95px;
    margin-bottom: 24px;
}

body.site-page-top .archive-intro-text {
    margin-top: 0;
    margin-bottom: 105px;

    color: #3f3934 !important;

    font-family: var(--nagai-font) !important;

    font-size: 16px;

    line-height: 2.1;
}


/* ==========================================================
   09. 資料分類
========================================================== */

/*
 * 2つ目のh2
 */

body.site-page-top .archive-intro-text + .archive-section-title {
    margin-top: 0;
    margin-bottom: 32px;
}


/*
 * Item Setまたは手書きカード
 * PC 4カラム
 */

.archive-category-grid {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

    margin-bottom: 115px;
}


/* 分類カード */

.archive-category-card {
    display: block;

    min-width: 0;
    min-height: 0;

    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 1px solid var(--nagai-border);

    background: var(--nagai-white);

    color: var(--nagai-text) !important;

    text-decoration: none;

    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
}

.archive-category-card::before {
    display: none !important;

    content: none !important;
}

.archive-category-card:hover {
    border-color: #a99480;

    background: var(--nagai-white);

    color: var(--nagai-text) !important;

    transform: none !important;
    box-shadow: none !important;
}


/* 旧01〜04・矢印 */

.archive-category-number,
.archive-category-arrow {
    display: none !important;
}


/* 分類画像 */

.archive-category-image {
    display: block;

    width: 100%;

    aspect-ratio: 4 / 3;

    overflow: hidden;

    background: var(--nagai-beige);
}

.archive-category-image img {
    display: block;

    width: 100%;
    height: 100%;

    margin: 0;

    object-fit: cover;
    object-position: center;
}


/* 分類テキスト */

.archive-category-body {
    display: block;

    padding: 20px 20px 22px;
}

.archive-category-name {
    display: block;

    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    font-size: 21px;
    font-weight: 600;

    line-height: 1.5;
}

.archive-category-desc {
    display: block;

    margin-top: 9px;

    color: #453e38 !important;

    font-family: var(--nagai-font) !important;

    font-size: 14px;

    line-height: 1.8;
}


/* ==========================================================
   10. Item Set Browse Preview
   「資料を分類から探す」をOmeka標準で出す場合
========================================================== */

body.site-page-top .archive-category-block {
    margin-bottom: 115px;
}

body.site-page-top .archive-category-block > h2,
body.site-page-top .archive-category-block > h3 {
    margin-bottom: 32px;

    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    font-size: clamp(28px, 2.4vw, 35px);
    font-weight: 600;
}

body.site-page-top .archive-category-block ul.preview.resource-list {
    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 18px;

    margin: 0;
    padding: 0;
}

body.site-page-top .archive-category-block .resource {
    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 1px solid var(--nagai-border);

    background: var(--nagai-white);

    transition: none;
}

body.site-page-top .archive-category-block .resource:first-child {
    padding-top: 0;

    border-top: 1px solid var(--nagai-border);
}

body.site-page-top .archive-category-block .resource img {
    display: block;

    float: none;

    width: 100%;
    height: 210px;

    margin: 0;

    object-fit: cover;
    object-position: center;

    background: var(--nagai-beige);
}

body.site-page-top .archive-category-block .resource img ~ * {
    width: auto;
}

body.site-page-top .archive-category-block .resource h4 {
    margin: 0;

    padding: 18px 18px 8px;

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;

    font-size: 21px;
    font-weight: 600;

    line-height: 1.5;
}

body.site-page-top .archive-category-block .resource h4 a {
    color: var(--nagai-text) !important;

    text-decoration: none;
}

body.site-page-top .archive-category-block .resource .description {
    padding: 0 18px 20px;

    color: var(--nagai-muted) !important;

    font-family: var(--nagai-font) !important;

    font-size: 14px;

    line-height: 1.8;
}


/* ==========================================================
   11. Pickup
========================================================== */

body.site-page-top .block-browsePreview {
    margin-top: 0;
    margin-bottom: 115px;
}

body.site-page-top .block-browsePreview > h2,
body.site-page-top .block-browsePreview > h3 {
    margin-bottom: 32px;

    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    font-size: clamp(28px, 2.4vw, 35px);
    font-weight: 600;

    letter-spacing: .03em;
}


/* PC 3カラム */

body.site-page-top ul.preview.resource-list {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 25px;

    margin: 0 0 38px;
    padding: 0;
}


/* 資料カード */

body.site-page-top ul.preview.resource-list .resource {
    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 1px solid var(--nagai-border);

    background: var(--nagai-white);

    transition: none;
}

body.site-page-top ul.preview.resource-list .resource:first-child {
    padding-top: 0;

    border-top: 1px solid var(--nagai-border);
}

body.site-page-top ul.preview.resource-list .resource:hover {
    border-color: #b8a895;

    transform: none;
    box-shadow: none;
}


/* 資料画像 */

body.site-page-top ul.preview.resource-list .resource img {
    display: block;

    float: none;

    width: 100%;
    height: 245px;

    margin: 0;

    object-fit: contain;
    object-position: center;

    background: var(--nagai-beige);

    image-rendering: auto;
}

body.site-page-top ul.preview.resource-list .resource img ~ * {
    width: auto;
}


/* 資料タイトル */

body.site-page-top ul.preview.resource-list .resource h4 {
    margin: 0;

    padding: 17px 18px 8px;

    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    font-size: 19px !important;
    font-weight: 600;

    line-height: 1.6;
}

body.site-page-top ul.preview.resource-list .resource h4 a {
    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    text-decoration: none;
}

body.site-page-top ul.preview.resource-list .resource h4 a:hover {
    color: var(--nagai-accent) !important;
}


/* 資料説明 */

body.site-page-top ul.preview.resource-list .resource .description {
    padding: 0 18px 19px;

    color: var(--nagai-muted) !important;

    font-family: var(--nagai-font) !important;

    font-size: 15px !important;

    line-height: 1.8;
}


/* 「すべての資料を見る」を中央 */

body.site-page-top .resource-list.preview + a {
    display: block;

    width: fit-content;

    margin-left: auto;
    margin-right: auto;

    padding: 13px 28px;

    background: var(--nagai-brown);

    color: var(--nagai-white) !important;

    font-family: var(--nagai-font) !important;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
}

body.site-page-top .resource-list.preview + a:hover {
    background: var(--nagai-dark);

    color: var(--nagai-white) !important;
}


/* ==========================================================
   12. 資料の利用について
========================================================== */

.archive-about {
    position: relative;

    margin-top: 0;

    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;

    padding:
        85px
        max(30px, calc((100vw - var(--nagai-width)) / 2)) !important;

    background: transparent !important;

    color: var(--nagai-text) !important;

    border-top: 1px solid var(--nagai-border);
}

.archive-about-inner {
    display: grid;

    grid-template-columns: 34% minmax(0, 1fr);

    gap: 75px;

    width: 100%;
    max-width: var(--nagai-width);

    margin: 0 auto;
}

.archive-about-title {
    margin: 0;

    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;

    font-size: clamp(28px, 2.4vw, 35px);
    font-weight: 600;

    line-height: 1.6;
}

.archive-about-content,
.archive-about-content p {
    color: var(--nagai-muted) !important;

    font-family: var(--nagai-font) !important;

    font-size: 16px;

    line-height: 2;
}

.archive-about-content p {
    margin-top: 0;
}

.archive-about-content p:last-child {
    margin-bottom: 0;
}


/* ==========================================================
   13. Item browse page
========================================================== */

#content > ul.resource-list {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 27px;

    margin: 0;
    padding: 0;
}

#content > ul.resource-list .resource {
    margin: 0;
    padding: 0;

    overflow: hidden;

    border: 1px solid var(--nagai-border);

    background: var(--nagai-white);

    transition: none;
}

#content > ul.resource-list .resource:first-child {
    padding-top: 0;

    border-top: 1px solid var(--nagai-border);
}

#content > ul.resource-list .resource:hover {
    border-color: #b8a895;

    transform: none;
    box-shadow: none;
}

#content > ul.resource-list .resource img {
    display: block;

    float: none;

    width: 100%;
    height: 250px;

    margin: 0;

    object-fit: contain;
    object-position: center;

    background: var(--nagai-beige);
}

#content > ul.resource-list .resource img ~ * {
    width: auto;
}

#content > ul.resource-list .resource h4 {
    margin: 0;

    padding: 17px 18px 8px;

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;

    font-size: 19px;
    font-weight: 600;

    line-height: 1.6;
}

#content > ul.resource-list .resource h4 a {
    color: var(--nagai-text);
}

#content > ul.resource-list .resource .description {
    padding: 0 18px 20px;

    color: var(--nagai-muted);

    font-family: var(--nagai-font) !important;

    font-size: 15px;

    line-height: 1.8;
}


/* ==========================================================
   14. Browse controls / Advanced search
========================================================== */

.browse-controls {
    margin-bottom: 35px;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--nagai-border);
}

.browse-controls,
.browse-controls input,
.browse-controls select {
    font-family: var(--nagai-font) !important;
}

.advanced-search a {
    display: inline-block;

    padding: 9px 18px;

    border: 1px solid var(--nagai-brown);

    color: var(--nagai-brown);

    font-family: var(--nagai-font) !important;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;
}

.advanced-search a:hover {
    background: var(--nagai-brown);

    color: var(--nagai-white);
}


/* ==========================================================
   15. Item detail
========================================================== */

body.resource #content > h2:first-of-type {
    margin-bottom: 35px;

    padding-bottom: 20px;

    border-bottom: 1px solid var(--nagai-border);

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;
}

body.resource .metadata {
    margin-top: 50px;

    padding: 35px;

    border: 1px solid var(--nagai-border);

    background: var(--nagai-white);
}

body.resource .property {
    display: grid;

    grid-template-columns: 180px minmax(0, 1fr);

    gap: 25px;

    margin: 0;
    padding: 20px 0;

    border-bottom: 1px solid var(--nagai-border);
}

body.resource .property:last-child {
    border-bottom: 0;
}

body.resource .property dt {
    margin: 0;

    color: var(--nagai-muted);

    font-family: var(--nagai-font) !important;

    font-size: 14px;
    font-weight: 600;
}

body.resource .property dd,
body.resource .property .value {
    margin: 0;

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;

    font-size: 16px;
}


/* ==========================================================
   16. Lightbox gallery
========================================================== */

.lightbox-gallery {
    margin-bottom: 45px;
}

.lightbox-gallery img {
    background: var(--nagai-light);
}


/* ==========================================================
   17. Forms / Buttons
========================================================== */

input[type="text"],
input[type="search"],
input[type="number"],
select,
textarea {
    border: 1px solid var(--nagai-border);

    background: var(--nagai-white);

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;
}

button,
.button,
a.button,
[type="submit"] {
    border: 0;

    border-radius: 0;

    background: var(--nagai-brown);

    color: var(--nagai-white);
}

button:not(#search-submit),
.button,
a.button {
    font-family: var(--nagai-font);
}

button:hover,
.button:hover,
a.button:hover,
[type="submit"]:hover {
    background: var(--nagai-dark);

    color: var(--nagai-white);
}


/* ==========================================================
   18. Pagination
========================================================== */

.pagination {
    font-family: var(--nagai-font) !important;
}

.pagination .button {
    background: var(--nagai-brown);

    color: var(--nagai-white);
}

.pagination .inactive.button {
    background: var(--nagai-beige);

    color: var(--nagai-muted);
}


/* ==========================================================
   19. Footer
========================================================== */

footer {
    width: 100%;
    max-width: none;

    margin-top: 90px;

    padding:
        45px
        max(30px, calc((100% - var(--nagai-width)) / 2));

    background: var(--nagai-dark);

    color: rgba(255, 255, 255, .85);

    font-family: var(--nagai-font) !important;

    font-size: 14px;
}

body.site-page-top footer {
    margin-top: 0;
}

footer p {
    color: rgba(255, 255, 255, .85);
}

footer a:link,
footer a:visited {
    color: var(--nagai-white);
}

footer a:hover {
    color: #ddcbb8;
}


/* ==========================================================
   20. Tablet
========================================================== */

@media screen and (max-width: 900px) {

    #content {
        padding-left: 25px;
        padding-right: 25px;
    }


    /* トップのセクション余白 */

    body.site-page-top .archive-section-title:first-of-type {
        margin-top: 80px;
    }

    body.site-page-top .archive-intro-text {
        margin-bottom: 85px;
    }

    .archive-category-grid,
    body.site-page-top .archive-category-block ul.preview.resource-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .archive-category-grid,
    body.site-page-top .archive-category-block,
    body.site-page-top .block-browsePreview {
        margin-bottom: 90px;
    }


    /* Pickup / Item list */

    body.site-page-top ul.preview.resource-list,
    #content > ul.resource-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


    /* About */

    .archive-about-inner {
        grid-template-columns: 1fr;

        gap: 32px;
    }


    /* Detail */

    body.resource .property {
        grid-template-columns: 140px minmax(0, 1fr);
    }
}


/* ==========================================================
   21. Smartphone
========================================================== */

@media screen and (max-width: 600px) {

    body {
        font-size: 15px;
    }

    #content {
        padding-left: 18px;
        padding-right: 18px;
    }


    /* Header */

    h1.site-title,
    .site-title {
        padding:
            20px
            55px
            20px
            18px;
    }

    h1.site-title {
        font-size: 17px;
    }


    /* Search */

    body.site-page-top #search {
        bottom: 14px;

        width: calc(100% - 28px);
    }

    body.site-page-top #search form,
    body.site-page-top #search-form {
        padding: 5px;
    }

    body.site-page-top #search input[type="text"],
    body.site-page-top #search input[type="search"],
    body.site-page-top #fulltext-search {
        height: 44px;

        padding: 0 11px;

        font-size: 14px;
        line-height: 44px;
    }

    body.site-page-top #search button[type="submit"],
    body.site-page-top #search-submit {
        flex-basis: 47px;

        width: 47px !important;
        min-width: 47px;
        height: 44px !important;
    }


    /* トップ余白 */

    body.site-page-top .archive-section-title:first-of-type {
        margin-top: 60px;
        margin-bottom: 18px;

        font-size: 25px;
    }

    body.site-page-top .archive-intro-text {
        margin-bottom: 65px;

        font-size: 14px;
        line-height: 2;
    }

    body.site-page-top .archive-intro-text + .archive-section-title {
        margin-bottom: 20px;

        font-size: 25px;
    }


    /* Categories */

    .archive-category-grid,
    body.site-page-top .archive-category-block ul.preview.resource-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 10px;
    }

    .archive-category-grid,
    body.site-page-top .archive-category-block {
        margin-bottom: 70px;
    }

    .archive-category-body {
        padding: 14px 12px 16px;
    }

    .archive-category-name {
        font-size: 17px;
    }

    .archive-category-desc {
        margin-top: 7px;

        font-size: 12px;
        line-height: 1.65;
    }

    body.site-page-top .archive-category-block .resource img {
        height: 150px;
    }

    body.site-page-top .archive-category-block .resource h4 {
        padding: 14px 12px 6px;

        font-size: 17px;
    }

    body.site-page-top .archive-category-block .resource .description {
        padding: 0 12px 15px;

        font-size: 12px;
    }


    /* Pickup */

    body.site-page-top .block-browsePreview {
        margin-bottom: 70px;
    }

    body.site-page-top .block-browsePreview > h2,
    body.site-page-top .block-browsePreview > h3 {
        margin-bottom: 22px;

        font-size: 25px;
    }

    body.site-page-top ul.preview.resource-list,
    #content > ul.resource-list {
        grid-template-columns: 1fr;

        gap: 18px;
    }

    body.site-page-top ul.preview.resource-list .resource img,
    #content > ul.resource-list .resource img {
        height: 240px;
    }

    body.site-page-top ul.preview.resource-list .resource h4,
    #content > ul.resource-list .resource h4 {
        font-size: 18px !important;
    }


    /* 資料の利用について */

    .archive-about {
        padding:
            55px
            18px !important;
    }

    .archive-about-inner {
        gap: 22px;
    }

    .archive-about-title {
        font-size: 25px;
    }

    .archive-about-content,
    .archive-about-content p {
        font-size: 14px;

        line-height: 2;
    }


    /* Detail */

    body.resource .metadata {
        margin-top: 35px;

        padding: 20px 17px;
    }

    body.resource .property {
        display: block;

        padding: 15px 0;
    }

    body.resource .property dt {
        margin-bottom: 5px;
    }


    /* Footer */

    footer {
        margin-top: 65px;

        padding: 35px 18px;
    }
}

/* ==========================================================
   このサイトについて
========================================================== */

.about-page {
    max-width: 900px;
    margin: 0 auto;
}

.about-section {
    padding: 0 0 80px;
}

.about-section + .about-section {
    padding-top: 70px;
    border-top: 1px solid var(--nagai-border);
}

.about-section h2 {
    margin-bottom: 28px;

    color: var(--nagai-text);

    font-family: var(--nagai-font) !important;
    font-size: clamp(27px, 2.4vw, 35px);
}

.about-section p {
    margin: 0 0 18px;

    color: var(--nagai-muted);

    font-size: 16px;
    line-height: 2.1;
}

.about-official-link {
    display: inline-block;

    margin-top: 15px;
    padding: 13px 25px;

    background: var(--nagai-brown);

    color: #fff !important;

    text-decoration: none;
}

.about-official-link:hover {
    background: var(--nagai-dark);
}

@media screen and (max-width: 600px) {

    .about-section {
        padding-bottom: 55px;
    }

    .about-section + .about-section {
        padding-top: 50px;
    }

    .about-section h2 {
        margin-bottom: 20px;
        font-size: 25px;
    }

    .about-section p {
        font-size: 14px;
        line-height: 2;
    }
}

/* ==========================================================
   Item Set一覧
   タイトル・説明文の余白のみ調整
========================================================== */

/* タイトル */
body.item-set.browse #content > ul.resource-list .resource h4,
body.item-set.browse #content > ul.resource-list .resource .resource-name {
    margin: 0 !important;
    padding: 18px 20px 7px !important;

    color: var(--nagai-text) !important;

    font-family: var(--nagai-font) !important;
    font-size: 21px !important;
    font-weight: 600;

    line-height: 1.5;
}

/* タイトルのリンク */
body.item-set.browse #content > ul.resource-list .resource h4 a,
body.item-set.browse #content > ul.resource-list .resource .resource-name a {
    color: var(--nagai-text) !important;
    text-decoration: none;
}

/* 説明文 */
body.item-set.browse #content > ul.resource-list .resource .description {
    margin: 0 !important;
    padding: 0 20px 22px !important;

    color: var(--nagai-muted) !important;

    font-family: var(--nagai-font) !important;
    font-size: 14px !important;

    line-height: 1.8;
}


/* スマホ */
@media screen and (max-width: 600px) {

    body.item-set.browse #content > ul.resource-list .resource h4,
    body.item-set.browse #content > ul.resource-list .resource .resource-name {
        padding: 14px 12px 6px !important;
        font-size: 17px !important;
    }

    body.item-set.browse #content > ul.resource-list .resource .description {
        padding: 0 12px 15px !important;
        font-size: 12px !important;
        line-height: 1.65;
    }
}

/* ==========================================================
   トップ以外の共通検索バーを非表示
========================================================== */

body:not(.site-page-top) #search {
    display: none !important;
}

/* ==========================================================
   Faceted Browse
   不要な操作UIを非表示
========================================================== */

/* Copy permalink を非表示 */
#section-content .browse-controls .permalink.button {
    display: none !important;
}

/* 並び替え（Created / 降順 / 並び替え）を非表示 */
#section-content .browse-controls .sorting.action {
    display: none !important;
}

/* ==========================================================
   Faceted Browse
   公開画面の操作UI整理
========================================================== */


/* ------------------------------------------
   Copy permalink を非表示
------------------------------------------ */

body.faceted-browse-page .permalink.button {
    display: none !important;
}


/* ------------------------------------------
   並び替えを非表示
   Created / 降順 / 並び替え
------------------------------------------ */

body.faceted-browse-page form.sorting.action {
    display: none !important;
}


/* ------------------------------------------
   スマホの「Filters」→「絞り込み」
------------------------------------------ */

body.faceted-browse-page #section-sidebar-modal-toggle {
    font-size: 0 !important;
}


/* 日本語ラベルを表示 */

body.faceted-browse-page #section-sidebar-modal-toggle::after {
    content: "絞り込み";

    font-family: var(--nagai-font) !important;
    font-size: 16px;
    font-weight: 600;

    line-height: 1;

    color: #fff;
}


/* ボタン自体も既存サイトに合わせる */

body.faceted-browse-page #section-sidebar-modal-toggle {
    padding: 12px 16px;

    border: 0;

    background: var(--nagai-brown);

    color: #fff;
}

body.faceted-browse-page #section-sidebar-modal-toggle:hover {
    background: var(--nagai-dark);
}