html {
    height: 100%;
}

body {
    color: #33000f;
    height: 100%;
}
@media (min-width: 576px) {
    body {
        font-size: 1.05rem;
    }
}


/* 整形用 */
.padding-right {
    padding-right: 60px;
}
.padding-left {
    padding-left: 60px;
}

.bg-cc003d {
    background-color: #cc003d;
    color: #ffffff !important;
}
.bg-fff-cl-cc003d-bold {
    background-color: #ffffff;
    color: #cc003d !important;
    font-weight: bold;
}

.h2rem {
    position: relative;
    height: 2rem;
}
.centertext {
    text-align: center;
}

.marker {
    background: linear-gradient(transparent 80%, rgba(204,0,61,0.6) 80%);
    border-left: 1rem solid rgba(204,0,61,0.8);
    padding-left: .5rem;
}

.small {
    font-size: 90%;
}
.large {
    font-size: 130%;
}

span.nobr {
    /* 変なところで改行されないようにするもの */
    display: inline-block;
}

/** 右寄せなリンク **/
span.link-arrow {
    position: absolute;
    right: 0;
}
span.link-arrow:before {
    content: "> ";
}
/**  **/

/** 利用条件は文字を小さく **/
.policy {
    font-size: 1rem;
    padding: 1rem;
}
.policy h6 {
    margin-left: 1rem;
}
.policy p {
    margin-left: 1.5rem;
}


/* リンクをただの白文字に（コレクションページのヘッダー用） */
.link-w {
    text-decoration: none;
    color: #ffffff;
}
.link-w:hover {
    text-decoration: none;
    color: #ffffff;
}
.link-w:visited {
    text-decoration: none;
    color: #ffffff;
}

/* コレクションコピー用 */
.italic {
    font-style: italic;
}


/* hタグ */
h2 {
    color: #000000;
}

h3:before {
    content: "■";
    color: #cc003d;
}

/* aタグ */
a, a:hover{
    color: #0066cc;
    /*font-style: italic;*/
}
a:visited {
    color: #6600cc;
}

/* 選択文字色 */
::selection {
    color:#ffffff;
    background-color:#cc003d;
}
::-moz-selection {
    color:#ffffff;
    background-color:#cc003d;
}


/* ブロック修飾 */
section {
    margin-top: 5rem;
}
@media (min-width: 768px) {
    section {
        margin-top: 10rem;
    }
}

article {
    position: relative;
}

/* フッター */
footer {
    position: relative;
    background-color: #cc003d;
    color: #ffffff;
    padding: 10px;
}
.foot-banner {
    position: relative;
    text-align: center;
}
@media (min-width: 576px) {
    .foot-banner {
        position: absolute;
        right: 2rem;
        top: 2rem;
    }
}


/* トップページのカルーセルエリア */
.toparea {
    background-color: #ffffff;
    padding-bottom: 30px;
    height: 100%;
}

/* トップページの見出し */
.carc-title {
    position: absolute;
    top: 50%;
    width: 100%;
}
.cucolor {
    color: #cc003d;
    background-color: #ffffff;
    display: inline-block;
    font-size: 1.2rem !important;
}
.cucolor-bg {
    color: #ffffff;
    background-color: #cc003d;
    margin-bottom: 0 !important;
    font-size: 1.75rem !important;
    display: inline-block;
}
@media (min-width: 576px) {
    .carc-title {
        top: 60%;
    }
    .cucolor-bg {
        font-size: 2.5rem !important;
    }
}



/* コレクションページのトップへ戻るボタン */
.gototop {
    display: inline-block;
    height: 2.5rem;
    width: 2.5rem;
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    background-color: #ffffff;
    color: #cc003d !important;
    font-size: 2.5rem;
    line-height: 2.2rem;
    vertical-align: middle;
    text-align: center;
    z-index: 5000;
    -webkit-border-radius: .2rem;
    -moz-border-radius: .2rem;
    border-radius: .2rem;
}
.gototop:hover {
    color: #cc003d !important;
}


/* 言語切り替えボタン */
.lang-select {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 5000;
}
.lang-select .dropdown-toggle {
    background-color: #ffffff;
    color: #33000f;
}
.lang-select .dropdown-item {
    color: #33000f;
    padding-right: 0;
}


/* コンテナ */
@media (min-width: 576px) {
    .container {
        max-width: 90%;
    }
}

