html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video { margin: 0; padding: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

body { line-height: 1; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }

nav ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }

a { margin: 0; padding: 0; font-size: 100%; vertical-align: baseline; background: transparent; color: inherit; text-decoration: none; }

/* change colours to suit your needs */
ins { background-color: #ff9; color: #000; text-decoration: none; }

/* change colours to suit your needs */
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }

del { text-decoration: line-through; }

abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }

table { border-collapse: collapse; border-spacing: 0; }

/* change border colour to suit your needs */
hr { display: block; height: 1px; border: 0; border-top: 1px solid #cccccc; margin: 1em 0; padding: 0; }

input, button, textarea, select { margin: 0; padding: 0; background: none; border: none; border-radius: 0; outline: none; -webkit-appearance: none; -moz-appearance: none; appearance: none; }

textarea { resize: none; }

html, body { -webkit-text-size-adjust: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }

img, video { vertical-align: bottom; max-width: 100%; height: auto; }

img[src$=".svg"] { width: 100%; }

li { list-style: none; }

main { display: block; }

h1, h2, h3, h4, h5 { font-weight: inherit; }

img { width: 100%; }

*:focus { outline: none; }

* { box-sizing: border-box; }

/* --------------------------------------------------
Common
-------------------------------------------------- */
:root { font-size: 10px; --font-body-family: eb-garamond, source-han-serif-jp-subset, serif; --font-en-family: univers-next-pro, sans-serif; --font-body-weight: 400; --font-body-size: 1.15rem; --font-body-ls: 0.05em; --font-body-lh: 1.39; --font-jp-size: 1rem; --font-jp-ls: 0.1em; --font-jp-lh: 1.9; --primary-color: #000000; --white-color: #FFFFFF; --bg-color: #FFFFFF; --light-color: #C3C3C3; --padding-base: 2.5rem; --ease: cubic-bezier(0.46, 0.1, 0.29, 1); --easein: cubic-bezier(0.32, 0, 0.67, 0); --easeout: cubic-bezier(0.33, 1, 0.68, 1); --easeinout: cubic-bezier(0.55, 0.05, 0.22, 0.99); --bounce: cubic-bezier(0.68, -0.6, 0.32, 1.6); --back: cubic-bezier(0.34, 1.56, 0.64, 1); }
@media screen and (min-width: 768px) and (max-width: 1025px) { :root { font-size: 8px; } }
@media screen and (min-width: 768px) { :root { --font-body-size: 1.3rem; --font-body-lh: 1.54; --font-jp-size: 1.1rem; --font-jp-lh: 1.91; --padding-base: 5rem; } }

body { font-family: var(--font-body-family); font-weight: var(--font-body-weight); background: var(--bg-color); color: var(--primary-color); font-size: var(--font-body-size); letter-spacing: var(--font-body-ls); line-height: var(--font-body-lh); }
body.isLoaded { opacity: 1 !important; transition: opacity 1s ease 0s; }

@media screen and (max-width: 767px) { .pc { display: none !important; } }
@media screen and (min-width: 768px) { .sp { display: none !important; } }
/* --------------------------------------------------
Parts
-------------------------------------------------- */
#wrapper { position: relative; }

.contents { padding: 21.5rem 0 0; min-height: calc(calc(var(--vh) * (1 * 100)) - 23.6rem); }

.textJp { text-align: justify; font-size: var(--font-jp-size); letter-spacing: var(--font-jp-ls); line-height: var(--font-jp-lh); }

.underLine { text-decoration: underline; text-decoration-thickness: 0.1rem; }

.objFit { height: 100%; object-fit: cover; object-position: center; }

.pagination { padding: 11.5rem 0 0; }

.wp-pagenavi { display: flex; column-gap: 2.5rem; font-family: var(--font-en-family); font-size: 1rem; }
.wp-pagenavi .current { text-decoration: underline; text-decoration-thickness: 0.1rem; }
.pagination--collection .wp-pagenavi { justify-content: center; }

.navigation { padding: 10rem 0 0; display: flex; justify-content: space-between; font-family: var(--font-en-family); font-size: 1rem; letter-spacing: 0.05em; }
.navigation__around { width: 7rem; display: flex; }
.navigation__aroundItem--next { margin: 0 0 0 auto; }

@media screen and (min-width: 768px) { .contents { padding: 25rem 0 0; min-height: calc(calc(var(--vh) * (1 * 100)) - 33rem); }
  .contents--pdLarge { padding: 30rem 0 0; }
  .header--front + .contents { min-height: calc(var(--vh) * (1 * 100)); }
  .pagination { padding: 15rem 0 0; }
  .wp-pagenavi { column-gap: 3rem; font-size: 1.1rem; }
  .wp-pagenavi a { transition: color 0.2s var(--easeout) 0s; }
  .wp-pagenavi a:hover { color: var(--light-color); }
  .pagination--collection .wp-pagenavi { justify-content: flex-end; }
  .pagination--news .wp-pagenavi { justify-content: flex-end; }
  .navigation { padding: 15rem 0 0; flex-direction: column; justify-content: flex-start; row-gap: 5rem; font-size: 1.1rem; }
  .navigation__topLink { transition: color 0.2s var(--easeout) 0s; }
  .navigation__topLink:hover { color: var(--light-color); }
  .navigation__around { order: -1; }
  .navigation__aroundItemLink { transition: color 0.2s var(--easeout) 0s; }
  .navigation__aroundItemLink:hover { color: var(--light-color); } }
/* --------------------------------------------------
Header
-------------------------------------------------- */
.header { position: fixed; left: 0; right: 0; top: 0; pointer-events: none; }
.header__inner { padding: var(--padding-base) var(--padding-base) 0; display: flex; justify-content: space-between; align-items: flex-start; }
.header__logo { width: 13.6rem; pointer-events: auto; }
.header__logo img { aspect-ratio: 1000 / 166; }
.header__nav { text-align: right; }
.header__navList { display: flex; flex-direction: column; row-gap: 1rem; }
.header__navListItem { font-family: var(--font-en-family); font-size: 1.05rem; letter-spacing: 0.07em; line-height: 1; pointer-events: auto; }
.header:not(.header--front) .header__navListItem { color: var(--light-color); }
.header:not(.header--front) .header__navListItem.isCurrent { color: var(--primary-color); }

@media screen and (min-width: 768px) { .header__logo { width: 17rem; }
  .header__navList { row-gap: 1rem; }
  .header__navListItem { font-size: 1.2rem; }
  .header__navListItemLink { transition: color 0.2s var(--easeout) 0s; }
  .header__navListItemLink:hover { color: var(--light-color); } }
/* --------------------------------------------------
Footer
-------------------------------------------------- */
.footer { padding: 20rem 0 0; height: 23.6rem; }
.footer__inner { padding: 0 var(--padding-base); }
.footer__copyright { font-family: var(--font-en-family); font-size: 0.75rem; letter-spacing: 0.02em; }

@media screen and (min-width: 768px) { .footer { padding: 30rem 0 0; height: 33rem; }
  .footer__inner { padding: 0 calc(var(--padding-base) / 2); }
  .footer__copyright { display: block; text-align: right; font-size: 0.9rem; }
  .footer--front { position: absolute; right: 0; bottom: 0; height: auto; padding-bottom: 2.5rem; } }