/* メインメニュー */
nav.navbar {
    box-shadow: 0px -1px 2px 0px #ffffff;
    transition: .5s; /* スクロール用 */
    z-index: 50000;
}
.nav-link {
    color: #ffffff !important;
    background-color: #cc003d;
    font-size: 120%;
}
.nav-link:hover {
    background-color: rgba(255,255,255,0.2);
}
.navbar-toggler {
    background-color: #ffffff;
}
.navbar-toggler .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(204,0,61,0.7)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E");
  }

.navbar.navbar-light {
    background-color: #cc003d;
}

.hide{
    transform: translateY(100%);
}



/* コレクションへのリンク画像 */
.collhead{
    height: auto;
    border: 0px solid red;
    background-size: contain;
    margin-bottom: 15px;
}
.collhead a{
    display: block;
    height: auto;
    width: 100%;
    text-decoration: none;
    font-size: 110%;
    position: relative;
}
.collhead a div{
    background-color: rgba(0, 0, 0, 0.5);
    color: #ffffff;
    position: absolute;
    font-size: 120%;
}

.collhead a img {
    z-index: -1;
    position: relative;
    top: 0px;
    height: auto;
    width: 100%;
    object-fit: cover;
}

@media (min-width: 576px) {
    .collhead{
        height: auto;
    }
    .collhead a{
        height: auto;
    }
    .collhead a img {
        height: auto;
    }
}





/* コレクションページのサムネイル並べる用 */
.mb15 {
    margin-bottom: 15px;
}
.thumb_title {
    position: absolute;
    top: 0;
    left: 15px;
    background-color: rgba(255,255,255,0.9);
    border: 2px solid #cc003d;
    padding: .1rem;
}
.btn-uv {
    position: absolute;
    bottom: .1rem;
    background-color: #3e114e;
    color: #ffffff;
    width: 2rem;
    height: 2rem;
    padding: .15rem .25rem;
}
.btn-uv:visited {
    color: #ffffff;
}
.btn-mirador {
    position: absolute;
    bottom: .1rem;
    left: 3.1rem;
    width: 2rem;
    height: 2rem;
    padding: .1rem .25rem;
}
.btn-mirador img {
    height: 1.2rem;
}
.btn-manifest {
    position: absolute;
    bottom: .1rem;
    right: 15px;
    height: 2rem;
    padding: .1rem .25rem;
}
.btn-manifest img {
    height: 1.2rem;
}


/* コレクションページのリスト */
.coll-list ol li {
    /* list-group-flush */
    border-right: 0 !important;
    border-left: 0 !important;
    border-radius: 0 !important;
    /* list-group-item */
    position: relative;
    display: block;
    padding: .75rem 1.25rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid rgba(0,0,0,.125);

    list-style-type: none;
    margin-left: 0;
    -webkit-padding-start: 0;
    -moz-padding-start: 0;
}
.coll-list ol li a[href^="../uv/"], .coll-list ol li a[href^="../../uv/"] {
    display: inline-block;
    background-color: #3e114e;
    color: #ffffff;
    width: 2rem;
    height: 2rem;
    padding: .15rem .25rem;
    vertical-align: middle;
}
.coll-list ol li a[href^="../uv/"]:hover, .coll-list ol li a[href^="../../uv/"]:hover {
    text-decoration: none;
}
.coll-list ol li a[href^="../uv/"]:visited, .coll-list ol li a[href^="../../uv/"]:visited {
    color: #ffffff;
}

.coll-list ol li a[href^="../mirador/"], .coll-list ol li a[href^="../../mirador/"] {
    display: inline-block;
    background-image: url("../img/mirador-logo.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #333333;
    width: 2rem;
    height: 2rem;
    padding: .1rem .25rem;
    border: 5px solid #333333;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
}

.coll-list ol li a[data-original-title="manifest"] img {
    width: 2rem;
    height: 2rem;
}
.coll-list ol li a[href^="https://khirin-i.rekihaku.ac.jp/manifests/"] img {
    width: 2rem;
    height: 2rem;
}

/* 国文研電子化対象 */
.coll-list ol li.label::after, .nijl-label {
/*    content: '国文研電子化';*/
    color: #fff;
    font-size: .8rem;
    letter-spacing: .08em;
    margin-left: 10px;
    padding: 1px 3px 2px;
    border-radius: 3px;
    background-color: rgba(204, 0, 61, .7);
}

.titlelogo {
    height: 2.5rem;
    width: 8.2rem;
}
.titlelogo2 {
    height: 2.5rem;
    width: 2.5rem;
}
.titletab {
    margin-left: 30px;
}


/* slick */

/* コレクションページのslick */
#slick .slick-slide {
    position: relative;
    transition: .3s ease;
    margin-bottom: 1rem;
}
#slick .slick-slide:not(.slick-current) {
    /* 両横の画像は見せない */
    display: none;
}
#slick .slick-slide .caption {
    /* キャプション */
    position: absolute;
    left: 25%;
    bottom: 0px;
    z-index: 2;
    width: 50%;
    padding: 1rem;
    background: rgba(0, 0, 0, .5);
    color: #fff;
    font-size: small;
    opacity: 0;
    transition: .3s ease;
}
@media (min-width: 756px) {
    #slick .slick-slide .caption {
        width: 60%;
        left: 0;
    }
}
#slick .slick-current .caption {
    /* 現在表示されている画像のキャプションだけを表示 */
    opacity: 1;
    transition-delay: .5s;
}

.slick-slide img {
    /* 画像の大きさ */
    width: 100%;
    height: auto;
    object-fit: cover;
}
.slick-arrow:before {
    /* 前後の画像にスライドさせる矢印の色と大きさ */
    color: #cc003d !important;
    font-size: 1.75rem !important;
}
.slick-prev {
    left: 1rem !important;
    height: 1.75rem !important;
    width: 1.75rem !important;
    z-index: 5000;
}
.slick-next {
    right: 1rem !important;
    height: 1.75rem !important;
    width: 1.75rem !important;
    z-index: 5000;
}

/* カルーセルのサムネイル */
#slick-thumb .slick-slide {
    margin-left: .2rem;
    margin-right: .2rem;
}
#slick-thumb .slick-slide:not(.slick-active) {
    opacity: .2;
}

#slick-thumb p.caption {
    /* サムネイルのキャプションは非表示 */
    display: none;
}

#slick-thumb a {
    /* サムネイルをクリックしても画面遷移しない（その画像にメイン画像が変わる） */
    pointer-events: none;
}

#slick-thumb img {
    /* slickサムネイルの縦幅整列 */
    width: 100%;
    height: 10vw;
    object-fit: cover;
}

/* トップページのslick */
#top-slick {
    height: 100%;
    height: 100vh;
    object-fit: cover;
    
}
#top-slick .slick-slide {
    height: 100%;
    height: 100vh;
    width: 100%;
    width: 100vw;
    object-fit: cover;
}
#top-slick .slick-slide img {
    width: 100%;
    object-fit: cover;
    z-index: -50000;
}
#top-slick p.caption {
    display: none;
}

/* 萩庭ページ日本地図 */

.map{
    margin: 5px;
  }
  
  .pre-text {
    fill: #cc003d;
  }
  
  .pre-land {
    fill: white;
    stroke: #cc003d;
    stroke-width: 6px;
  }
  
  .prefecture:hover .pre-text {
    fill: white;
  }
  
  .prefecture:hover .pre-land {
    fill: #cc003d;
  }

  /* 萩庭個別ページのページネーション */

  .pagination-wrap {
          display: flex;
          justify-content: center;
        }

        .pagination {
          display: flex;
          justify-content: center;
          position: relative;
          width: 80vw;
          overflow: hidden;
        }

        .pagination::before, .pagination::after {
          content: '';
          position: absolute;
          top: 5px;
          z-index: 5;
          width: 15px;
          height: 35px;
          opacity: .4;
          pointer-events: none;
        }
        
        .pagination::before {
          left: 0;
          background: linear-gradient(to right, black, transparent);
        }

        .pagination::after {
          right: 0;
          background: linear-gradient(to left, black, transparent);
        }

        .pagination.no-left-shadow::before {
          background: none;
        }

        .pagination.no-right-shadow::after {
          background: none;
        }

        .pg-wrap {
          display: flex;
          padding-top: 5px;
          height: 60px;
          overflow-x: auto;
          font-size: 1.5rem;
        }

        .pg {
          flex-shrink: 0;
          margin: 0;
          width: 35px;
          height: 35px;
          border-top: 2px solid #cc003d;
          border-left: 2px solid #cc003d;
          border-bottom: 2px solid #cc003d;
        }

        .pg-txt {
          width: 100%;
          height: 100%;
          display: flex;
          justify-content: center;
          align-items: center;
          color: #cc003d;
        }

        .pg-txt:hover {
          color: white;
          background-color: #cc003d;
        }

        @media(hover: none){
          .pg-txt:hover {
            color: #cc003d;
            background-color: transparent;
          }
          .pg-txt:active {
            color: white;
            background-color: #cc003d;
          }
        }

        .pg_cur {
          background-color: #cc003d;
        }

        .pg_cur .pg-txt {
          color: white;
          cursor: default;
          pointer-events: none;
        }

        .pg:last-of-type {
          border-right : 2px solid #cc003d;
        }
        
        @media (max-width: 992px) {
          a.pg-txt {
            color: #cc003d;
          }
        }
          .pg-arrow {
            display: flex;
            justify-content: center;
            align-items: center;
            position: relative;
            margin-top: 5px;
            width: 20px;
            height: 35px;
            background-color: #cc003d;
            cursor: pointer;
          }

          .pg-arrow.left {
            border-right: 2px solid white;
          }

          .pg-arrow.right {
            border-left: 2px solid white;
          }

          .pg-arrow:hover {
            opacity: 0.7;
          }

          .pg-arrow::after {
            content: '';
            width: 10px;
            height: 10px;
            border-left: 3px solid white;
            border-bottom: 3px solid white;
            border-bottom-left-radius: 2px;
          }

          .pg-arrow.left::after {
            transform: rotate(45deg);
          }

          .pg-arrow.right::after {
            transform: rotate(225deg);
          }

  /* 萩庭個別分類ページのサムネイル */

  .icon {
    width: 2rem;
    height: 2rem;
  }

  .tiles {
    margin: 0 auto;
    max-width: 1600px;
    list-style-type: none;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-left: 0;
  }
  
  .tile-wrap {
    margin-left: 10px;
    margin-right: 10px;
  }

  @media (min-width: 992px) {
    .tiles {
        margin: 0 auto;
    }

    .tile-wrap {
        margin: 25px;
    }
}

  
  .tile {
    position: relative;
    width: 150px;
    height: 150px;
    background-color: #cccccc;
    box-shadow: 0 2px 5px rgba(0,0,0,0.26);
    margin: 20px auto 0;
    border-radius: 3px;
    transform: perspective(50px);
    transition: all 0.32s ease-out 0.15s;
  }
  
  .tile:hover {
    cursor: pointer;
    box-shadow: 0 6px 15px rgba(0,0,0,0.3);
    transform: perspective(50px) translateZ(2px);
  }
  
  .tile-img {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
  }
  
  .tile-img img {
    display: block;
    max-width: 150px;
    max-height: 150px;
  }
  
  .tile-desc {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: rgba(0,0,0,0.6);
    display: none;
  }
  
  .tile-cont {
    width: 100%;
    height: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .tile-ttl {
    color: white;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  
  .tile-link-wrap {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  
  .tile-link {
    flex: 0 0 calc(100% / 3);
    max-width: calc(100% / 3);
    padding-left: 10px;
    padding-right: 10px;
  }
  
  .tile-link img {
    width: 100%;
    background-color: white;
    border: 1px solid #cccccc;
    border-radius: 5px;
    position: relative;
    z-index: 2;
  }

   /* 萩庭トップページのリスト・サムネイル形式切り替えボタン */

 .tgl-btn-wrap {
    display: flex;
    justify-content: center;
    width: 100%;
    margin-bottom: 20px;
}
@media (min-width: 992px) {
    .tgl-btn-wrap {
        max-width: 460px;
    }
}

.tgl-btn {
    border: 2px solid #e0668b;
    color: #e0668b;
    padding: 5px 10px;
    width: 215px;
    text-align: center;
    font-weight: bold;
    cursor: pointer;
}

.tgl-btn svg {
    width: 14px;
    fill: #e0668b;
    pointer-events: none;
}

.tgl-btn.active svg {
    width: 14px;
    fill: white;
}

.tgl-btn.left {
    border-bottom-left-radius: 5px;
    border-top-left-radius: 5px;
    border-right: none;
}

.tgl-btn.right {
    border-bottom-right-radius: 5px;
    border-top-right-radius: 5px;
    border-left: none;
}

.tgl-btn.active {
    border-color: #cc003d;
    color: white;
    background-color: #cc003d;
    cursor: auto;
    pointer-events: none;
}
.coll-list ol li a[href^="../../uv/"] {
    display: inline-block;
    background-color: #3e114e;
    color: #ffffff;
    width: 2rem;
    height: 2rem;
    padding: .15rem .25rem;
    vertical-align: middle;
}
.coll-list ol li a[href^="../../uv/"]:hover {
    text-decoration: none;
}
.coll-list ol li a[href^="../../uv/"]:visited {
    color: #ffffff;
}
.coll-list ol li a[href^="../../mirador/"] {
    display: inline-block;
    background-image: url("../img/mirador-logo.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-color: #333333;
    width: 2rem;
    height: 2rem;
    padding: .1rem .25rem;
    border: 5px solid #333333;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    text-indent: 200%;
    white-space: nowrap;
    overflow: hidden;
    vertical-align: middle;
}
