@charset "UTF-8";
/*! ---------------------------------
Theme Name: Main
Version: 3.4.2
Tested up to: 6.8.2
---------------------------------- */
/* -----------------------------------------------
  Variables
--------------------------------------------------*/
.zen-old-mincho-regular {
  font-family: "Zen Old Mincho", serif;
  font-weight: 400;
  font-style: normal;
}

:root {
  --color-text: #111;
  --color-bg: #fff;
  --color-base: #111;
  --color-link: #111;
  --color-hover: rgb(55.25, 55.25, 55.25);
  --color-visited: #111;
  --color-error: #dd0000;
  --swiper-theme-color: #111;
}

/* -----------------------------------------------
  Mixins
--------------------------------------------------*/
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/**************************************************
  base
***************************************************/
*,
*::before,
*::after {
  box-sizing: border-box;
  overflow-wrap: anywhere;
}

:root {
  text-spacing-trim: trim-start;
  text-autospace: normal;
  overflow-wrap: anywhere;
}

html {
  font-size: 62.5%;
  background: var(--color-bg);
}

body,
button,
input,
textarea,
select {
  color: var(--color-text);
  line-height: 1.8;
  font-size: 1.6rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
  text-autospace: no-autospace;
}

body {
  margin: 0;
  padding-top: 120px;
}
@media screen and (max-width: 750px) {
  body {
    padding-top: 75px;
  }
}

/* -----------------------------------------------
  Elements
-------------------------------------------------- */
/* ---------- base ---------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3;
}

h2 + h3,
h3 + h4,
h4 + h5,
h5 + h6 {
  margin-top: 2rem !important;
}

ol,
ul,
menu {
  list-style-type: "";
  margin: 0;
  padding: 0;
}

li {
  position: relative;
  line-height: 1.5;
}

dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

/* ---------- text ---------- */
p {
  margin: 2rem 0;
}

strong {
  font-weight: bold;
}

u {
  border-bottom: 1px solid var(--color-text);
}

address {
  font-style: normal;
}

pre {
  text-spacing-trim: space-all;
  text-autospace: no-autospace;
}

time {
  text-autospace: no-autospace;
}

a {
  transition: 0.3s;
  color: #111;
  text-decoration-thickness: 1px;
}
a:visited {
  color: var(--color-visited);
}
@media all and (min-width: 769px) {
  a:hover {
    color: var(--color-hover);
    text-decoration: none;
  }
}
@media all and (min-width: 769px) {
  a[href^="tel:"] {
    color: var(--color-text);
    pointer-events: none;
    text-decoration: none;
  }
}

/* ---------- image ---------- */
img,
svg,
video {
  border: 0;
  vertical-align: middle;
}

img {
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

.caption,
figcaption {
  display: block;
  margin-top: 1rem;
  font-size: 0.88em;
}

._nocss {
  margin: 0;
  position: relative;
  background: transparent;
}
._nocss::before, ._nocss::after {
  display: none;
}

/* ---------- form ---------- */
input[type=text],
input[type=tel],
input[type=url],
input[type=email],
input[type=text],
textarea {
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 1em 1.5em;
  width: 100%;
  background-color: #f5f5f5;
  border-radius: 3px;
}
input[type=text]:-webkit-autofill, input[type=text]:-webkit-autofill:hover, input[type=text]:-webkit-autofill:focus, input[type=text]:-webkit-autofill:active,
input[type=tel]:-webkit-autofill,
input[type=tel]:-webkit-autofill:hover,
input[type=tel]:-webkit-autofill:focus,
input[type=tel]:-webkit-autofill:active,
input[type=url]:-webkit-autofill,
input[type=url]:-webkit-autofill:hover,
input[type=url]:-webkit-autofill:focus,
input[type=url]:-webkit-autofill:active,
input[type=email]:-webkit-autofill,
input[type=email]:-webkit-autofill:hover,
input[type=email]:-webkit-autofill:focus,
input[type=email]:-webkit-autofill:active,
input[type=text]:-webkit-autofill,
input[type=text]:-webkit-autofill:hover,
input[type=text]:-webkit-autofill:focus,
input[type=text]:-webkit-autofill:active,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
textarea:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #f5f5f5 inset !important;
  -webkit-text-fill-color: #333 !important;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
}

input[type=submit],
label,
button {
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  cursor: pointer;
}

fieldset {
  padding: 0;
  border: none;
}

/* ---------- Element ---------- */
iframe {
  border: 0;
}

/**************************************************
  content
***************************************************/
#wrapper {
  overflow-x: hidden;
}

.l-content {
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .l-content {
    width: calc(100% - 50px);
  }
}

.l-content__has-column {
  display: flex;
  flex-direction: row-reverse;
  gap: 40px;
  position: relative;
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 850px) {
  .l-content__has-column {
    flex-direction: column;
  }
}
@media screen and (max-width: 750px) {
  .l-content__has-column {
    width: calc(100% - 50px);
    gap: 20px;
  }
}
.l-content__has-column .last-update {
  position: absolute;
  top: -4.5em;
  right: 1.5em;
  font-size: 14px;
  font-weight: 600;
  color: #666;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 750px) {
  .l-content__has-column .last-update {
    top: auto;
    right: auto;
    font-size: 11px;
    text-align: right;
    position: relative;
    margin: -10px 0 -15px;
  }
}

.l-content__main {
  flex: 1;
  min-width: 0;
}

.l-content__sidebar {
  flex: 0 0 260px;
}
.l-content__sidebar .c-list--bullet li {
  margin-bottom: 0.7em;
}
@media all and (max-width: 768px) {
  .l-content__sidebar {
    flex: 1;
  }
}
@media all and (min-width: 769px) {
  .l-content__sidebar--sticky {
    position: sticky;
    top: 0;
    max-height: 100vh;
    overflow-y: auto;
  }
}
.l-content__sidebar--sticky::-webkit-scrollbar {
  width: 8px;
  background-color: transparent;
}
.l-content__sidebar--sticky::-webkit-scrollbar-thumb {
  background: rgba(var(--color-text), 0.05);
  width: 6px;
  border-radius: 9999px;
}

.page main {
  margin: 0 auto;
  padding: 0 0 10em;
}

.error404 main {
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
  padding: 0 0 10em;
}
@media screen and (max-width: 750px) {
  .error404 main {
    width: calc(100% - 20px);
    padding: 0 0 5em;
  }
}

.archive main {
  padding: 0 0 10em;
}
@media screen and (max-width: 750px) {
  .archive main {
    padding: 0 0 3em;
  }
}

.wp-singular main {
  margin: 0 auto;
  padding: 0 0 10em;
}
@media screen and (max-width: 750px) {
  .wp-singular main {
    padding: 0 0 3em;
  }
}

/**************************************************
  grid
***************************************************/
.l-grid .row {
  display: flex;
  flex-wrap: wrap;
}

.col-1 {
  flex: 0 0 calc(100% / 12 * 1);
  max-width: calc(100% / 12 * 1);
}

.col-2 {
  flex: 0 0 calc(100% / 12 * 2);
  max-width: calc(100% / 12 * 2);
}

.col-3 {
  flex: 0 0 calc(100% / 12 * 3);
  max-width: calc(100% / 12 * 3);
}

.col-4 {
  flex: 0 0 calc(100% / 12 * 4);
  max-width: calc(100% / 12 * 4);
}

.col-5 {
  flex: 0 0 calc(100% / 12 * 5);
  max-width: calc(100% / 12 * 5);
}

.col-6 {
  flex: 0 0 calc(100% / 12 * 6);
  max-width: calc(100% / 12 * 6);
}

.col-7 {
  flex: 0 0 calc(100% / 12 * 7);
  max-width: calc(100% / 12 * 7);
}

.col-8 {
  flex: 0 0 calc(100% / 12 * 8);
  max-width: calc(100% / 12 * 8);
}

.col-9 {
  flex: 0 0 calc(100% / 12 * 9);
  max-width: calc(100% / 12 * 9);
}

.col-10 {
  flex: 0 0 calc(100% / 12 * 10);
  max-width: calc(100% / 12 * 10);
}

.col-11 {
  flex: 0 0 calc(100% / 12 * 11);
  max-width: calc(100% / 12 * 11);
}

.col-12 {
  flex: 0 0 calc(100% / 12 * 12);
  max-width: calc(100% / 12 * 12);
}

@media (min-width: 576px) {
  .col-sm-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-sm-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-sm-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-sm-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-sm-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-sm-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-sm-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-sm-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-sm-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-sm-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-sm-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-sm-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 768px) {
  .col-md-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-md-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-md-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-md-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-md-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-md-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-md-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-md-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-md-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-md-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-md-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-md-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 992px) {
  .col-lg-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-lg-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-lg-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-lg-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-lg-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-lg-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-lg-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-lg-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-lg-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-lg-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-lg-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-lg-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
@media (min-width: 1200px) {
  .col-xl-1 {
    flex: 0 0 calc(100% / 12 * 1);
    max-width: calc(100% / 12 * 1);
  }
  .col-xl-2 {
    flex: 0 0 calc(100% / 12 * 2);
    max-width: calc(100% / 12 * 2);
  }
  .col-xl-3 {
    flex: 0 0 calc(100% / 12 * 3);
    max-width: calc(100% / 12 * 3);
  }
  .col-xl-4 {
    flex: 0 0 calc(100% / 12 * 4);
    max-width: calc(100% / 12 * 4);
  }
  .col-xl-5 {
    flex: 0 0 calc(100% / 12 * 5);
    max-width: calc(100% / 12 * 5);
  }
  .col-xl-6 {
    flex: 0 0 calc(100% / 12 * 6);
    max-width: calc(100% / 12 * 6);
  }
  .col-xl-7 {
    flex: 0 0 calc(100% / 12 * 7);
    max-width: calc(100% / 12 * 7);
  }
  .col-xl-8 {
    flex: 0 0 calc(100% / 12 * 8);
    max-width: calc(100% / 12 * 8);
  }
  .col-xl-9 {
    flex: 0 0 calc(100% / 12 * 9);
    max-width: calc(100% / 12 * 9);
  }
  .col-xl-10 {
    flex: 0 0 calc(100% / 12 * 10);
    max-width: calc(100% / 12 * 10);
  }
  .col-xl-11 {
    flex: 0 0 calc(100% / 12 * 11);
    max-width: calc(100% / 12 * 11);
  }
  .col-xl-12 {
    flex: 0 0 calc(100% / 12 * 12);
    max-width: calc(100% / 12 * 12);
  }
}
.l-grid__gap .row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.g-col-1 {
  flex: 0 0 calc(100% / 12 * 1 - 1rem);
  max-width: calc(100% / 12 * 1 - 1rem);
}

.g-col-2 {
  flex: 0 0 calc(100% / 12 * 2 - 1rem);
  max-width: calc(100% / 12 * 2 - 1rem);
}

.g-col-3 {
  flex: 0 0 calc(100% / 12 * 3 - 1rem);
  max-width: calc(100% / 12 * 3 - 1rem);
}

.g-col-4 {
  flex: 0 0 calc(100% / 12 * 4 - 1rem);
  max-width: calc(100% / 12 * 4 - 1rem);
}

.g-col-5 {
  flex: 0 0 calc(100% / 12 * 5 - 1rem);
  max-width: calc(100% / 12 * 5 - 1rem);
}

.g-col-6 {
  flex: 0 0 calc(100% / 12 * 6 - 1rem);
  max-width: calc(100% / 12 * 6 - 1rem);
}

.g-col-7 {
  flex: 0 0 calc(100% / 12 * 7 - 1rem);
  max-width: calc(100% / 12 * 7 - 1rem);
}

.g-col-8 {
  flex: 0 0 calc(100% / 12 * 8 - 1rem);
  max-width: calc(100% / 12 * 8 - 1rem);
}

.g-col-9 {
  flex: 0 0 calc(100% / 12 * 9 - 1rem);
  max-width: calc(100% / 12 * 9 - 1rem);
}

.g-col-10 {
  flex: 0 0 calc(100% / 12 * 10 - 1rem);
  max-width: calc(100% / 12 * 10 - 1rem);
}

.g-col-11 {
  flex: 0 0 calc(100% / 12 * 11 - 1rem);
  max-width: calc(100% / 12 * 11 - 1rem);
}

.g-col-12 {
  flex: 0 0 calc(100% / 12 * 12 - 1rem);
  max-width: calc(100% / 12 * 12 - 1rem);
}

/**************************************************
  l-layer
***************************************************/
.l-layer {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
}
@media all and (max-width: 768px) {
  .l-layer {
    display: block;
  }
}
.l-layer__text {
  width: 100%;
  position: relative;
  margin-right: -5vw;
  background: var(--color-bg);
  padding: 5rem 5rem 0;
}
@media all and (max-width: 768px) {
  .l-layer__text {
    margin-left: 0;
    padding: 0;
  }
}
.l-layer__img {
  width: 100%;
}

/**************************************************
  Typography
***************************************************/
/* -----------------------------------------------
  Heading
-------------------------------------------------- */
.c-heading {
  margin-top: 5rem;
}
/* -----------------------------------------------
  Variation
-------------------------------------------------- */
.c-en {
  font-family: Verdana;
}

.c-attention {
  color: var(--color-error);
}

.c-lead {
  font-size: 2rem;
}

/**************************************************
  Button
***************************************************/
.wp-block-button__link {
  background: var(--color-base);
}
.wp-block-button.is-style-outline .wp-block-button__link {
  border-color: var(--color-base);
  color: var(--color-base);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover, .wp-block-button.is-style-outline .wp-block-button__link:focus {
  background: var(--color-base);
  color: var(--color-bg);
}

a.btn,
.btn {
  width: 280px;
  height: 50px;
  display: flex;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 18px;
  padding: 0 0 0 1.3em;
  position: relative;
  margin: 0 auto;
  transition: 0.15s;
  text-decoration: none;
  background-color: #fff;
  color: #2b2b2b;
  border: 1px solid #2b2b2b;
}
a.btn:after,
.btn:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 22px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg);
  pointer-events: none;
}
a.btn:hover,
.btn:hover {
  background-color: #2b2b2b;
  color: #fff;
}
a.btn:hover:after,
.btn:hover:after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
@media screen and (max-width: 750px) {
  a.btn,
  .btn {
    width: 77%;
    background-color: #2b2b2b;
    color: #fff;
    text-align: center;
    font-size: 15px;
    justify-content: center;
    padding: 0;
  }
  a.btn:after,
  .btn:after {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
  }
}

.btn.btn_w {
  background-color: rgba(255, 255, 255, 0);
  color: #111;
}
.btn.btn_w:after {
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
}
.btn.btn_w:hover {
  background-color: rgba(255, 255, 255, 0);
  color: #111;
}
.btn.btn_w:hover:after {
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
}

.btn.btn_border {
  background-color: transparent;
  border: 1px solid #fff;
  color: #fff;
}
.btn.btn_border:after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}

/**************************************************
  Icon
***************************************************/
.c-icon {
  width: 1em;
  height: 1em;
  margin-right: 0.3rem;
  margin-left: 0.3rem;
}
.c-icon-blank {
  max-height: 1em;
  max-width: 1em;
  fill: currentColor;
}
.c-icon-file {
  height: 1em;
}

.icon-blank {
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 0.6rem;
  background: url("images/common/i_blank.png") no-repeat center;
  background-size: contain;
}

.global-nav .icon-blank {
  background: url("images/common/i_blank_black.png") no-repeat center;
  background-size: contain;
}

/**************************************************
  img
***************************************************/
/* -----------------------------------------------
  luminous
-------------------------------------------------- */
a.c-img-zoom {
  cursor: zoom-in;
  position: relative;
  display: inline-block;
}
a.c-img-zoom::after {
  position: absolute;
  content: "";
  inset: 0;
  background: center/50% 50% no-repeat rgba(0, 0, 0, 0.3) url("images/common/icon_zoom.svg");
  width: 2.5rem;
  height: 2.5rem;
}

.lum-lightbox.lum-open {
  backdrop-filter: blur(10px);
  z-index: 10001;
}
.lum-lightbox.lum-open:hover {
  cursor: zoom-out;
}

.lum-gallery-button::after {
  width: 2rem;
  height: 2rem;
  border-width: 2px;
}

.lum-close-button {
  opacity: 0.5;
}

/**************************************************
  List
***************************************************/
.c-list {
  margin-block: 2rem;
}

/* 非順序リスト */
.c-list--bullet li {
  margin-left: 2rem;
}
.c-list--bullet li::before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: -1.5rem;
  width: 6px;
  height: 6px;
  background: var(--color-base);
  border-radius: 100%;
}
.c-list--bullet li:has(a) {
  position: relative;
}
.c-list--bullet li:has(a)::before {
  content: "";
  display: block;
  position: absolute;
  border-radius: unset;
  background-color: initial !important;
  top: 10px;
  left: -18px;
  bottom: auto;
  width: 7px;
  height: 7px;
  margin: auto;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .c-list--bullet li:has(a)::before {
    width: 6px;
    height: 6px;
  }
}
.c-list--bullet ol,
.c-list--bullet ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* 順序リスト */
.c-list--number {
  counter-reset: num;
}
.c-list--number li {
  padding-left: 2rem;
}
.c-list--number li::before {
  position: absolute;
  counter-increment: num;
  content: counter(num) ".";
  display: inline-block;
  top: 0;
  left: 0.5rem;
}
.c-list--number ol,
.c-list--number ul {
  margin-top: 0;
  margin-bottom: 0;
}

/* ※付きリスト */
.c-list--rice li {
  margin: 0 0 0 1em;
  text-indent: -1em;
}
.c-list--rice li::before {
  display: none;
}

/* テーブルの中のリスト */
table ul,
table ol {
  margin: 0;
}

/**************************************************
  Table（Flexible Table プラグイン）
***************************************************/
/* -----------------------------------------------
  Default
-------------------------------------------------- */
.wp-block-flexible-table-block-table {
  margin-block: 2rem;
}

/* -----------------------------------------------
  SPのみスクロール
-------------------------------------------------- */
@media all and (max-width: 768px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile {
    cursor: grab;
  }
}
@media all and (max-width: 768px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile:active {
    cursor: grabbing;
  }
}
.wp-block-flexible-table-block-table.is-scroll-on-mobile::before {
  content: "※この表は横にスクロールできます";
  position: sticky;
  top: 0;
  left: 0;
  font-size: 90%;
}
@media all and (min-width: 769px) {
  .wp-block-flexible-table-block-table.is-scroll-on-mobile::before {
    content: none;
  }
}
.wp-block-flexible-table-block-table.is-scroll-on-mobile table {
  min-width: 800px;
}

/**************************************************
  box
***************************************************/
.c-box--fill {
  background: rgba(var(--color-base), 0.1);
  padding: 2rem;
  margin: 2rem 0;
}
.c-box--fill *:first-child {
  margin-top: 0;
}
.c-box--fill *:last-child {
  margin-bottom: 0;
}

.c-box--border {
  border: 2px solid var(--color-base);
  padding: 2rem;
  margin: 2rem 0;
}
.c-box--border *:first-child {
  margin-top: 0;
}
.c-box--border *:last-child {
  margin-bottom: 0;
}

/**************************************************
  Header
***************************************************/
/* -----------------------------------------------
  PC
-------------------------------------------------- */
.m-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120px;
  z-index: 100;
  background-color: #fff;
  transition: height 0.3s;
}
@media screen and (max-width: 750px) {
  .m-header {
    height: 75px;
    background-color: #2b2b2b;
  }
}
@media all and (min-width: 769px) {
  .m-header {
    border-bottom: 1px solid #eee;
  }
}
@media all and (max-width: 768px) {
  .m-header__nav {
    display: none;
  }
}
.m-header__logo {
  line-height: 1;
  margin-block: 0;
  position: absolute;
  top: 0;
  left: 0;
  width: 330px;
  height: 120px;
  background-color: #2b2b2b;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: height 0.3s;
}
@media screen and (max-width: 1100px) {
  .m-header__logo {
    width: 250px;
  }
  .m-header__logo img {
    width: 200px;
    height: auto;
  }
}
@media screen and (max-width: 1000px) {
  .m-header__logo {
    width: 200px;
  }
  .m-header__logo img {
    width: 150px;
    height: auto;
  }
}
@media screen and (max-width: 750px) {
  .m-header__logo {
    width: 270px;
    width: calc(100% - 118px);
    height: 75px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .m-header__logo img {
    width: 220px;
  }
}
.m-header__logo a {
  display: flex;
  width: 100%;
  height: 100%;
  justify-content: center;
  align-items: center;
}
.m-header__logo a:hover, .m-header__logo a:focus-visible {
  background: #DEC57F;
}
.m-header__logo a:hover img, .m-header__logo a:focus-visible img {
  filter: invert(100%);
}
.m-header .m-share {
  position: absolute;
  top: 15px;
  right: 148px;
  margin: 0;
  padding: 0;
  transition: top 0.3s;
  width: 160px;
  height: 34px;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .m-header .m-share {
    display: none;
  }
}
.m-header .m-share .nav {
  gap: 8px;
}
.m-header .m-share .nav li {
  width: 34px;
  height: 34px;
  line-height: 1;
  padding: 0;
  margin: 0;
}
.m-header .m-share .nav li .link {
  height: 34px;
  padding: 0;
  margin: 0;
  line-height: 1;
  display: block;
}
.m-header .m-share .nav li .link img {
  height: 34px;
  line-height: 1;
}
.m-header .language-switcher {
  font-size: 16px;
  position: absolute;
  top: 15px;
  right: 321px;
  width: 99px;
  transition: top 0.3s;
  cursor: pointer;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .m-header .language-switcher {
    width: 47px;
    height: 75px;
    right: 71px;
    top: 0;
    background-color: initial;
    background-image: url(images/common/language_switch_sp.png);
    background-size: 23px auto;
    background-position: center 17px;
    background-repeat: no-repeat;
    z-index: 1002;
  }
}
.m-header .language-switcher:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 9px;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .m-header .language-switcher:after {
    display: none;
  }
}
.m-header .language-switcher select.language-select {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-size: 16px;
  letter-spacing: 0.05em;
  border: none;
  width: 100%;
  cursor: pointer;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .m-header .language-switcher select.language-select {
    height: 100%;
    background: initial;
    color: #fff;
    text-align: center;
    font-size: 11px;
    letter-spacing: -0.3px;
    padding: 26px 0 0 0;
    -moz-text-align-last: center;
         text-align-last: center;
  }
  .m-header .language-switcher select.language-select option {
    width: 100%;
    height: 100%;
  }
}
.m-header .google-search-form {
  position: absolute;
  top: 15px;
  right: 450px;
  width: 190px;
  height: 36px;
  border-radius: 18px;
  border: 1px solid #d2d2d2;
  padding: 0 15px;
  transition: top 0.3s;
}
@media screen and (max-width: 900px) {
  .m-header .google-search-form {
    display: none;
  }
}
.m-header .google-search-form .search-input-group {
  display: flex;
  justify-content: space-between;
}
.m-header .google-search-form .search-input-group .google-search-input {
  width: 135px;
  height: 34px;
  font-size: 16px;
  border: none;
  background-color: #fff;
  background-image: url(images/common/google.png);
  background-repeat: no-repeat;
  background-position: 10px center;
  text-indent: 40px;
}
.m-header .google-search-form .search-input-group .google-search-input::-moz-placeholder {
  color: #5f6368;
  font-size: 14px;
  font-weight: bold;
}
.m-header .google-search-form .search-input-group .google-search-input::placeholder {
  color: #5f6368;
  font-size: 14px;
  font-weight: bold;
}
.m-header .google-search-form .search-input-group .google-search-input.on {
  text-indent: 0;
  background-image: none;
  padding-left: 0.5em;
}
.m-header .google-search-form .search-input-group .google-search-input.on::-moz-placeholder {
  color: #fff;
}
.m-header .google-search-form .search-input-group .google-search-input.on::placeholder {
  color: #fff;
}
.m-header .google-search-form .search-input-group .google-search-button {
  width: 20px;
  height: 36px;
  text-indent: -9999px;
  overflow: hidden;
  background-image: url("images/common/i_glass.png");
  background-size: 18px auto;
  background-position: center;
  background-repeat: no-repeat;
}

.is-scrolled .m-header {
  height: 90px;
}
@media screen and (max-width: 750px) {
  .is-scrolled .m-header {
    height: 75px;
  }
}
.is-scrolled .m-header .m-header__logo {
  height: 90px;
}
@media screen and (max-width: 750px) {
  .is-scrolled .m-header .m-header__logo {
    height: 75px;
  }
}
.is-scrolled .m-header .m-hamburger__toggle {
  height: 90px;
}
@media screen and (max-width: 750px) {
  .is-scrolled .m-header .m-hamburger__toggle {
    height: 75px;
  }
}
.is-scrolled .m-header .m-hamburger__toggle:after {
  padding: 37% 0 0 0;
}
@media screen and (max-width: 750px) {
  .is-scrolled .m-header .m-hamburger__toggle:after {
    padding: 36% 0 0 0;
  }
}
.is-scrolled .m-header .m-hamburger__toggle .m-hamburger__toggle-bars {
  margin: 0 0 20% 0;
}
@media screen and (max-width: 750px) {
  .is-scrolled .m-header .m-hamburger__toggle .m-hamburger__toggle-bars {
    margin: 0 0 30% 0;
  }
}
.is-scrolled .m-header .google-search-form {
  top: 5px;
}
.is-scrolled .m-header .language-switcher {
  top: 5px;
}
@media screen and (max-width: 750px) {
  .is-scrolled .m-header .language-switcher {
    top: 0;
  }
}
.is-scrolled .m-header .m-share {
  top: 5px;
}

/* -----------------------------------------------
  SP
-------------------------------------------------- */
.m-hamburger__toggle {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 120px;
  background-color: #fff;
  cursor: pointer;
  z-index: 1001;
  border-left: 1px solid #eee;
  transition: height 0.3s, background 0.3s;
}
@media screen and (max-width: 750px) {
  .m-hamburger__toggle {
    height: 75px;
    width: 75px;
    background-color: #2b2b2b;
    border: none;
  }
}
@media all and (min-width: 769px) {
  .m-hamburger__toggle {
    border-bottom: 1px solid #eee;
  }
}
.m-hamburger__toggle:after {
  content: "メニュー";
  font-size: 18px;
  color: #111;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  letter-spacing: -0.05em;
  padding: 43% 0 0 0;
  transition: padding 0.3s, color 0.3s;
}
@media screen and (max-width: 750px) {
  .m-hamburger__toggle:after {
    font-size: 12px;
    color: #fff;
    padding: 36% 0 0 0;
  }
}
@media all and (min-width: 769px) {
  .m-hamburger__toggle:hover, .m-hamburger__toggle:focus-visible {
    background: #DEC57F;
  }
}
.m-hamburger__toggle-bars {
  display: inline-block;
  width: 40px;
  height: 2px;
  color: #333;
  background: currentColor;
  position: relative;
  transition: all 0.3s ease-in-out;
  margin: 0 0 33% 0;
  transition: margin 0.3s;
}
@media screen and (max-width: 750px) {
  .m-hamburger__toggle-bars {
    width: 25px;
    background-color: #fff;
    margin: 0 0 30% 0;
  }
}
.m-hamburger__toggle-bars::before, .m-hamburger__toggle-bars::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: currentColor;
  position: absolute;
  left: 0;
  transition: all 0.3s ease-in-out;
}
@media screen and (max-width: 750px) {
  .m-hamburger__toggle-bars::before, .m-hamburger__toggle-bars::after {
    width: 25px;
    background-color: #fff;
  }
}
.m-hamburger__toggle-bars::before {
  top: -12px;
}
@media screen and (max-width: 750px) {
  .m-hamburger__toggle-bars::before {
    top: -8px;
  }
}
.m-hamburger__toggle-bars::after {
  top: 12px;
}
@media screen and (max-width: 750px) {
  .m-hamburger__toggle-bars::after {
    top: 8px;
  }
}
.is-drawer-open .m-hamburger__toggle-bars {
  background: transparent;
  color: #fff;
}
.is-drawer-open .m-hamburger__toggle-bars::before {
  translate: 0 16px;
  rotate: 45deg;
}
@media screen and (max-width: 750px) {
  .is-drawer-open .m-hamburger__toggle-bars::before {
    translate: 0 8px;
  }
}
.is-drawer-open .m-hamburger__toggle-bars::after {
  translate: 0 -8px;
  rotate: -45deg;
  background-color: #fff;
}
.is-drawer-open .m-hamburger__toggle {
  background-color: #2b2b2b;
  border: none;
  color: #fff;
}
.is-drawer-open .m-hamburger__toggle:after {
  content: "閉じる";
  color: currentColor;
}
@media all and (min-width: 769px) {
  .is-drawer-open .m-hamburger__toggle:hover, .is-drawer-open .m-hamburger__toggle:focus-visible {
    background: #DEC57F;
    color: #111;
  }
  .is-drawer-open .m-hamburger__toggle:hover .m-hamburger__toggle-bars::before, .is-drawer-open .m-hamburger__toggle:hover .m-hamburger__toggle-bars::after, .is-drawer-open .m-hamburger__toggle:focus-visible .m-hamburger__toggle-bars::before, .is-drawer-open .m-hamburger__toggle:focus-visible .m-hamburger__toggle-bars::after {
    background: #333;
  }
}
.is-drawer-open .m-hamburger__logo {
  width: 100%;
}
.m-hamburger__drawer {
  background-color: #2b2b2b;
}
.m-hamburger__drawer {
  position: fixed;
  top: 0;
  left: 0;
  right: auto;
  width: 100%;
  height: 100%;
  z-index: 1000;
  overflow-y: auto;
  visibility: hidden;
  opacity: 0;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.m-hamburger__drawer[aria-hidden=false] {
  visibility: visible;
  opacity: 1;
}
.m-hamburger__drawer .global-nav {
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding: 7.8em 0 5em 0;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav {
    width: 100%;
    height: calc(100vh - 75px);
    overflow-y: scroll;
    padding: 0;
    top: 75px;
    position: relative;
  }
}
.m-hamburger__drawer .global-nav .layout {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout {
    display: block;
  }
}
.m-hamburger__drawer .global-nav .layout .first {
  width: 73.5%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: repeat(12, auto);
  grid-column-gap: 50px;
  grid-row-gap: 65px;
}
@media screen and (max-width: 850px) {
  .m-hamburger__drawer .global-nav .layout .first {
    grid-column-gap: 2em;
    grid-row-gap: 3em;
  }
}
.m-hamburger__drawer .global-nav .layout .first .block:nth-child(1) {
  grid-area: 1/1/9/5;
}
.m-hamburger__drawer .global-nav .layout .first .block:nth-child(2) {
  grid-area: 1/5/5/9;
}
.m-hamburger__drawer .global-nav .layout .first .block:nth-child(3) {
  grid-area: 1/9/5/13;
}
.m-hamburger__drawer .global-nav .layout .first .block:nth-child(4) {
  grid-area: 5/5/9/13;
}
.m-hamburger__drawer .global-nav .layout .first .block:nth-child(5) {
  grid-area: 9/1/13/7;
}
.m-hamburger__drawer .global-nav .layout .first .block:nth-child(6) {
  grid-area: 9/7/13/13;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .first {
    width: 100%;
    display: block;
  }
}
.m-hamburger__drawer .global-nav .layout .second {
  width: 26.3%;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second {
    width: 100%;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a {
  color: #fff;
  text-decoration: none;
  font-size: 24px;
  border-bottom: 1px solid #cccccc;
  width: 100%;
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  padding: 0.2em 0 0.6em;
  position: relative;
  letter-spacing: 0.05em;
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a:hover {
  color: #DEC57F;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a:hover {
    color: #fff;
  }
}
@media screen and (max-width: 850px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a {
    font-size: 20px;
  }
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a {
    padding: 0.5em 25px 0.6em;
    font-size: 18px;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  border-right: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children a:after {
    width: 6px;
    height: 6px;
    right: 25px;
  }
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu {
    margin-bottom: 2em;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item {
  border-bottom: 1px solid rgba(204, 204, 204, 0.2);
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item {
    background-color: #4b4b4b;
    border-bottom: 1px solid rgba(204, 204, 204, 0.9);
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item a {
  font-size: 18px;
  border: none;
  padding: 0.8em 0 0.8em 1em;
}
@media screen and (max-width: 850px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item a {
    font-size: 16px;
  }
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item a {
    font-size: 15px;
    padding: 0.85em 25px 0.85em 44px;
    background-color: #4b4b4b;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item a:after {
  right: auto;
  left: 0px;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item a:after {
    left: 25px;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item.menu-item-has-children .sub-menu {
  margin: -0.5em 0 0.9em 0;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item.menu-item-has-children .sub-menu {
    margin: -2px 0 0.9em 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding: 0 0 0 29px;
    gap: 5px;
    line-height: 1;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item {
  border: none;
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item a {
  font-size: 16px;
  padding: 0.1em 0 0.3em 1.2em;
  border: none;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item a {
    font-size: 13px;
  }
}
.m-hamburger__drawer .global-nav .layout .block .global-nav-list .menu-item.menu-item-has-children .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item a:after {
  display: none;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu {
    display: block;
  }
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu .menu-item {
  width: 48%;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu .menu-item {
    width: 100%;
  }
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu .menu-item a {
  letter-spacing: 0;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu .menu-item:nth-child(5) {
  width: 100%;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(4) > .global-nav-list > .menu-item > .sub-menu .menu-item:nth-child(6) {
  width: 100%;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(5) > .global-nav-list > .menu-item > .sub-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 29px;
       column-gap: 29px;
}
@media screen and (max-width: 850px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(5) > .global-nav-list > .menu-item > .sub-menu {
    -moz-column-gap: 1em;
         column-gap: 1em;
  }
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(5) > .global-nav-list > .menu-item > .sub-menu {
    display: block;
  }
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(5) > .global-nav-list > .menu-item > .sub-menu li a {
  letter-spacing: -0.05em;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(5, 1fr);
  -moz-column-gap: 29px;
       column-gap: 29px;
}
@media screen and (max-width: 850px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu {
    -moz-column-gap: 1em;
         column-gap: 1em;
  }
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu {
    display: block;
  }
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(1) {
  grid-area: 1/1/2/2;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(2) {
  grid-area: 2/1/3/2;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(3) {
  grid-area: 3/1/4/2;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(4) {
  grid-area: 4/1/5/2;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(5) {
  grid-area: 5/1/6/2;
}
.m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(6) {
  grid-area: 1/2/6/3;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(1) {
    grid-area: unset;
  }
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(2) {
    grid-area: unset;
  }
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(3) {
    grid-area: unset;
  }
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(4) {
    grid-area: unset;
  }
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(5) {
    grid-area: unset;
  }
  .m-hamburger__drawer .global-nav .layout .first > .block:nth-child(6) > .global-nav-list > .menu-item > .sub-menu li:nth-child(6) {
    grid-area: unset;
  }
}
.m-hamburger__drawer .global-nav .layout .second {
  padding-left: 3.5em;
}
@media screen and (max-width: 850px) {
  .m-hamburger__drawer .global-nav .layout .second {
    padding-left: 2em;
  }
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second {
    padding: 50px 0 0 0;
    width: calc(100% - 50px);
    margin: 0 auto;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block .global-nav-list .menu-item a {
  color: #fff;
  text-decoration: none;
  font-size: 18px;
  border: 1px solid #cccccc;
  width: 100%;
  display: block;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  padding: 0.8em 2em 0.9em 1em;
  position: relative;
  letter-spacing: 0.05em;
}
.m-hamburger__drawer .global-nav .layout .second .block .global-nav-list .menu-item a:hover {
  background: #DEC57F;
  border-color: #DEC57F;
  color: #111;
}
.m-hamburger__drawer .global-nav .layout .second .block .global-nav-list .menu-item a:hover::after {
  border-color: #111;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second .block .global-nav-list .menu-item a:hover {
    color: #fff;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block .global-nav-list .menu-item a:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 21px;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  border-right: 1.5px solid #fff;
  border-bottom: 1.5px solid #fff;
  transform: rotate(-45deg);
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(1) {
  margin-bottom: 3.4em;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second .block:nth-child(1) {
    margin-bottom: 50px;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) {
  margin-bottom: 3.4em;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) {
    margin-bottom: 50px;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) .global-nav-list .menu-item {
  margin-bottom: 1px;
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) .global-nav-list .menu-item a {
  border: none;
  font-size: 16px;
  background-color: #4b4b4b;
  letter-spacing: 0;
  height: 100%;
  padding: 1em 2em 1.1em 1em;
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) .global-nav-list .menu-item a:hover {
  background-color: #DEC57F;
  color: #111;
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) .global-nav-list .menu-item a:hover:after {
  border-right: 1.5px solid #111;
  border-bottom: 1.5px solid #111;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second .block:nth-child(2) .global-nav-list .menu-item a:hover {
    background-color: #4b4b4b;
    color: #fff;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) {
  margin-bottom: 3.4em;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) {
    margin-bottom: 50px;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) .global-nav-list .menu-item {
  margin-bottom: 1px;
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) .global-nav-list .menu-item a {
  border: none;
  background-color: #222;
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) .global-nav-list .menu-item a:hover {
  background-color: #DEC57F;
  color: #111;
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) .global-nav-list .menu-item a:hover:after {
  border-right: 1.5px solid #111;
  border-bottom: 1.5px solid #111;
}
@media screen and (max-width: 750px) {
  .m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) .global-nav-list .menu-item a:hover {
    background-color: #222;
    color: #fff;
  }
}
.m-hamburger__drawer .global-nav .layout .second .block:nth-child(3) .global-nav-list .menu-item.menu-item-825 a {
  letter-spacing: -0.2em;
}

body.is-drawer-open {
  overflow: hidden;
}

.m-header__skip-link {
  display: block;
  margin-top: 50px;
}

.head-nav {
  position: absolute;
  bottom: 0;
  right: 150px;
}
.head-nav .sub-menu {
  transition: 0.15s;
}
.head-nav .menu-item-has-children ul.focused {
  opacity: 1 !important;
  visibility: visible !important;
}
@media screen and (max-width: 900px) {
  .head-nav {
    right: 130px;
  }
}
@media screen and (max-width: 750px) {
  .head-nav {
    display: none;
  }
}
.head-nav .layout {
  width: 100%;
  display: flex;
  gap: 30px;
  justify-content: space-between;
}
@media screen and (max-width: 900px) {
  .head-nav .layout {
    gap: 10px;
  }
}
.head-nav .layout .sub-menu-toggle {
  border: 1px solid #999;
  width: 20px;
  height: 20px;
  left: 3px;
  position: relative;
  top: 5px;
  background-color: #fff;
}
.head-nav .layout .sub-menu-toggle:before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  right: 0;
  left: 0;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1.5px solid #222222;
  border-bottom: 1.5px solid #222222;
  transform: rotate(45deg);
}
.head-nav .layout .sub-menu-toggle:hover {
  background-color: #111;
}
.head-nav .layout .sub-menu-toggle:hover:before {
  border-right-color: #fff;
  border-bottom-color: #fff;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children {
  height: 41px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 850px) {
  .head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children {
    align-items: baseline;
  }
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > a {
  height: 100%;
  text-decoration: none;
  display: inline-block;
  color: #111;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  font-weight: 600;
  padding: 0 5px 0 0;
}
@media screen and (max-width: 900px) {
  .head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > a {
    font-size: 14px;
  }
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children .sub-menu-toggle.open {
  background-color: #111;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children .sub-menu-toggle.open:before {
  border-right-color: #fff;
  border-bottom-color: #fff;
  transform: rotate(225deg);
  top: 4px;
}
@media screen and (max-width: 900px) {
  .head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children .sub-menu-toggle.open:before {
    top: 10px;
  }
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children:hover > a:before {
  transform: rotate(225deg);
  top: 14px;
}
@media screen and (max-width: 900px) {
  .head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children:hover > a:before {
    top: 10px;
  }
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children:hover > a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3px;
  margin: auto;
  background-color: #2b2b2b;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children {
  position: relative;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  top: 41px;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu.open {
  visibility: visible;
  z-index: 1002;
  opacity: 1;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item {
  width: auto;
  height: 46px;
  margin: -1px 0 0 0;
  white-space: nowrap;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item a {
  display: flex;
  align-items: center;
  background-color: #fff;
  border: 1px solid #d2d2d2;
  width: 100%;
  height: 100%;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 600;
  text-decoration: none;
  color: #111;
  padding: 0 1.5em 0 2.4em;
  transition: unset;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 19px;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1.5px solid #222222;
  border-bottom: 1.5px solid #222222;
  transform: rotate(-45deg);
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item .sub-menu-toggle {
  top: 14px;
  left: auto;
  right: 11px;
  position: absolute;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item .sub-menu-toggle:before {
  transform: rotate(-45deg);
  top: 0px;
  left: -3px;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item .sub-menu-toggle.open:before {
  transform: rotate(-225deg);
  top: 0px;
  left: 2px;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item:hover > a {
  background-color: #eee;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children {
  position: relative;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children:hover > a:before {
  transform: rotate(-225deg);
  right: 16px;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children a:before {
  left: auto;
  right: 19px;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children .sub-menu {
  visibility: hidden;
  position: absolute;
  opacity: 0;
  top: 1px;
  left: 100%;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children .sub-menu.open {
  visibility: visible;
  z-index: 1002;
  opacity: 1;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item {
  width: auto;
  height: 46px;
  margin: -1px 0 0 -1px;
  white-space: nowrap;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item:hover > a {
  background-color: #d2d2d2;
}
.head-nav .layout .block > .head-nav-list > .menu-item.menu-item-has-children > .sub-menu .menu-item.menu-item-has-children .sub-menu .menu-item a:before {
  right: auto;
  left: 19px;
}

.shortcuts {
  width: 80px;
  background-color: #2b2b2b;
  position: fixed;
  top: 35vh;
  left: 0;
}
@media screen and (max-width: 1100px) {
  .shortcuts {
    transform: scale(0.8);
    transform-origin: 0 0;
  }
}
@media screen and (max-width: 750px) {
  .shortcuts {
    transform: scale(1);
    width: 100%;
    height: 65px;
    top: auto;
    bottom: 0;
    border-top: 1px solid #fff;
  }
}
@media screen and (max-width: 750px) {
  .shortcuts .lists {
    display: flex;
    justify-content: space-between;
  }
}
.shortcuts .lists .list {
  position: relative;
}
@media screen and (max-width: 750px) {
  .shortcuts .lists .list {
    width: 25%;
  }
}
.shortcuts .lists .list:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 46px;
  height: 1px;
  margin: auto;
  background-color: #a6a4a1;
}
@media screen and (max-width: 750px) {
  .shortcuts .lists .list:after {
    width: 1px;
    height: 46px;
    top: 0;
    bottom: 0;
    right: 0;
    left: auto;
    margin: auto;
  }
}
.shortcuts .lists .list:last-child:after {
  display: none;
}
.shortcuts .lists .list .link {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16px 0 16px;
  transition: all 0.3s ease;
  text-decoration: none;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .shortcuts .lists .list .link {
    padding: 0;
    padding: 11px 0;
  }
}
.shortcuts .lists .list .link .icon {
  margin-bottom: 6px;
}
@media screen and (max-width: 750px) {
  .shortcuts .lists .list .link .icon {
    height: 26px;
  }
}
.shortcuts .lists .list .link .icon svg {
  fill: currentColor;
}
.shortcuts .lists .list .link .txt {
  font-size: 13px;
  font-weight: bold;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .shortcuts .lists .list .link .txt {
    font-size: 11px;
  }
}
.shortcuts .lists .list .link:hover {
  text-decoration: none;
  opacity: 1;
  background-color: #DEC57F;
  color: #111;
}

/**************************************************
  Footer
***************************************************/
/* -----------------------------------------------
  js-pageTop
-------------------------------------------------- */
.js-pageTop {
  position: fixed;
  right: clamp(20px, 2.394px + 4.695vw, 70px);
  bottom: clamp(20px, 2.394px + 4.695vw, 70px);
  display: none;
}
.js-pageTop a {
  width: 5rem;
  height: 5rem;
  background: #000;
  display: block;
  color: #fff;
}

#footer.m-footer {
  background-color: #2b2b2b;
  position: relative;
}
@media screen and (max-width: 750px) {
  #footer.m-footer {
    padding: 3.2em 0 6.5em;
  }
}
#footer.m-footer:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 80px;
  bottom: 0;
  width: 1px;
  height: 100%;
  margin: auto;
  background-color: #7a7671;
  z-index: 0;
}
@media screen and (max-width: 750px) {
  #footer.m-footer:after {
    display: none;
  }
}
#footer.m-footer .layout {
  display: flex;
  justify-content: space-between;
  padding: 3.7em 11.4em 4em 5em;
}
@media screen and (max-width: 850px) {
  #footer.m-footer .layout {
    flex-direction: column;
  }
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout {
    padding: 0;
    display: block;
  }
}
#footer.m-footer .layout .block {
  min-width: 320px;
}
@media screen and (max-width: 850px) {
  #footer.m-footer .layout .block {
    width: 100%;
  }
}
#footer.m-footer .layout .block .logo {
  width: 310px;
  height: 56px;
  margin-bottom: 3em;
}
@media screen and (max-width: 850px) {
  #footer.m-footer .layout .block .logo {
    height: auto;
    margin-bottom: 0;
  }
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo {
    width: 75%;
    margin: 0 auto;
  }
}
#footer.m-footer .layout .block .logo .m-footer__logo-link {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 4.5em;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__logo-link {
    margin-bottom: 1.2em;
    height: auto;
  }
}
#footer.m-footer .layout .block .logo .m-footer__cta {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #fff;
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__cta {
    font-size: 15px;
  }
}
#footer.m-footer .layout .block .logo .m-footer__cta .text {
  margin: 0 0 1.3em;
  font-size: 14px;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__cta .text {
    margin: 0 0 0.6em;
    font-size: 15px;
  }
}
#footer.m-footer .layout .block .logo .m-footer__cta .tel dl {
  display: flex;
  margin-bottom: 1em;
  line-height: 2;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__cta .tel dl {
    align-items: baseline;
  }
}
#footer.m-footer .layout .block .logo .m-footer__cta .tel dl dt {
  font-size: 16px;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__cta .tel dl dt {
    font-size: 13px;
  }
}
#footer.m-footer .layout .block .logo .m-footer__cta .tel dl dd {
  padding: 0 0 0 0.3em;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__cta .tel dl dd {
    font-size: 16px;
  }
  #footer.m-footer .layout .block .logo .m-footer__cta .tel dl dd .small {
    font-size: 14px;
  }
}
#footer.m-footer .layout .block .logo .m-footer__cta .tel dl dd a {
  color: #fff;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block .logo .m-footer__cta .tel dl dd a {
    font-size: 16px;
    text-decoration: underline;
  }
}
#footer.m-footer .layout .block_link {
  flex: 1;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  text-align: right;
}
@media screen and (max-width: 850px) {
  #footer.m-footer .layout .block_link {
    width: 100%;
  }
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block_link {
    width: auto;
  }
}
#footer.m-footer .layout .block_link .m-share {
  margin: 0 0 2.1em auto;
  justify-content: flex-end;
  padding-top: 5.5em;
}
@media screen and (max-width: 850px) {
  #footer.m-footer .layout .block_link .m-share {
    padding-top: 0;
  }
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block_link .m-share {
    margin: 0 auto;
    width: 79%;
    padding-top: 2em;
    justify-content: flex-start;
  }
}
#footer.m-footer .layout .block_link .m-share .nav li {
  width: 34px;
  height: 34px;
}
#footer.m-footer .layout .block_link .footer-nav {
  text-align: right;
  max-width: 515px;
  margin: 0 0 1.2em auto;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block_link .footer-nav {
    display: none;
  }
}
#footer.m-footer .layout .block_link .footer-nav .footer-nav-list .menu-item {
  line-height: 1;
  display: inline-block;
  padding: 0 1.5em;
  border-left: 1px solid #e0e0e0;
  margin: 0 0 1em 0;
}
#footer.m-footer .layout .block_link .footer-nav .footer-nav-list .menu-item a {
  color: #fff;
  text-decoration: none;
  line-height: 1;
  font-size: 16px;
}
#footer.m-footer .layout .block_link .footer-nav .footer-nav-list .menu-item a:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
#footer.m-footer .layout .block_link .footer-nav .footer-nav-list .menu-item:nth-child(3) {
  border-right: 1px solid #e0e0e0;
}
#footer.m-footer .layout .block_link .footer-nav .footer-nav-list .menu-item:last-child {
  border-right: 1px solid #e0e0e0;
}
#footer.m-footer .layout .block_link .link_txt {
  text-decoration: none;
  color: #fff;
  font-size: 16px;
}
#footer.m-footer .layout .block_link .link_txt:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .layout .block_link .link_txt {
    display: none;
  }
}
#footer.m-footer .copyright {
  color: #97928c;
  font-size: 18px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  position: absolute;
  top: 137px;
  right: -60px;
  transform: rotate(90deg);
  transform-origin: center;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .copyright {
    position: relative;
    top: auto;
    right: auto;
    transform: rotate(0deg);
    font-size: 15px;
    width: 79%;
    margin: 2em auto 0;
  }
}
#footer.m-footer .m-footer__page-top {
  width: 100px;
  height: 100px;
  border-radius: 50px;
  background-color: #7a7671;
  position: absolute;
  bottom: 20px;
  right: 30px;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .m-footer__page-top {
    width: 75px;
    height: 75px;
    right: 20px;
    bottom: 119px;
  }
}
#footer.m-footer .m-footer__page-top .m-footer__page-top-link {
  display: flex;
  width: 100%;
  height: 100%;
  border-radius: 50px;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  z-index: 1;
}
#footer.m-footer .m-footer__page-top .m-footer__page-top-link .text {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .m-footer__page-top .m-footer__page-top-link .text {
    font-size: 12px;
  }
}
#footer.m-footer .m-footer__page-top .m-footer__page-top-link:hover {
  background-color: #DEC57F;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .m-footer__page-top .m-footer__page-top-link:hover {
    background-color: #7a7671;
  }
}
#footer.m-footer .m-footer__page-top .m-footer__page-top-link:hover .text {
  color: #111;
}
@media screen and (max-width: 750px) {
  #footer.m-footer .m-footer__page-top .m-footer__page-top-link:hover .text {
    color: #fff;
  }
}

/**************************************************
  entry-list
***************************************************/
.m-entry-list .m-article__link {
  display: block;
}

/**************************************************
  entry-card
***************************************************/
@media all and (max-width: 768px) {
  .m-entry-card {
    grid-template-columns: repeat(2, 1fr);
  }
}
.m-entry-card .m-article {
  font-family: "Zen Old Mincho", serif;
}
.m-entry-card .m-article__link {
  text-decoration: none;
  display: block;
}
.m-entry-card .m-article__link:hover .m-article__content .m-article__title {
  text-decoration: none;
}
.m-entry-card .m-article__link {
  position: relative;
}
.m-entry-card .m-article__link:after {
  content: "";
  display: block;
  position: absolute;
  border-radius: unset;
  background-color: initial;
  top: 0;
  right: 27px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 850px) {
  .m-entry-card .m-article__link:after {
    right: 0;
    left: auto;
  }
}
@media screen and (max-width: 750px) {
  .m-entry-card .m-article__link:after {
    width: 6px;
    height: 6px;
    right: 0;
  }
}
.m-entry-card .m-article__content {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-bottom: 1em;
  align-items: flex-start;
}
@media screen and (max-width: 1100px) {
  .m-entry-card .m-article__content {
    margin-bottom: 1.5em;
    display: grid;
    grid-template-columns: 100px auto;
    grid-template-rows: repeat(2, auto);
    grid-column-gap: 0px;
    grid-row-gap: 10px;
    justify-content: unset;
  }
}
.m-entry-card .m-article__date {
  width: 110px;
  font-size: 16px;
  text-decoration: none;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 1100px) {
  .m-entry-card .m-article__date {
    width: 80px;
    font-size: 12px;
    grid-area: 1/1/2/2;
  }
}
.m-entry-card .m-article__title {
  width: 84.5%;
  width: calc(100% - 280px);
  margin: 0;
  padding: 0 5em 0 0;
  font-size: 16px;
  text-decoration: underline;
  text-underline-offset: 3px;
  line-height: 1.75;
}
@media screen and (max-width: 1100px) {
  .m-entry-card .m-article__title {
    width: 100%;
    padding: 0 3em 0 0;
    font-size: 16px;
    grid-area: 2/1/3/3;
  }
}
.m-entry-card .m-article__thumb {
  overflow: hidden;
}
.m-entry-card .m-article__thumb .wp-post-image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-entry-card .m-article__category {
  background: #e5e5e5;
  white-space: nowrap;
  border-radius: 50px;
  padding: 0.4em 0.3em 0.5em;
  line-height: 1;
  margin: 0.3em 1em 0 0;
  width: 170px;
  text-align: center;
  font-size: 14px;
}
@media screen and (max-width: 1100px) {
  .m-entry-card .m-article__category {
    grid-area: 1/2/2/3;
    font-size: 12px;
    margin: 0;
    width: 120px;
  }
}

/**************************************************
  page title
***************************************************/
.m-page-title {
  border-bottom: 1px solid #2b2b2b;
  margin-bottom: 5.5em;
  position: relative;
}
.m-page-title .last-update {
  position: absolute;
  right: 0.5em;
  bottom: 0.1em;
  font-size: 14px;
  color: #666;
}
@media screen and (max-width: 750px) {
  .m-page-title .last-update {
    bottom: 0.2em;
    font-size: 10px;
    right: 0.6em;
  }
}
@media screen and (max-width: 750px) {
  .m-page-title {
    margin-bottom: 2em;
  }
}

.m-page-title__heading {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 40px;
  max-width: 1140px;
  margin: 1.2em auto 1.4em;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .m-page-title__heading {
    font-size: 20px;
    width: calc(100% - 50px);
    padding: 0;
    margin: 1.1em auto 0.9em;
  }
}

.m-page-title__text {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 40px;
  max-width: 1140px;
  margin: 1.2em auto 1.4em;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .m-page-title__text {
    width: calc(100% - 50px);
    font-size: 20px;
    margin: 1.1em auto 0.9em;
    line-height: 1.3;
  }
}

.page-template-page-collection-archive .m-page-title__heading,
.page-template-page-collection-search .m-page-title__heading,
.tax-collection-classification .m-page-title__heading {
  text-align: center;
}

.m-page-title__block {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 24px;
  padding: 0 0 0.3em;
  border-bottom: 1px solid #d2d2d2;
}

.single-collection-list .m-page-title {
  display: none;
}

.page-links {
  border-bottom: 1px solid #2b2b2b;
  margin: -5.3em 0 0 0;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .page-links {
    margin: -1.9em 0 0 0;
  }
}
.page-links .links {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 750px) {
  .page-links .links {
    flex-wrap: wrap;
  }
}
.page-links .links .list {
  margin: 0 1.4em;
}
@media screen and (max-width: 750px) {
  .page-links .links .list {
    margin: 0 0.7em;
    line-height: 1.8;
  }
}
.page-links .links .list .link {
  display: block;
  font-size: 18px;
  text-decoration: none;
  position: relative;
  padding: 1.5em 1em 1.5em 0;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .page-links .links .list .link {
    font-size: 14px;
    padding-block: 1em;
  }
}
.page-links .links .list .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -16px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .page-links .links .list .link:after {
    left: -13px;
    top: -2px;
    width: 6px;
    height: 6px;
    margin: auto;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
  }
}
.page-links .links .list .link:hover, .page-links .links .list .link:focus-visible {
  text-decoration: underline;
}
.page-links_mg {
  margin-bottom: 5em;
}

/**************************************************
  breadcrumb
***************************************************/
.m-breadcrumb {
  white-space: nowrap;
  overflow-x: scroll;
  background-color: #eee;
}
@media screen and (max-width: 750px) {
  .m-breadcrumb {
    overflow-x: scroll;
  }
}
.m-breadcrumb ol {
  display: flex;
  padding: 0.8em 7% 0.3em;
  justify-content: right;
  font-size: 17px;
}
.m-breadcrumb ol.is-overflow {
  justify-content: left;
}
@media screen and (max-width: 750px) {
  .m-breadcrumb ol {
    font-size: 11px;
    padding: 0.7em 1em 0.7em 1em;
    justify-content: left;
  }
}
.m-breadcrumb ol li {
  margin: 0 0 0 2.4em;
}
@media screen and (max-width: 750px) {
  .m-breadcrumb ol li {
    margin: 0 2em 0 0;
  }
}
.m-breadcrumb ol li a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.m-breadcrumb ol li a:hover {
  text-decoration: none;
}
.m-breadcrumb ol li a.is-current {
  text-decoration: none;
}
.m-breadcrumb ol li:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -23px;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .m-breadcrumb ol li:after {
    right: -13px;
    width: 5px;
    height: 5px;
  }
}
.m-breadcrumb ol li:last-child {
  padding-right: 1em;
}
.m-breadcrumb ol li:last-child:after {
  display: none;
}
.m-breadcrumb::-webkit-scrollbar {
  height: 8px;
}
.m-breadcrumb::-webkit-scrollbar-track {
  background-color: transparent;
}
.m-breadcrumb::-webkit-scrollbar-thumb {
  background-color: rgba(var(--color-text), 0.05);
  border-radius: 8px;
}

/**************************************************
  slider
***************************************************/
.m-slider {
  --swiper-theme-color: var(--color-base);
  overflow: hidden;
  position: relative;
  margin-block: 2rem;
}
.m-slider .swiper-slide img {
  width: 100%;
}
.m-slider .swiper-button-prev,
.m-slider .swiper-button-next {
  color: var(--swiper-theme-color);
  top: 50%;
  transform: translateY(-50%);
}
.m-slider .swiper-pagination-bullet-active {
  background-color: var(--swiper-theme-color);
}
/**************************************************
  pagination
***************************************************/
.pagination__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
}
.pagination__nav .icon {
  width: 1em;
  height: 1em;
}

.pagination {
  margin: 5em 0 5em;
  font-family: "Zen Old Mincho", serif;
}
.pagination .pagination__nav .current {
  font-size: 18px;
  margin: 0;
  background-color: #000;
  color: #fff;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .pagination__nav .pagination__nav__link {
  font-size: 18px;
  margin: 0 0.5px;
  text-decoration: none;
  background-color: #fff;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon) {
  padding: 0;
  background-image: url(images/common/pager-arrow-left.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 5px auto;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon) .c-icon {
  display: none;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-child(1) {
  background-color: initial;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-child(1) .c-icon {
  display: none;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-child(1) {
  background-image: url(images/common/pager-double-arrow-left.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8px auto;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-last-child(2) {
  padding: 0;
  background-image: url(images/common/pager-arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 5px auto;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-last-child(2) .c-icon {
  display: none;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-last-child(1) {
  background-color: initial;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-last-child(1) .c-icon {
  display: none;
}
.pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-last-child(1) {
  background-image: url(images/common/pager-double-arrow-right.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 8px auto;
}

.pagination-back-white .pagination .pagination__nav .pagination__nav__link {
  background-color: #eeeeee;
}
.pagination-back-white .pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-child(1) {
  background-color: #eeeeee;
}
.pagination-back-white .pagination .pagination__nav .pagination__nav__link:has(.c-icon):nth-last-child(1) {
  background-color: #eeeeee;
}

/**************************************************
  share
***************************************************/
.m-share {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  margin-block: 5rem;
  padding-top: 5rem;
  border-top: 1px solid rgba(var(--color-text), 0.1);
}
@media screen and (max-width: 750px) {
  .m-share {
    margin-block: 3.5rem;
    padding-top: 0;
    margin-bottom: 2.5em;
  }
}
.m-share .title {
  margin-top: 0;
  margin-right: 3rem;
  font-size: 1.6rem;
  color: #666;
}
.m-share .nav {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  gap: 2rem;
}
.m-share .nav li {
  width: 6rem;
  height: 6rem;
}
@media screen and (max-width: 750px) {
  .m-share .nav li {
    width: 4rem;
    height: 4rem;
  }
}
.m-share .nav .link {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: nowrap;
  height: 100%;
  border-radius: 50%;
  overflow: hidden;
}
.m-share .nav .link .c-icon {
  fill: currentColor;
  width: 3rem;
  height: 3rem;
}
.m-share .nav .link:hover {
  opacity: 0.6;
}
.m-share .nav .facebook a {
  color: #1877f2;
  width: auto;
}
.m-share .nav .facebook a .c-icon {
  width: 6rem;
  height: 6rem;
  margin: 0;
  fill: currentColor;
}
.m-share .nav .twitter a {
  background: #000;
}
.m-share .nav .twitter a .c-icon {
  fill: var(--color-bg);
}
.m-share .nav .line a {
  background: #000;
}
.m-share .nav .line a .c-icon {
  fill: var(--color-bg);
}
.m-share .nav .insta a:after {
  display: none;
}

/**************************************************
  Sidebar
***************************************************/
.l-content__side__archive {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  flex-direction: row;
  flex-wrap: wrap;
}
.l-content__side__archive li {
  width: 50%;
}

/* -----------------------------------------------
  MARK: ウィジェット
-------------------------------------------------- */
.m-widget {
  margin-bottom: 1px;
  background-color: #f5f5f5;
  padding: 1.5em 1.6em 0.5em;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 750px) {
  .m-widget {
    padding: 1em 1em 0.5em;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .m-widget {
    font-size: 16px;
  }
}
.m-widget__title {
  font-size: 20px;
  margin: 0 0 0.4em;
}
@media screen and (max-width: 750px) {
  .m-widget__title {
    font-size: 16px;
    margin: 0 0 0.6em;
  }
}
.m-widget__archive {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem 2rem;
}
.m-widget__archive li {
  flex: 1;
}
.m-widget .c-list--bullet {
  margin-top: 0;
}
.m-widget a {
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .m-widget a {
    font-size: 14px;
  }
}

/**************************************************
  toc
***************************************************/
.m-toc-list a {
  display: block;
}
.m-toc-list .is-current {
  font-weight: bold;
  background: rgba(var(--color-base), 0.2);
}

/**************************************************
  entry
***************************************************/
/* -----------------------------------------------
  header
-------------------------------------------------- */
@media screen and (max-width: 750px) {
  .m-entry-header .m-entry-header__title {
    font-size: 18px;
    margin: 0 0 0.5em;
  }
}
@media screen and (max-width: 750px) {
  .m-entry-header .m-entry-header__meta {
    font-size: 12px;
  }
}
.m-entry-header .m-entry-header__category {
  background: #e5e5e5;
  white-space: nowrap;
  border-radius: 50px;
  padding: 0.4em 1em 0.5em;
  line-height: 1;
  margin: 0.3em 1em 0 1em;
  min-width: 150px;
  text-align: center;
  font-size: 14px;
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .m-entry-header .m-entry-header__category {
    margin: 0 1em 0 1em;
    font-size: 12px;
    width: 120px;
  }
}

/* -----------------------------------------------
  nav
-------------------------------------------------- */
.m-entry-nav {
  display: flex;
  margin-block: 3em;
}
@media screen and (max-width: 750px) {
  .m-entry-nav {
    margin-block: 2.5em;
    margin-bottom: 1em;
  }
}
.m-entry-nav__item {
  flex: 1;
  text-align: center;
}
.m-entry-nav__item a {
  display: block;
}
@media screen and (max-width: 750px) {
  .m-entry-nav__item a {
    font-size: 14px;
  }
}

.m-entry-related {
  font-family: "Zen Old Mincho", serif;
}
.m-entry-related h2 {
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 750px) {
  .m-entry-related h2 {
    font-size: 16px;
    margin-bottom: 1em;
  }
}
.m-entry-related .entry-card .m-article .m-article__link {
  text-decoration: none;
}
.m-entry-related .entry-card .m-article .m-article__link:hover .m-article__content .m-article__title {
  text-decoration: none;
}
.m-entry-related .entry-card .m-article .m-article__link .m-article__content {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .m-entry-related .entry-card .m-article .m-article__link .m-article__content {
    flex-direction: column-reverse;
  }
}
.m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__title {
  width: 84.5%;
  margin: 0;
  padding: 0 5em 0 0;
  font-size: 16px;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
  line-height: 1.75;
}
@media screen and (max-width: 850px) {
  .m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__title {
    padding: 0;
    flex: 1;
  }
}
@media screen and (max-width: 750px) {
  .m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__title {
    font-size: 14px;
    width: 100%;
  }
}
.m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__date {
  width: 15.5%;
  font-size: 16px;
  text-decoration: none;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 850px) {
  .m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__date {
    width: 7em;
  }
}
@media screen and (max-width: 750px) {
  .m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__date {
    font-size: 14px;
    width: 100%;
  }
}
.m-entry-related .entry-card .m-article .m-article__link .m-article__content .m-article__category {
  white-space: nowrap;
  margin: 0 20px 0 0;
}

/**************************************************
  search-form
***************************************************/
.m-search-form__field {
  outline-offset: 0;
}
.m-search-form__btn {
  background-color: var(--color-base);
  color: #fff;
}

/**************************************************
  gutenberg
***************************************************/
.wp-block-image {
  margin-block: 2rem;
}

.wp-block-gallery {
  margin-block: 2rem;
}
.wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
  padding-top: 6em;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.6) 0%, rgba(0, 0, 0, 0.6) 20%, rgba(0, 0, 0, 0) 100%);
}

.wp-block-file {
  margin-block: 2rem;
}
.wp-block-file .wp-block-file__button {
  display: none;
}

.wp-block-media-text {
  margin-block: 2rem;
}
.wp-block-media-text__content {
  padding-right: 0 !important;
}
@media all and (max-width: 768px) {
  .wp-block-media-text__content {
    padding-inline: 0 !important;
  }
}

.wp-block-separator {
  border-top: 1px solid #0f0f0f;
  margin-block: 5rem;
}

.wp-block-embed {
  margin-block: 2rem;
}

.wp-post .c-heading--lv2 {
  font-size: 36px;
  position: relative;
  margin-top: 8rem;
  margin-bottom: 4.7rem;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv2 {
    margin-top: 3.5rem;
    margin-bottom: 3rem;
    font-size: 24px;
  }
}
.wp-post .c-heading--lv2:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -26px;
  left: 0;
  width: 100px;
  height: 1px;
  margin: auto;
  background-color: #dec580;
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv2:after {
    bottom: -15px;
    width: 65px;
  }
}
.wp-post .c-heading--lv3 {
  font-size: 26px;
  position: relative;
  margin-top: 8rem;
  margin-bottom: 2rem;
  padding-left: 34px;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  letter-spacing: 0em;
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv3 {
    margin-top: 3.5rem;
    margin-bottom: 2rem;
    font-size: 20px;
    padding-left: 23px;
  }
}
.wp-post .c-heading--lv3:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 2px;
  margin: auto;
  background-color: #dec580;
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv3:after {
    bottom: auto;
    top: 13px;
    width: 15px;
  }
}
.wp-post h2.c-heading--lv2 + h3.c-heading--lv3 {
  margin-top: 10rem !important;
}
@media screen and (max-width: 750px) {
  .wp-post h2.c-heading--lv2 + h3.c-heading--lv3 {
    margin-top: 5rem !important;
  }
}
.wp-post .c-heading--lv4 {
  font-size: 22px;
  position: relative;
  margin-top: 8rem;
  margin-bottom: 2rem;
  padding-left: 27px;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  letter-spacing: 0em;
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv4 {
    margin-top: 3.5rem;
    margin-bottom: 2.5rem;
    font-size: 20px;
    padding-left: 20px;
  }
}
.wp-post .c-heading--lv4:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  background-color: #dec580;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv4:after {
    height: 8px;
    width: 8px;
  }
}
.wp-post .c-heading--lv5 {
  font-size: 22px;
  position: relative;
  margin-top: 8rem;
  margin-bottom: 2rem;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  letter-spacing: 0em;
}
@media screen and (max-width: 750px) {
  .wp-post .c-heading--lv5 {
    margin-top: 3.5rem;
    margin-bottom: 2.5rem;
    font-size: 20px;
    padding-left: 0;
  }
}
.wp-post p {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .wp-post p {
    font-size: 16px;
  }
}
.wp-post ol,
.wp-post ul,
.wp-post menu {
  margin: 2rem 0;
}
.wp-post .wp-block-list.c-list.c-list--bullet li {
  margin-bottom: 1rem;
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .wp-post .wp-block-list.c-list.c-list--bullet li {
    font-size: 16px;
  }
}
.wp-post .wp-block-list.c-list.c-list--bullet li:before {
  content: "";
  width: 8px;
  height: 8px;
  background-color: #aaaaaa;
  border-radius: 0;
  top: 0.5em;
  counter-increment: unset;
}
.wp-post .wp-block-list.c-list.c-list--number li {
  margin-bottom: 1rem;
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .wp-post .wp-block-list.c-list.c-list--number li {
    font-size: 16px;
  }
}
.wp-post .c-list--number ol,
.wp-post .c-list--number ul {
  margin-top: 1rem;
  margin-bottom: 0;
}
.wp-post .c-list--bullet ol,
.wp-post .c-list--bullet ul {
  margin-top: 1rem;
  margin-bottom: 0;
}
.wp-post .wp-block-list.wp-block-list--flow.c-list.c-list--number li:has(a):before {
  background-color: initial;
}
.wp-post table tr th {
  background-color: #fbfbfb;
  padding: 1.2rem 2.5rem;
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
}
@media screen and (max-width: 750px) {
  .wp-post table tr th {
    padding: 1rem 1.5rem;
    font-size: 14px;
    border-right: 1px solid #ccc;
  }
}
.wp-post table tr td {
  border-top: 1px solid #ccc;
  border-left: 1px solid #ccc;
  padding: 1.2rem 2.5rem;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .wp-post table tr td {
    padding: 1rem 1.5rem;
    font-size: 14px;
    border-right: 1px solid #ccc;
  }
}
.wp-post table tr td:last-child,
.wp-post table tr th:last-child {
  border-right: 1px solid #ccc;
}
.wp-post table tr:last-child th {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 750px) {
  .wp-post table tr:last-child th {
    border-right: 1px solid #ccc;
  }
}
.wp-post table tr:last-child td {
  border-bottom: 1px solid #ccc;
}
.wp-post table tr:last-child td:last-child {
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 750px) {
  .wp-post table.is-stacked-on-mobile tr:last-child th {
    border-bottom: none;
  }
}
@media screen and (max-width: 750px) {
  .wp-post table.is-stacked-on-mobile tr:last-child td {
    border-bottom: none;
  }
}
@media screen and (max-width: 750px) {
  .wp-post table.is-stacked-on-mobile tr:last-child td:last-child {
    border-bottom: 1px solid #ccc;
  }
}
.wp-post .wp-block-button__link {
  height: 50px;
  display: flex;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 18px;
  padding: 0 4rem 0 1.5em;
  position: relative;
  margin: 0.5em auto 0.5em;
  transition: 0.15s;
  text-decoration: none;
  background-color: #fff;
  color: #2b2b2b;
  border: 1px solid #2b2b2b;
  border-radius: 0;
  line-height: 1.1;
}
.wp-post .wp-block-button__link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 22px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg);
  pointer-events: none;
}
.wp-post .wp-block-button__link:hover {
  background-color: #2b2b2b;
  color: #fff;
}
.wp-post .wp-block-button__link:hover:after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
@media screen and (max-width: 750px) {
  .wp-post .wp-block-button__link {
    width: 100%;
    background-color: #2b2b2b;
    color: #fff;
    text-align: center;
    font-size: 15px;
    justify-content: center;
  }
  .wp-post .wp-block-button__link:after {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
  }
}
.wp-post .group {
  background-color: #f5f5f5;
  padding: 4em 6em 2em;
  margin: 3em 0 3em;
}
@media screen and (max-width: 750px) {
  .wp-post .group {
    margin: 1.5em 0 1.5em;
    padding: 1.2em 1.2em;
  }
}
.wp-post .group .c-heading--lv2:nth-child(1) {
  margin-top: 0;
}
.wp-post .group .c-heading--lv3:nth-child(1) {
  margin-top: 0;
}
.wp-post .wp-block-image + .c-heading {
  margin-top: 2rem;
}
@media screen and (max-width: 750px) {
  .wp-post iframe {
    width: 100%;
  }
}
.wp-post .ank {
  margin-top: -6rem !important;
  padding-top: 17rem !important;
  position: relative;
  z-index: -1;
}
@media screen and (max-width: 750px) {
  .wp-post .ank {
    margin-top: -3rem !important;
    padding-top: 8rem !important;
  }
}
.wp-post #onlineticket,
.wp-post #passport {
  scroll-margin-top: 100px;
}

/* -----------------------------------------------
  Luminous ズームコントロール
--------------------------------------------------*/
.luminous-zoom-controls {
  position: fixed;
  bottom: 30px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 15px;
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  padding: 12px 20px;
  z-index: 9999;
  font-size: 14px;
  backdrop-filter: blur(4px);
  touch-action: manipulation;
}

.luminous-zoom-btn {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  width: 36px;
  height: 36px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  transition: all 0.2s ease;
  font-weight: bold;
}
.luminous-zoom-btn:hover {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
}
.luminous-zoom-btn:active {
  background-color: rgba(255, 255, 255, 0.4);
}
.luminous-zoom-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.luminous-zoom-value {
  min-width: 50px;
  text-align: center;
  font-weight: 600;
  font-size: 14px;
}

.luminous-zoom-reset {
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 12px;
  transition: all 0.2s ease;
  font-weight: 600;
  white-space: nowrap;
}
.luminous-zoom-reset:hover {
  background-color: rgba(255, 255, 255, 0.3);
  border-color: rgba(255, 255, 255, 0.5);
}
.luminous-zoom-reset:active {
  background-color: rgba(255, 255, 255, 0.4);
}

.page-styleguide .toc {
  height: calc(100vh - 32px);
  overflow-y: auto;
  top: 32px;
}
.page-styleguide .toc__inner {
  margin: 0 2rem;
}
.page-styleguide .toc__inner ol ol {
  padding-left: 1rem;
}
.page-styleguide .row > [class^=col],
.page-styleguide .row > [class^=g-col] {
  background: #00afcc;
}
.page-styleguide .row > [class^=col]:nth-child(even),
.page-styleguide .row > [class^=g-col]:nth-child(even) {
  background: #a688bd;
}
.page-styleguide .docs {
  background-color: #272822;
  clear: both;
  margin: 1rem 0 2rem;
  position: relative;
}
.page-styleguide .docs .control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0.6rem;
  position: absolute;
  right: 0;
}
.page-styleguide .docs .control p {
  margin: 0;
  padding: 0;
  font-size: 1.3rem;
  font-weight: bold;
  color: #212529;
}
@media all and (max-width: 768px) {
  .page-styleguide .docs .control div:last-child {
    text-align: right;
  }
}
.page-styleguide .docs pre {
  margin: 0;
}
.page-styleguide .code-type {
  background: #888;
  color: #fff;
  display: inline-block;
  padding: 8px 16px;
  margin-left: 10px;
  margin-right: 8px;
  font-size: 0.7rem;
}
.page-styleguide .copy-button {
  color: #888;
  font-size: 0.6em;
  padding: 0.4rem 0.8rem;
  background-color: #333;
  font-weight: bold;
  border-radius: 3px;
}
.page-styleguide .copy-button:hover {
  color: #000;
  background-color: #fff;
}
.page-styleguide .copy-button.success {
  background-color: #c8e6c9;
  color: #007E33;
}
.page-styleguide .copy-button.failed {
  background-color: #ffcdd2;
  color: #CC0000;
}
.page-styleguide .hljs {
  line-height: 1.3;
}
.page-styleguide .hljs * {
  font-family: "SFMono-Regular", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}
.page-styleguide .hljs-ln-numbers {
  min-width: 2rem;
}

/**************************************************
  Top
***************************************************/
/* -----------------------------------------------
  mainvisual
-------------------------------------------------- */
.top-visual {
  position: relative;
  max-width: 100vw;
  margin-bottom: 3.6em;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 750px) {
  .top-visual {
    margin-bottom: 1.5em;
    aspect-ratio: unset;
  }
}
.top-visual .top-visual__wrap {
  height: 100%;
  overflow: hidden;
}
.top-visual .slide-media {
  text-align: center;
}
.top-visual .slide-media img {
  max-width: unset;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
}
.top-visual .slide-media video {
  width: auto;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 750px) {
  .top-visual .slide-media video {
    height: auto;
    width: 100%;
    aspect-ratio: 16/9;
  }
}
.top-visual .slide-media iframe {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 16/9;
}
.top-visual .swiper-pagination {
  top: 0;
  bottom: auto;
}
.top-visual .opening-days {
  width: 190px;
  height: 180px;
  background-color: rgba(255, 255, 255, 0.9);
  position: absolute;
  top: 0;
  right: 100px;
  z-index: 99;
  font-family: "Zen Old Mincho", serif;
  font-weight: 500;
  padding: 1.5em 1.9em 0;
  line-height: 1;
}
@media screen and (max-width: 850px) {
  .top-visual .opening-days {
    right: 30px;
  }
}
@media screen and (max-width: 750px) {
  .top-visual .opening-days {
    position: relative;
    top: auto;
    right: auto;
    width: calc(100% - 50px);
    border-top: 1px solid #000;
    border-bottom: 1px solid #000;
    margin: 23px auto 0.8em;
    padding: 2em 0;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    height: auto;
    padding: 1.5em 0 1em;
  }
}
.top-visual .opening-days .day-wrap {
  border-left: 1px solid #000000;
  padding-left: 0.5em;
  margin: 0 0 0.6em;
  white-space: nowrap;
  padding-bottom: 0.4em;
}
@media screen and (max-width: 750px) {
  .top-visual .opening-days .day-wrap {
    display: flex;
    align-items: flex-end;
    border: none;
    margin: 0;
    padding: 0;
  }
}
.top-visual .opening-days .year {
  font-size: 16px;
  margin: 0 0 0.2em;
}
@media screen and (max-width: 750px) {
  .top-visual .opening-days .txt {
    display: flex;
    align-items: flex-end;
  }
}
.top-visual .opening-days .txt .month {
  font-size: 32px;
}
.top-visual .opening-days .txt .day {
  font-size: 32px;
  letter-spacing: 0;
}
.top-visual .opening-days .txt .week {
  font-size: 18px;
  margin: 0 0 0 -0.3em;
}
.top-visual .opening-days .msg {
  font-size: 18px;
  border: 1px solid #000;
  text-align: center;
  padding: 0.5em 0.55em;
  margin: 0 0 0.4em;
}
@media screen and (max-width: 750px) {
  .top-visual .opening-days .msg {
    position: absolute;
    top: -16px;
    font-size: 15px;
    width: 130px;
    left: 0;
    right: 0;
    margin: auto;
    background-color: #fff;
  }
}
.top-visual .opening-days .msg.msg_red {
  border: 1px solid #d60000;
  color: #d60000;
}
.top-visual .opening-days .time {
  text-align: center;
  font-size: 18px;
}

.top-visual__btns {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 150px;
  height: 14px;
  margin: 0 0;
  position: absolute;
  bottom: -23px;
  right: 80px;
  line-height: 1;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .top-visual__btns {
    position: relative;
    justify-content: space-between;
    bottom: auto;
    right: auto;
    width: 90px;
    margin: 13px 24px 0 auto;
  }
}
.top-visual__btns:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  width: 1px;
  height: 100%;
  margin: auto;
  background-color: #d2d2d2;
}
.top-visual__btns .block {
  width: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .top-visual__btns .block {
    width: 33px;
  }
}
.top-visual__btns .top-visual__btn--prev {
  width: 35px;
  height: 35px;
  text-indent: 9999px;
  overflow: hidden;
  display: block;
  position: relative;
  top: 1px;
}
.top-visual__btns .top-visual__btn--prev:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 11px;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: rotate(-225deg);
}
@media screen and (max-width: 750px) {
  .top-visual__btns .top-visual__btn--prev:after {
    width: 8px;
    height: 8px;
    right: 3px;
  }
}
.top-visual__btns .top-visual__btn--next {
  width: 35px;
  height: 35px;
  text-indent: 9999px;
  overflow: hidden;
  display: block;
  position: relative;
  top: 1px;
}
.top-visual__btns .top-visual__btn--next:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 11px;
  bottom: 0;
  width: 6px;
  height: 6px;
  margin: auto;
  border-right: 1.5px solid #000;
  border-bottom: 1.5px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-visual__btns .top-visual__btn--next:after {
    width: 8px;
    height: 8px;
    left: 3px;
  }
}
.top-visual__btns .top-visual__txt {
  display: block;
  line-height: 1;
  width: 38px;
  white-space: nowrap;
  text-align: right;
}
@media screen and (max-width: 750px) {
  .top-visual__btns .top-visual__txt {
    font-size: 15px;
  }
}
.top-visual__btns .top-visual__txt#swiper-num-prev {
  text-align: left;
}
.top-visual__btns .top-visual__btn--ctrl.js-stop {
  display: none;
}

.top-visual__slide-link {
  display: block;
}

.top-visual__slide-link.is-current {
  pointer-events: unset;
}

.important-news {
  background-color: #fbf5f5;
  max-width: 940px;
  width: calc(100% - 160px);
  margin: 0 auto 3.6em;
  display: flex;
  padding: 1.5em 1.8em 1.1em;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .important-news {
    width: 100%;
    padding: 1.5em 1.5em 1.1em;
    display: block;
  }
}
.important-news .c-heading {
  width: 24%;
  font-family: "Zen Old Mincho", serif;
  font-size: 20px;
  color: #b64f4f;
  margin: 0;
  letter-spacing: 0.05em;
  font-weight: normal;
}
@media screen and (max-width: 850px) {
  .important-news .c-heading {
    width: 11em;
  }
}
@media screen and (max-width: 750px) {
  .important-news .c-heading {
    font-size: 18px;
    width: 100%;
    margin: 0 0 1em;
    text-align: center;
  }
}
.important-news .c-heading .icon {
  margin: 0 0.4em 0 0;
  position: relative;
  top: -3px;
}
.important-news .m-entry-list {
  width: 76%;
  margin: 0;
  padding: 0 1.8em 0 0;
}
@media screen and (max-width: 750px) {
  .important-news .m-entry-list {
    width: 100%;
    padding: 0;
    padding: 0;
  }
}
.important-news .m-entry-list .m-article {
  margin-bottom: 0.7em;
  padding: 0 0 0 0;
  position: relative;
}
.important-news .m-entry-list .m-article:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -18px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #1f1f1f;
  border-bottom: 2px solid #1f1f1f;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .important-news .m-entry-list .m-article:after {
    display: none;
  }
}
.important-news .m-entry-list .m-article__link {
  color: #111;
  text-decoration: none;
  font-size: 18px;
  text-underline-offset: 3px;
  padding: 0 3em 0 0;
}
@media screen and (max-width: 850px) {
  .important-news .m-entry-list .m-article__link {
    padding: 0 1em 0 0;
  }
}
@media screen and (max-width: 750px) {
  .important-news .m-entry-list .m-article__link {
    padding: 0;
    font-size: 14px;
  }
}
.important-news .m-entry-list .m-article__link:hover {
  text-decoration: underline;
}
.important-news .m-entry-list .m-article__title {
  margin: 0;
  padding: 0;
  font-size: 18px;
  line-height: 1.6;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .important-news .m-entry-list .m-article__title {
    font-size: 15px;
    font-weight: normal;
    text-decoration: underline;
    line-height: 1.8;
  }
}
.important-news .m-entry-list .m-article__date {
  display: none;
}
.important-news .m-entry-list .m-article__category {
  display: none;
}

.title_top_ex {
  font-family: "Zen Old Mincho", serif;
  font-size: 24px;
  font-weight: 600;
  color: #111;
  position: relative;
  margin: 0 0 0 32px;
}
@media screen and (max-width: 750px) {
  .title_top_ex {
    font-size: 18px;
    padding-left: 1.1em;
    margin: 0 auto 1em;
    width: calc(100% - 50px);
  }
}
.title_top_ex:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -30px;
  width: 13px;
  height: 13px;
  margin: auto;
  background-color: #dec580;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .title_top_ex:before {
    left: 0;
    width: 10px;
    height: 10px;
  }
}

.top-special-exhibition {
  margin-bottom: 6em;
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition {
    margin-bottom: 2.3em;
  }
}
.top-special-exhibition .title_top_ex_wrap {
  max-width: 940px;
  width: calc(100% - 160px);
  margin: 0 auto 1.3em;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .title_top_ex_wrap {
    width: auto;
  }
}
.top-special-exhibition .layout {
  max-width: 940px;
  width: calc(100% - 160px);
  margin: 0 auto 3em;
  display: flex;
  flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout {
    width: 100%;
    margin: 0 auto 1.5em;
    flex-direction: column-reverse;
  }
}
.top-special-exhibition .layout .pict {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .pict {
    width: 100%;
    z-index: 1;
  }
}
.top-special-exhibition .layout .pict .title {
  margin-bottom: 1.5em;
}
.top-special-exhibition .layout .pict .img {
  width: 70%;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .pict .img {
    width: 44.5%;
  }
}
.top-special-exhibition .layout .info {
  margin: 0 calc(50% - 50vw) 0 0;
  width: 50vw;
  background-color: #2b2b2b;
  color: #fff;
  font-family: "Zen Old Mincho", serif;
  padding: 2.8em 2em 2em 3.8em;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info {
    padding: 4.7em 25px 1.5em;
    width: 100%;
    margin: -53px calc(50% - 50vw) 0 0;
  }
}
.top-special-exhibition .layout .info .cat-wrap {
  margin-bottom: 1em;
  order: 1;
}
.top-special-exhibition .layout .info .cat-wrap .cat {
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  padding: 0.3em 1.2em 0.4em;
  border-radius: 100px;
  background-color: #eee;
  color: #1d1813;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .cat-wrap .cat {
    font-size: 14px;
  }
}
.top-special-exhibition .layout .info .name {
  font-size: 28px;
  margin-top: 0;
  margin-bottom: 0.8em;
  line-height: 1.5;
  order: 3;
}
.top-special-exhibition .layout .info .name a {
  color: #fff;
  text-decoration-line: none;
  text-decoration-color: #b1b1b1;
  text-underline-offset: 8px;
}
.top-special-exhibition .layout .info .name a:hover {
  text-decoration-thickness: 1px;
  text-decoration-line: underline;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .name {
    font-size: 23px;
  }
}
.top-special-exhibition .layout .info .name-sub {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0;
  order: 2;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .name-sub {
    font-size: 15px;
  }
}
.top-special-exhibition .layout .info .copy {
  font-size: 18px;
  line-height: 1.5;
  margin-bottom: 2.8em;
  order: 4;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .copy {
    font-size: 15px;
    margin: 0 0 1.7em;
  }
}
.top-special-exhibition .layout .info .period {
  order: 5;
  line-height: 1;
  margin-bottom: 4em;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .period {
    margin-bottom: 1.5em;
  }
}
.top-special-exhibition .layout .info .period dt {
  border-left: 1px solid #eeeeee;
  padding: 0.3em 0 0.3em 1.2em;
  font-size: 18px;
  margin: 0 0 1.2em;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .period dt {
    font-size: 15px;
    margin: 0 0 1em;
  }
}
.top-special-exhibition .layout .info .period dd {
  font-size: 18px;
  margin: 0;
  padding: 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .period dd {
    font-size: 15px;
  }
}
.top-special-exhibition .layout .info .btn-wrap {
  order: 6;
  text-align: right;
  padding: 0 3.4em 0 0;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .btn-wrap {
    padding: 0;
    text-align: center;
  }
}
.top-special-exhibition .layout .info .btn-wrap .btn-link {
  font-size: 18px;
  color: #fff;
  border-bottom: 1px solid #b1b1b1;
  padding: 0 2em 0.7em 0;
  position: relative;
  text-decoration: none;
  display: inline-block;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .btn-wrap .btn-link {
    border: none;
    background-color: #fff;
    color: #000;
    padding: 0.8em;
    font-size: 15px;
    width: 100%;
    display: flex;
    justify-content: center;
  }
}
.top-special-exhibition .layout .info .btn-wrap .btn-link:after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .layout .info .btn-wrap .btn-link:after {
    top: 0;
    bottom: 0;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
    right: 26px;
  }
}
.top-special-exhibition .layout .info .btn-wrap .btn-link:hover, .top-special-exhibition .layout .info .btn-wrap .btn-link:focus-visible {
  color: #DEC57F;
  border-color: currentColor;
}
.top-special-exhibition .layout .info .btn-wrap .btn-link:hover::after, .top-special-exhibition .layout .info .btn-wrap .btn-link:focus-visible::after {
  border-color: currentColor;
}
.top-special-exhibition .btn:hover {
  color: #fff;
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .btn:hover {
    color: #fff;
  }
}
@media screen and (max-width: 750px) {
  .top-special-exhibition .btn {
    width: 67%;
    font-size: 15px;
  }
}
.top-special-exhibition .no-exhibition {
  text-align: center;
  padding: 2em 0;
}

.top-links-gp {
  height: 130px;
  max-width: 940px;
  width: calc(100% - 160px);
  border-top: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
  display: flex;
  margin: 0 auto;
  z-index: 1;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .top-links-gp {
    display: block;
    width: 100%;
    border-bottom: none;
    margin: 6.6em auto 0;
  }
}
.top-links-gp .list {
  width: 50%;
  border-right: 1px solid #d2d2d2;
}
@media screen and (max-width: 750px) {
  .top-links-gp .list {
    border-right: none;
    border-bottom: 1px solid #d2d2d2;
    width: 100%;
  }
}
.top-links-gp .list .link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 18px;
  padding-left: 1.4em;
  position: relative;
  color: #111;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .top-links-gp .list .link {
    font-size: 15px;
    padding: 1.3em 0 1.3em 1em;
  }
}
.top-links-gp .list .link:hover {
  background-color: #eee;
}
.top-links-gp .list .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 31px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-links-gp .list .link:after {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #111;
    border-bottom: 1.5px solid #111;
    right: 20px;
  }
}
.top-links-gp .list:last-child {
  border-right: none;
}

.top-permanent-exhibition {
  max-width: 940px;
  width: calc(100% - 160px);
  margin: 0 auto 5em;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition {
    width: calc(100% - 50px);
    margin: 0 auto 2.9em;
  }
}
.top-permanent-exhibition .title {
  margin-bottom: 1.3em;
  width: 100%;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .title {
    margin-bottom: 1.2em;
  }
}
.top-permanent-exhibition .layout_upper {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 55px;
  margin-bottom: 4em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 0;
  }
}
.top-permanent-exhibition .layout_upper .block {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  color: #111;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper .block {
    display: grid;
    grid-template-columns: 38% 62%;
    grid-template-rows: 40px auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    border-top: 1px solid rgb(51, 51, 51);
    padding: 15px 15px 15px 0px;
    position: relative;
  }
  .top-permanent-exhibition .layout_upper .block:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    right: 2px;
    bottom: 0px;
    width: 6px;
    height: 6px;
    transform: rotate(-45deg);
    margin: auto;
    border-right: 1px solid rgb(0, 0, 0);
    border-bottom: 1px solid rgb(0, 0, 0);
  }
}
.top-permanent-exhibition .layout_upper .block .txt {
  grid-area: 3/1/4/2;
  font-size: 28px;
  line-height: 1.3;
  margin-top: 0;
}
.top-permanent-exhibition .layout_upper .block .txt .sub-title {
  font-size: 16px;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper .block .txt .sub-title {
    font-size: 14px;
    margin-bottom: 0.2em;
  }
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper .block .txt {
    grid-area: 2/2/3/3;
    font-size: 20px;
    margin-bottom: 0.5em;
    padding: 0px 0px 0px 20px;
  }
}
.top-permanent-exhibition .layout_upper .block .img {
  grid-area: 1/1/2/2;
  max-width: 256px;
  width: 58%;
  margin: 0 auto 1.5em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper .block .img {
    grid-area: 1/1/3/2;
    width: 100%;
    margin: 0;
  }
}
.top-permanent-exhibition .layout_upper .block .cat-wrap {
  grid-area: 2/1/3/2;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper .block .cat-wrap {
    grid-area: 1/2/2/3;
    padding: 0px 0px 0px 20px;
  }
}
.top-permanent-exhibition .layout_upper .block .cat-wrap .cat {
  font-size: 16px;
  background-color: #eee;
  padding: 0.3em 2.3em 0.4em;
  display: inline-block;
  margin: 0 0.3em 0.5em 0;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_upper .block .cat-wrap .cat {
    font-size: 14px;
    margin: 0 0.3em 0 0;
    padding: 0.3em 1.5em 0.4em;
  }
}
.top-permanent-exhibition .layout_upper .block:hover .txt {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.top-permanent-exhibition .layout_lower {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 55px;
  margin-bottom: 2.3em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 1.8em;
  }
}
.top-permanent-exhibition .layout_lower .block {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 0;
  color: #111;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block {
    display: grid;
    grid-template-columns: 17% 83%;
    grid-template-rows: 35px auto;
    grid-column-gap: 0px;
    grid-row-gap: 0px;
    border-top: 1px solid rgb(51, 51, 51);
    padding: 15px 15px 15px 0px;
    position: relative;
  }
  .top-permanent-exhibition .layout_lower .block:after {
    content: "";
    display: block;
    position: absolute;
    top: 0px;
    right: 2px;
    bottom: 0px;
    width: 6px;
    height: 6px;
    transform: rotate(-45deg);
    margin: auto;
    border-right: 1px solid rgb(0, 0, 0);
    border-bottom: 1px solid rgb(0, 0, 0);
  }
}
.top-permanent-exhibition .layout_lower .block .txt {
  grid-area: 3/1/4/2;
  font-size: 24px;
  line-height: 1.3;
  margin-top: 0;
}
.top-permanent-exhibition .layout_lower .block .txt .sub-title {
  font-size: 15px;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block .txt .sub-title {
    font-size: 12px;
    margin-bottom: 0.2em;
  }
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block .txt {
    grid-area: 2/2/3/3;
    font-size: 15px;
    margin-bottom: 0.5em;
    padding: 0px 0px 0px 20px;
  }
}
.top-permanent-exhibition .layout_lower .block .img {
  grid-area: 1/1/2/2;
  max-width: 256px;
  width: 58%;
  margin: 0 auto 1.5em;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block .img {
    grid-area: 1/1/3/2;
    width: 100%;
    margin: 0;
    align-items: flex-start;
  }
}
.top-permanent-exhibition .layout_lower .block .cat-wrap {
  grid-area: 2/1/3/2;
  margin-bottom: 0.2em;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block .cat-wrap {
    grid-area: 1/2/2/3;
    padding: 0px 0px 0px 20px;
  }
}
.top-permanent-exhibition .layout_lower .block .cat-wrap .cat {
  font-size: 16px;
  background-color: #eee;
  padding: 0.3em 0.6em 0.4em;
  display: inline-block;
  margin: 0 0.3em 0.5em 0;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block .cat-wrap .cat {
    font-size: 12px;
    margin: 0 0.3em 0 0;
    padding: 0.3em 1.5em 0.4em;
  }
}
.top-permanent-exhibition .layout_lower .block:hover .txt {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .layout_lower .block:last-child {
    border-bottom: 1px solid rgb(51, 51, 51);
  }
}
.top-permanent-exhibition .btn-wrap {
  margin-bottom: 5em;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .btn-wrap {
    margin-bottom: 3.1em;
  }
}
.top-permanent-exhibition .link-rect {
  height: 260px;
  position: relative;
  display: block;
  margin-bottom: 3em;
  transition: 0.15s;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .link-rect {
    height: auto;
    margin-bottom: 4.9em;
  }
}
.top-permanent-exhibition .link-rect img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 260px;
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .link-rect img {
    -o-object-fit: unset;
       object-fit: unset;
    height: auto;
  }
}
.top-permanent-exhibition .link-rect .txt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 400px;
  height: 80px;
  display: flex;
  align-items: center;
  background-color: rgba(0, 0, 0, 0.8);
  font-size: 28px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  color: #fff;
  padding: 0 0 0 1.3em;
  letter-spacing: -0.09em;
  line-height: 1;
}
.top-permanent-exhibition .link-rect .txt:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 41px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .link-rect .txt:after {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
    right: 28px;
  }
}
@media screen and (max-width: 750px) {
  .top-permanent-exhibition .link-rect .txt {
    font-size: 18px;
    width: 100%;
    height: 50px;
    background-color: #f1f1f1;
    color: #2b2b2b;
    top: auto;
    bottom: -50px;
    justify-content: center;
    padding: 0;
  }
}
.top-permanent-exhibition .link-rect:hover {
  opacity: 1;
}
.top-permanent-exhibition .link-rect:hover .txt {
  background-color: #DEC57F;
  color: #000;
}
.top-permanent-exhibition .link-rect:hover .txt:after {
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
}

.top-event {
  position: relative;
  margin: 0 auto 8em;
}
@media screen and (max-width: 750px) {
  .top-event {
    margin: 0 auto 4em;
  }
}
.top-event:after {
  content: "";
  display: block;
  position: absolute;
  top: 182px;
  right: 0;
  width: 100%;
  height: 76%;
  margin: auto;
  background-color: #f5f5f5;
}
@media screen and (max-width: 750px) {
  .top-event:after {
    top: 133px;
    height: 80%;
  }
}
.top-event > .title {
  font-family: "Zen Old Mincho", serif;
  font-size: 32px;
  font-weight: 600;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: 86.2%;
  margin: 0 70px -70px auto;
  z-index: 1;
  display: flex;
  align-items: self-end;
  position: relative;
}
@media screen and (max-width: 850px) {
  .top-event > .title {
    margin: 0 40px -70px auto;
  }
}
@media screen and (max-width: 750px) {
  .top-event > .title {
    font-size: 24px;
    margin: 0 19px -45px auto;
  }
}
.top-event > .title:after {
  content: "";
  display: block;
  position: absolute;
  bottom: -104px;
  left: 19px;
  width: 1px;
  height: 90px;
  margin: auto;
  background-color: #7a7671;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .top-event > .title:after {
    left: 15px;
    bottom: -63px;
    height: 50px;
  }
}
.top-event .top-event-slide-wrap {
  width: 86.2%;
  margin: 0 0 8.6em auto;
  position: relative;
}
@media screen and (max-width: 850px) {
  .top-event .top-event-slide-wrap {
    width: 84%;
  }
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap {
    margin: 0 0 6.3em auto;
    width: 100%;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body {
  overflow: hidden;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body {
    width: 76.5%;
    margin: 0 0 0 auto;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block {
  color: #111;
  text-decoration: none;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .thumb {
  position: relative;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 186px;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .thumb img {
    height: 133px;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .thumb.close:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .thumb.close:before {
  content: "受付終了";
  font-family: "Zen Old Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 50px;
  border: 1px solid #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  color: #fff;
  z-index: 1;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .sub-title {
  min-height: 35px;
  font-size: 16px;
  padding-bottom: 0.1em;
  padding-top: 0.5em;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .sub-title {
    font-size: 12px;
    padding-top: 0.8em;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .title {
  min-height: 77px;
  font-size: 24px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .title {
    font-size: 18px;
    min-height: 50px;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .cat-wrap {
  min-height: 46px;
  border-bottom: 1px solid #d2d2d2;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .cat-wrap .cat {
  font-size: 14px;
  background-color: #e5e5e5;
  padding: 0.4em 1.1em 0.5em;
  display: inline-block;
  margin: 0 0.3em 0.3em 0;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .swiper-slide .block .cat-wrap .cat {
    font-size: 13px;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block {
  display: flex;
  flex-direction: column;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .title {
  order: 3;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .thumb {
  order: 1;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .sub-title {
  order: 2;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .cat-wrap {
  order: 4;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .date {
  order: 5;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .time {
  order: 6;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .txt {
  order: 7;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .note {
  order: 8;
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .date {
  min-height: 45px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 20px;
  font-feature-settings: "palt";
  font-weight: normal;
  letter-spacing: -0.02em;
  padding-top: 0.52em;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .date {
    padding-top: 1.3em;
    font-size: 15px;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .time {
  min-height: 45px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 18px;
  color: #736f6a;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .time {
    font-size: 14px;
    min-height: 35px;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .time .icon {
  margin: 0 0.2em 0.2em 0;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .time .icon {
    width: 14px;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .txt {
  min-height: 75px;
  font-size: 18px;
  line-height: 1.5;
  padding-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .txt {
    min-height: 57px;
    font-size: 15px;
    line-height: 1.35;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .note ul li {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 0.7em;
  background-image: url("images/common/icon_list.png");
  background-repeat: no-repeat;
  background-size: 22px auto;
  background-position: left top 3px;
  padding: 0 0 0 30px;
}
@media screen and (max-width: 750px) {
  .top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block .note ul li {
    background-size: 18px auto;
    font-size: 13px;
    padding: 0 0 0 24px;
    margin-bottom: 0.3em;
  }
}
.top-event .top-event-slide-wrap .top-event-slide-body .swiper-wrapper .block:hover .title {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.top-event .top-event__swiper-scrollbar {
  position: absolute;
  bottom: -61px;
  left: 0;
  right: 17%;
  margin: auto;
  height: 2px;
  background-color: #ccc;
  width: 44%;
  border-radius: 0;
  z-index: 1;
}
.top-event .top-event__swiper-scrollbar .swiper-scrollbar-drag {
  background-color: #2b2b2b;
}
@media screen and (max-width: 750px) {
  .top-event .top-event__swiper-scrollbar {
    background-color: #ccc;
    width: 54%;
    right: 0;
    height: 2.5px;
    bottom: -47px;
  }
}
.top-event .top-event__btns {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 38px;
  height: 16px;
  margin: 0 0;
  position: absolute;
  bottom: -65px;
  right: 179px;
  line-height: 1;
  font-family: "Zen Old Mincho", serif;
  font-size: 16px;
  font-weight: 600;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .top-event .top-event__btns {
    right: 0;
    left: 0;
    margin: auto;
    width: 73%;
    bottom: -52px;
  }
}
.top-event .top-event__btns .block {
  width: 38px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.top-event .top-event__btns .top-event__btn--prev {
  width: 8px;
  height: 16px;
  text-indent: 9999px;
  overflow: hidden;
  display: block;
  position: relative;
  top: 1px;
}
.top-event .top-event__btns .top-event__btn--prev:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 2px;
  bottom: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-225deg);
}
@media screen and (max-width: 750px) {
  .top-event .top-event__btns .top-event__btn--prev:after {
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
  }
}
.top-event .top-event__btns .top-event__btn--next {
  width: 8px;
  height: 16px;
  text-indent: 9999px;
  overflow: hidden;
  display: block;
  position: relative;
  top: 1px;
}
.top-event .top-event__btns .top-event__btn--next:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  width: 9px;
  height: 9px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-event .top-event__btns .top-event__btn--next:after {
    width: 8px;
    height: 8px;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
  }
}
.top-event .top-event__btns .top-event__txt {
  display: block;
  line-height: 1;
}
.top-event .top-event__btns .top-event__btn--ctrl.js-stop {
  display: none;
}
@media screen and (max-width: 750px) {
  .top-event .top-links-gp {
    margin: 0 auto;
    width: calc(100% - 50px);
  }
}

.top-calendar {
  padding: 0 80px;
  margin-bottom: 11.4em;
}
@media screen and (max-width: 850px) {
  .top-calendar {
    padding: 0;
  }
}
@media screen and (max-width: 750px) {
  .top-calendar {
    margin-bottom: 4.5em;
  }
}
.top-calendar .title {
  text-align: center;
  font-size: 28px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  margin-bottom: 1.8em;
}
@media screen and (max-width: 750px) {
  .top-calendar .title {
    font-size: 24px;
    margin-bottom: 0.8em;
  }
}
@media screen and (max-width: 850px) {
  .top-calendar .calendar-layout .calendar {
    width: 997px;
    max-width: 85vw;
  }
}
@media screen and (max-width: 750px) {
  .top-calendar .calendar-layout .calendar {
    max-width: 95vw;
  }
}

.top-news {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  margin-bottom: 4.5em;
}
@media screen and (max-width: 750px) {
  .top-news {
    background-color: #f5f5f5;
    padding: 3.6em 0 3em;
    margin-bottom: 0;
  }
}
.top-news .title {
  max-width: 940px;
  width: 90%;
  margin: 0 auto 0;
  font-size: 32px;
}
@media screen and (max-width: 850px) {
  .top-news .title {
    margin: 0 0 0 auto;
  }
}
@media screen and (max-width: 750px) {
  .top-news .title {
    font-size: 24px;
    margin: 0 auto 1.2em;
  }
}
.top-news .layout {
  max-width: 940px;
  width: calc(100% - 160px);
  margin: -10px auto 0;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .top-news .layout {
    display: block;
    margin: 0 auto;
    width: calc(100% - 50px);
  }
}
.top-news .layout .block:nth-child(1) {
  padding-top: 3.6em;
  width: 18%;
  position: relative;
}
@media screen and (max-width: 750px) {
  .top-news .layout .block:nth-child(1) {
    width: 100%;
    padding: 0;
    display: none;
  }
}
.top-news .layout .block:nth-child(1) .link {
  font-size: 18px;
  color: #111;
  border-bottom: 1px solid #7a7671;
  padding: 0.55em 0 0.55em 0;
  display: block;
  position: relative;
  text-decoration: none;
}
.top-news .layout .block:nth-child(1) .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
}
.top-news .layout .block:nth-child(1) .link:hover, .top-news .layout .block:nth-child(1) .link:focus-visible {
  color: #83744b;
}
.top-news .layout .block:nth-child(1) .link:hover::after, .top-news .layout .block:nth-child(1) .link:focus-visible::after {
  border-color: currentColor;
}
.top-news .layout .block:nth-child(1):after {
  content: "";
  display: block;
  position: absolute;
  top: -90px;
  bottom: auto;
  right: -47px;
  width: 50vw;
  height: 340px;
  margin: auto;
  background-color: #f5f5f5;
  z-index: -1;
}
.top-news .layout .block:nth-child(2) {
  width: 71%;
}
@media screen and (max-width: 750px) {
  .top-news .layout .block:nth-child(2) {
    width: 100%;
  }
}
.top-news .layout .block:nth-child(2) .news-headline .list .link {
  display: flex;
  font-size: 16px;
  text-decoration: none;
  color: #111;
  position: relative;
  padding: 0.65em 0;
}
@media screen and (max-width: 750px) {
  .top-news .layout .block:nth-child(2) .news-headline .list .link {
    display: block;
  }
}
.top-news .layout .block:nth-child(2) .news-headline .list .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-news .layout .block:nth-child(2) .news-headline .list .link:after {
    display: none;
  }
}
.top-news .layout .block:nth-child(2) .news-headline .list .link .time {
  margin-right: 2.5em;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .top-news .layout .block:nth-child(2) .news-headline .list .link .time {
    font-size: 15px;
    margin-bottom: 0.4em;
  }
}
.top-news .layout .block:nth-child(2) .news-headline .list .link .name {
  padding-right: 2em;
}
@media screen and (max-width: 750px) {
  .top-news .layout .block:nth-child(2) .news-headline .list .link .name {
    font-size: 17px;
    text-decoration: underline;
    padding: 0;
    line-height: 1.7;
  }
}
.top-news .layout .block:nth-child(2) .news-headline .list:hover .link .name {
  text-decoration: underline;
}
.top-news .layout .btn-wrap-sp {
  display: none;
}
@media screen and (max-width: 750px) {
  .top-news .layout .btn-wrap-sp {
    display: block;
    text-align: center;
    margin: 2.3em 0 0;
  }
  .top-news .layout .btn-wrap-sp .btn {
    width: 100%;
    font-size: 15px;
  }
}

.top-about {
  background-color: #2b2b2b;
  background-image: url("images/top/about-back.jpg");
  background-repeat: no-repeat;
  background-position: center top;
  background-size: 100% auto;
  position: relative;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  margin: 0 0 2.4em;
}
@media screen and (max-width: 750px) {
  .top-about {
    background-image: url("images/top/about-back_sp.jpg");
    margin: 0 0 2em;
  }
}
.top-about .head-layout {
  max-width: 1140px;
  width: 90%;
  margin: 0 auto 3em;
  display: flex;
}
@media screen and (max-width: 750px) {
  .top-about .head-layout {
    flex-direction: column-reverse;
    width: 100%;
    margin: 0 auto 1.4em;
  }
}
.top-about .head-layout .title {
  font-size: 32px;
  color: #fff;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  width: 31%;
  display: flex;
  align-items: flex-end;
  padding: 9.7% 0 0 6%;
  display: flex;
  flex-direction: column;
  justify-content: end;
  align-items: flex-start;
}
@media screen and (max-width: 1000px) {
  .top-about .head-layout .title {
    font-size: 28px;
    padding: 6% 0 0 6%;
  }
}
@media screen and (max-width: 750px) {
  .top-about .head-layout .title {
    writing-mode: horizontal-tb;
    text-orientation: unset;
    font-size: 24px;
    width: calc(100% - 50px);
    padding: 0;
    margin: -36px auto 0;
    display: block;
    line-height: 1.5;
  }
}
.top-about .head-layout .title span {
  display: block;
}
.top-about .head-layout .title span:nth-child(2) {
  text-indent: 1em;
}
@media screen and (max-width: 750px) {
  .top-about .head-layout .title span:nth-child(2) {
    text-indent: 0;
    display: inline-block;
  }
}
.top-about .head-layout .title span:nth-child(3) {
  text-indent: 5em;
}
@media screen and (max-width: 750px) {
  .top-about .head-layout .title span:nth-child(3) {
    text-indent: 0;
    display: inline-block;
  }
}
.top-about .head-layout .img {
  width: 69%;
}
@media screen and (max-width: 750px) {
  .top-about .head-layout .img {
    width: 100%;
  }
}
.top-about .lead {
  text-align: center;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.12em;
  line-height: 2;
  margin: 0 auto 2.4em;
}
@media screen and (max-width: 850px) {
  .top-about .lead {
    width: 80%;
    text-align: left;
  }
  .top-about .lead br.pc {
    display: none !important;
  }
}
@media screen and (max-width: 750px) {
  .top-about .lead {
    letter-spacing: 0.05em;
    font-size: 15px;
    width: calc(100% - 50px);
    margin: 0 auto 2.2em;
  }
}
.top-about .btn {
  margin-bottom: 5.6em;
}
@media screen and (max-width: 750px) {
  .top-about .btn {
    width: 100%;
    width: calc(100% - 50px);
    margin-bottom: 2.7em;
  }
}
.top-about .btn:hover {
  opacity: 1;
  background-color: #fff;
  color: #2b2b2b;
}
@media screen and (max-width: 750px) {
  .top-about .btn:hover {
    background-color: transparent;
    color: #fff;
  }
}
.top-about .btn:hover:after {
  border-right: 2px solid #2b2b2b;
  border-bottom: 2px solid #2b2b2b;
}
@media screen and (max-width: 750px) {
  .top-about .btn:hover:after {
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
  }
}
.top-about .subtitle {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 28px;
  text-align: center;
  color: #fff;
  line-height: 1.45;
  margin: 0 0 1.5em;
}
@media screen and (max-width: 750px) {
  .top-about .subtitle {
    margin: 0 0 0.75em;
    font-size: 23px;
  }
}
.top-about .subtitle span {
  font-size: 20px;
}
@media screen and (max-width: 750px) {
  .top-about .subtitle span {
    font-size: 18px;
  }
}
.top-about .digital-archive {
  max-width: 1140px;
  margin: 0 auto 5.8em;
  width: calc(100% - 160px);
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive {
    width: calc(100% - 50px);
    margin: 0 auto 2.7em;
  }
}
.top-about .digital-archive .layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 39px 2px;
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive .layout {
    gap: 19px 2px;
    grid-template-columns: repeat(2, 1fr);
  }
}
.top-about .digital-archive .layout .block {
  position: relative;
  text-decoration: none;
}
.top-about .digital-archive .layout .block .img {
  background-color: #fff;
  height: 195px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 2em;
  margin-bottom: 0.5em;
  position: relative;
}
.top-about .digital-archive .layout .block .img .hover-txt {
  display: none;
}
.top-about .digital-archive .layout .block .img:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  background-color: rgba(43, 43, 43, 0.9);
  opacity: 0;
  transition: 0.15s;
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive .layout .block .img {
    padding: 0.6em 1.5em;
    height: 111px;
    margin-bottom: 0.2em;
  }
}
.top-about .digital-archive .layout .block .img img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.top-about .digital-archive .layout .block .txt {
  color: #fff;
  text-decoration: none;
  font-size: 22px;
  padding: 0 0 0 1.4em;
  position: relative;
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive .layout .block .txt {
    padding: 0 0 0 1em;
    font-size: 15px;
  }
}
.top-about .digital-archive .layout .block .txt:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive .layout .block .txt:before {
    width: 6px;
    height: 6px;
    margin: auto;
    border-right: 1.5px solid #fff;
    border-bottom: 1.5px solid #fff;
  }
}
.top-about .digital-archive .layout .block:before {
  content: "";
  display: inline-block;
  font-size: 18px;
  color: #fff;
  position: absolute;
  padding-bottom: 0.3em;
  text-decoration: underline;
  text-decoration-color: #b1b1b1;
  text-decoration-thickness: 1px;
  text-underline-offset: 11px;
  top: 77px;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1;
  text-align: center;
  transition: 0.15s;
  opacity: 0;
}
.top-about .digital-archive .layout .block:hover .img:after {
  opacity: 1;
}
.top-about .digital-archive .layout .block:hover .img .hover-txt {
  display: block;
  color: #fff;
  font-size: 18px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 10px;
  text-decoration-color: rgba(255, 255, 255, 0.5);
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive .layout .block:hover .img .hover-txt {
    display: none;
  }
}
.top-about .digital-archive .layout .block:hover:before {
  opacity: 1;
}
@media screen and (max-width: 750px) {
  .top-about .digital-archive .layout .block:hover .img:after {
    opacity: 0;
  }
  .top-about .digital-archive .layout .block:hover:before {
    opacity: 0;
  }
}
.top-about .about-links {
  background-color: #fff;
  margin: 0 auto 0;
  padding: 3em 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .top-about .about-links {
    padding: 3.2em 0 0;
  }
}
.top-about .about-links .layout {
  max-width: 940px;
  width: calc(100% - 160px);
  margin: 0 auto 3.6em;
  display: flex;
  justify-content: space-between;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout {
    display: block;
    width: calc(100% - 50px);
    margin: 0 auto 2.5em;
  }
}
.top-about .about-links .layout .block {
  width: 29.8%;
  display: block;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block {
    width: 100%;
    display: flex;
    border-bottom: 1px solid #d2d2d2;
    padding: 0.9em 0;
    align-items: center;
  }
}
.top-about .about-links .layout .block .img {
  margin: 0 auto 0.8em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block .img {
    width: 30%;
    margin: 0;
  }
}
.top-about .about-links .layout .block .txt {
  font-size: 20px;
  color: #111;
  border-bottom: 1px solid #d2d2d2;
  padding: 0.55em 0 0.55em 0;
  display: block;
  position: relative;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block .txt {
    width: 70%;
    font-size: 18px;
    padding: 0 0 0 1.2em;
    border: none;
    letter-spacing: 0;
  }
}
.top-about .about-links .layout .block .txt:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block .txt:after {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #111;
    border-bottom: 1.5px solid #111;
  }
}
.top-about .about-links .layout .block:hover {
  opacity: 1;
}
.top-about .about-links .layout .block:hover .txt {
  color: #83744b;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block:hover .txt {
    color: #111;
  }
}
.top-about .about-links .layout .block:hover .txt:after {
  border-right: 2px solid #83744b;
  border-bottom: 2px solid #83744b;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block:hover .txt:after {
    border-right: 1.5px solid #111;
    border-bottom: 1.5px solid #111;
  }
}
@media screen and (max-width: 750px) {
  .top-about .about-links .layout .block:first-child {
    border-top: 1px solid #d2d2d2;
  }
}
.top-about .about-links .links {
  max-width: 940px;
  width: calc(100% - 160px);
  height: 73px;
  display: flex;
  align-items: center;
  margin: 0 auto;
  border-top: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .links {
    width: calc(100% - 50px);
    height: 103px;
  }
}
.top-about .about-links .links .list {
  width: 33.333%;
  height: 100%;
}
.top-about .about-links .links .list .link {
  width: 100%;
  height: 100%;
  display: flex;
  text-decoration: none;
  justify-content: center;
  align-items: center;
  color: #111;
  position: relative;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .links .list .link {
    flex-direction: column;
    gap: 10px;
  }
}
.top-about .about-links .links .list .link:hover {
  background-color: #eee;
}
.top-about .about-links .links .list .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 80%;
  margin: auto;
  background-color: #d2d2d2;
}
.top-about .about-links .links .list .link .icon img {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 30px;
  margin: auto;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .links .list .link .icon img {
    position: relative;
    top: auto;
    bottom: auto;
    left: 0;
  }
}
.top-about .about-links .links .list .link .txt {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .top-about .about-links .links .list .link .txt {
    font-size: 15px;
    letter-spacing: -0.01em;
  }
}
.top-about .about-links .links .list:last-child .link:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 1px;
  height: 80%;
  margin: auto;
  background-color: #d2d2d2;
}
.top-about .about-links:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 180px;
  background-color: #f5f5f6;
}
@media screen and (max-width: 750px) {
  .top-about .about-links:after {
    display: none;
  }
}

.insta {
  text-align: center;
}
.insta .icon-blank {
  display: none;
}
.insta .title {
  margin-bottom: 1.5em;
  display: inline-block;
  text-decoration: none;
}
.insta .title .layout {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
.insta .title .layout .icon {
  margin-right: 0.6em;
}
.insta .title .layout .txt {
  font-size: 28px;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 750px) {
  .insta .title .layout .txt {
    font-size: 24px;
  }
}
.insta .title .sub {
  text-align: center;
  font-size: 16px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  line-height: 1;
  padding: 0.1em 0 0 0;
}
@media screen and (max-width: 750px) {
  .insta .title .sub {
    font-size: 15px;
  }
}
.insta .title:hover {
  opacity: 1;
  color: #83744b;
}
@media screen and (max-width: 750px) {
  .insta .title:hover {
    color: #111;
  }
}
.insta .layout {
  display: flex;
}
@media screen and (max-width: 750px) {
  .insta .layout {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}

/**************************************************
  Contact
***************************************************/
/* -----------------------------------------------
  flow
-------------------------------------------------- */
.m-flow {
  position: relative;
  margin: 5em auto 5em;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 660px;
  gap: 25px;
}
@media screen and (max-width: 750px) {
  .m-flow {
    gap: 15px;
    margin: 3em auto 3em;
  }
}
.m-flow:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #000;
}
.m-flow li {
  position: relative;
  list-style-type: none;
  text-align: center;
  text-transform: uppercase;
  width: 30.5%;
  font-weight: bold;
  font-size: 16px;
  border: 1px solid rgb(0, 0, 0);
  font-family: "Zen Old Mincho", serif;
  background-color: #f6f6f5;
  padding: 0.5em 0;
}
@media screen and (max-width: 750px) {
  .m-flow li {
    width: 28%;
  }
}
.m-flow li:first-child:after {
  content: none;
}
.m-flow li[aria-current=page], .m-flow li.complete {
  background-color: #000;
  color: #fff;
}

/* -----------------------------------------------
  content
-------------------------------------------------- */
.l-form,
.wpcf7 {
  max-width: 1000px;
  margin-inline: auto;
}
.l-form .title,
.wpcf7 .title {
  text-align: center;
  font-size: 2rem;
}
@media screen and (max-width: 750px) {
  .l-form .title,
  .wpcf7 .title {
    font-size: 16px;
  }
}
.l-form .placeholder,
.wpcf7 .placeholder {
  font-size: 16px;
  color: #757575;
}

.l-form .lead {
  font-size: 18px;
  margin-top: 0;
}
.l-form .lists {
  margin-bottom: 2em;
  padding-left: 1em;
}
.l-form .lists li {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0.8rem;
  list-style: disc;
}
.l-form .btn-wrap {
  margin: 0 0 4em;
  text-align: left;
}
.l-form .btn-wrap .btn {
  margin: 0;
}
.l-form .btn-wrap .btn:hover {
  background-color: #2b2b2b;
  color: #fff;
}
.l-form .btn-wrap .btn:hover:after {
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
}
@media screen and (max-width: 750px) {
  .l-form .btn-wrap .btn:hover {
    background-color: rgba(255, 255, 255, 0);
    color: #111;
  }
  .l-form .btn-wrap .btn:hover:after {
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
  }
}
.l-form .btn-wrap_long {
  margin: 2em 0 4em;
}
.l-form .btn-wrap_long .btn {
  display: inline-flex;
  padding: 0 3.5em 0 1em;
  text-align: left;
  white-space: nowrap;
  width: auto;
}
@media screen and (max-width: 750px) {
  .l-form .btn-wrap_long .btn {
    padding: 0.7em 3.5em 0.7em 1em;
    white-space: unset;
    line-height: 1.5;
    height: auto;
  }
}
.l-form .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 24px;
  padding: 0 0 0.3em;
  border-bottom: 1px solid #d2d2d2;
  margin-bottom: 1.5em;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .l-form .title {
    font-size: 18px;
  }
}
@media screen and (max-width: 750px) {
  .l-form .c-list--rice li {
    font-size: 14px;
  }
}

.contact-telbox {
  display: flex;
  gap: 2rem;
  margin: 2rem 0 6rem;
}
@media all and (max-width: 768px) {
  .contact-telbox {
    gap: 1rem;
    flex-direction: column;
    margin: 2rem 0 3rem;
  }
}
.contact-telbox__item {
  flex: 1;
  text-align: center;
  border: 1px solid rgba(17, 17, 17, 0.1);
  padding: 3rem 1rem;
}
@media screen and (max-width: 750px) {
  .contact-telbox__item {
    padding: 1rem 1rem;
  }
}
.contact-telbox__name {
  font-weight: bold;
}
.contact-telbox__num {
  font-weight: bold;
  font-size: 20px;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 750px) {
  .contact-telbox__num {
    font-size: 18px;
  }
}
.contact-telbox__note {
  font-size: 1.2rem;
}

.wp-post div.contactform {
  width: 100%;
  border-bottom: 1px solid #000;
  margin-top: -3em;
  margin-bottom: 2.8em;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform {
    margin-top: -1.5em;
    margin-bottom: 1.5em;
  }
}
.wp-post div.contactform .input-title {
  display: block;
  width: 100%;
}
.wp-post div.contactform .input-title .hint {
  font-size: 14px;
  margin-bottom: 0.3em;
  display: block;
}
.wp-post div.contactform .input-gp .input-title {
  text-align: left;
  line-height: 1;
  border: none;
  border-top: 1px solid #000;
  padding: 0;
  padding: 2.8em 0 1.6em;
  font-size: 18px;
  margin-bottom: 0;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  background: initial;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform .input-gp .input-title {
    padding: 2em 0 0 0;
    margin-bottom: 0.5em;
    font-size: 16px;
  }
  .wp-post div.contactform .input-gp .input-title .c-list {
    margin-bottom: 0.5em;
  }
}
.wp-post div.contactform .input-gp .input-title.mg {
  margin-bottom: 0;
}
.wp-post div.contactform .input-gp .input-title .small {
  font-size: 12px;
  margin-left: 1em;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform .input-gp .input-title .small {
    font-size: 11px;
    margin: 0.6em 0 0.5em;
    display: block;
  }
}
.wp-post div.contactform .input-gp .input-title .no-required {
  background-color: #eeeeee;
  color: #000;
  position: absolute;
  right: 0;
  top: 50px;
  font-size: 13px;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.05em;
  padding: 0.57em 1.58em 0.57em;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform .input-gp .input-title .no-required {
    font-size: 11px;
    padding: 0.4em 1em 0.5em;
    top: 16px;
  }
}
.wp-post div.contactform .input-gp .input-title .required {
  background-color: #dec580;
  color: #000;
  position: absolute;
  right: 0;
  top: 46px;
  font-size: 13px;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.05em;
  padding: 0.57em 1.58em 0.57em;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform .input-gp .input-title .required {
    font-size: 11px;
    padding: 0.4em 1em 0.5em;
    top: 29px;
  }
}
.wp-post div.contactform .input-gp .input-body {
  padding-bottom: 2.5em;
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform .input-gp .input-body {
    font-size: 16px;
    padding-bottom: 2em;
  }
}
.wp-post div.contactform .input-gp .input-title {
  display: block;
  cursor: auto;
}
.wp-post div.contactform .input-gp .input-body {
  display: block;
}
.wp-post div.contactform .input-gp .placeholder {
  display: block;
}
.wp-post div.contactform .input-gp:first-child .input-title {
  border-top: none;
  border-left: none;
  border-top: none;
  background: initial;
  padding: 0;
  padding: 2.5em 0 1.6em;
}
.wp-post div.contactform .input-gp .input-body:last-child {
  border-top: none;
  border-right: none;
  border-left: none;
  padding: 0 0 2.5em;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .wp-post div.contactform .input-gp .input-body:last-child {
    font-size: 14px;
    font-weight: normal;
  }
}
.wp-post div.contactform .input-gp:last-child .input-title {
  border-bottom: none;
}
.wp-post div.contactform .input-gp:last-child .input-body {
  border-bottom: none;
}
.wp-post div.contactform .input-2col {
  display: flex;
}
.wp-post div.contactform .input-2col .child {
  width: auto;
  margin: 0 10px 0 0;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.wp-post div.contactform .input-2col .child input {
  width: 80px;
}
.wp-post div.contactform .input-2col .child span {
  margin: 0 0 0 3px;
}
.wp-post div.contactform .input-title-sub {
  font-size: 15px;
  margin: 1.5em 0 0 0;
  display: block;
}
.wp-post div.contactform .hint._x-small {
  font-size: 15px;
}
.wp-post table.contactform {
  width: 100%;
  border-bottom: 1px solid #000;
  margin-top: -3em;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform {
    margin-top: -1.5em;
  }
}
.wp-post table.contactform th,
.wp-post table.contactform td {
  display: block;
  width: 100%;
}
.wp-post table.contactform th .hint,
.wp-post table.contactform td .hint {
  font-size: 14px;
  margin-bottom: 0.3em;
  display: block;
}
.wp-post table.contactform tr th {
  text-align: left;
  line-height: 1;
  border: none;
  border-top: 1px solid #000;
  padding: 0;
  padding-top: 2.8em;
  font-size: 18px;
  margin-bottom: 1.3em;
  font-family: "Zen Old Mincho", serif;
  position: relative;
  background: initial;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform tr th {
    padding-top: 2em;
    margin-bottom: 0.5em;
    font-size: 16px;
  }
  .wp-post table.contactform tr th .c-list {
    margin-bottom: 0.5em;
  }
}
.wp-post table.contactform tr th.mg {
  margin-bottom: 0;
}
.wp-post table.contactform tr th .small {
  font-size: 12px;
  margin-left: 1em;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform tr th .small {
    font-size: 11px;
    margin: 0.6em 0 0.5em;
    display: block;
  }
}
.wp-post table.contactform tr th .no-required {
  background-color: #eeeeee;
  color: #000;
  position: absolute;
  right: 0;
  top: 50px;
  font-size: 13px;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.05em;
  padding: 0.57em 1.58em 0.57em;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform tr th .no-required {
    font-size: 11px;
    padding: 0.4em 1em 0.5em;
    top: 16px;
  }
}
.wp-post table.contactform tr th .required {
  background-color: #dec580;
  color: #000;
  position: absolute;
  right: 0;
  top: 50px;
  font-size: 13px;
  font-family: "Zen Old Mincho", serif;
  letter-spacing: 0.05em;
  padding: 0.57em 1.58em 0.57em;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform tr th .required {
    font-size: 11px;
    padding: 0.4em 1em 0.5em;
    top: 29px;
  }
}
.wp-post table.contactform tr th label {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0.5rem;
}
.wp-post table.contactform tr td {
  padding-bottom: 2.5em;
  font-size: 17px;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform tr td {
    font-size: 16px;
    padding-bottom: 2em;
  }
}
.wp-post table.contactform tr:first-child th {
  border-top: none;
  border-left: none;
  border-top: none;
  background: initial;
  padding: 0;
  padding-top: 2.5em;
}
.wp-post table.contactform tr td:last-child {
  border-top: none;
  border-right: none;
  border-left: none;
  padding: 0.3em 0 2.5em;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .wp-post table.contactform tr td:last-child {
    font-size: 14px;
    font-weight: normal;
  }
}
.wp-post table.contactform tr:last-child th {
  border-bottom: none;
}
.wp-post table.contactform tr:last-child td {
  border-bottom: none;
}
.wp-post table.contactform .input-2col {
  display: flex;
}
.wp-post table.contactform .input-2col .child {
  width: auto;
  margin: 0 10px 0 0;
  display: flex;
  align-items: center;
  white-space: nowrap;
}
.wp-post table.contactform .input-2col .child input {
  width: 80px;
}
.wp-post table.contactform .input-2col .child span {
  margin: 0 0 0 3px;
}
.wp-post .address_blk {
  margin-bottom: 15px;
}
@media screen and (max-width: 750px) {
  .wp-post .address_blk {
    margin-bottom: 10px;
  }
}
.wp-post .address_blk .name {
  font-size: 18px;
  font-family: "Zen Old Mincho", serif;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .wp-post .address_blk .name {
    font-size: 16px;
  }
}

.wpcf7-form .wpcf7-checkbox {
  display: block;
  line-height: 1.7;
}
.wpcf7-form .wpcf7-checkbox .wpcf7-list-item {
  margin-right: 1.5rem;
  display: block;
}
.wpcf7-form .acceptance {
  padding-top: 3em;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance {
    padding-top: 1em;
  }
  .wpcf7-form .acceptance p {
    font-size: 14px;
  }
}
@media screen and (max-width: 750px) and (max-width: 750px) {
  .wpcf7-form .acceptance p {
    font-size: 12px;
  }
}
.wpcf7-form .acceptance p {
  text-align: center;
}
@media all and (max-width: 768px) {
  .wpcf7-form .acceptance p {
    text-align: left;
  }
}
.wpcf7-form .acceptance .text {
  border: 1px solid #333;
  max-height: 20rem;
  overflow-y: auto;
  padding: 2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance .text {
    padding: 1em;
    margin-bottom: 1em;
  }
}
.wpcf7-form .acceptance .text p {
  text-align: left;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance .text p {
    margin: 0 0 1em;
  }
}
.wpcf7-form .acceptance .text h2:first-of-type {
  font-size: 20px;
  margin: 0 0 1em;
}
.wpcf7-form .acceptance .text h2:first-of-type:after {
  display: none;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance .text h2:first-of-type {
    font-size: 16px;
  }
}
.wpcf7-form .acceptance .text h2.c-heading.c-heading--lv2 {
  font-size: 20px;
  margin: 0 0 1em;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance .text h2.c-heading.c-heading--lv2 {
    font-size: 16px;
  }
}
.wpcf7-form .acceptance .text h2.c-heading.c-heading--lv2:after {
  display: none;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance .text .c-list--number li {
    font-size: 14px;
  }
  .wpcf7-form .acceptance .text .c-heading {
    font-size: 16px;
    margin: 1em 0 0.5em;
  }
  .wpcf7-form .acceptance .text .c-list--bullet li:has(a) {
    font-size: 14px;
  }
}
.wpcf7-form .acceptance [data-name=your-privacy] {
  display: block;
  text-align: center;
}
.wpcf7-form .acceptance [data-name=your-privacy] .wpcf7-list-item {
  margin-inline: auto;
}
.wpcf7-form .acceptance [data-name=your-privacy] label {
  padding: 0.5rem 1rem;
  background-color: white;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .acceptance [data-name=your-privacy] label {
    font-size: 15px;
  }
}
.wpcf7-form .wpcf7-list-item {
  margin: 0;
}
.wpcf7-form .m-btngroup {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.5em;
  margin: 3em 0 0;
}
@media all and (max-width: 768px) {
  .wpcf7-form .m-btngroup {
    flex-direction: column;
    margin: 1em 0 0;
  }
}
.wpcf7-form .m-btngroup [type=button],
.wpcf7-form .m-btngroup [type=submit] {
  cursor: pointer;
}
.wpcf7-form .m-btngroup [type=button]:disabled,
.wpcf7-form .m-btngroup [type=submit]:disabled {
  cursor: not-allowed;
}
.wpcf7-form .m-btngroup .btn-wrap {
  width: 370px;
  height: 95px;
  position: relative;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .m-btngroup .btn-wrap {
    width: 80%;
    height: 65px;
  }
}
.wpcf7-form .m-btngroup .btn-wrap:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 51px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 1.9px solid #fff;
  border-bottom: 1.9px solid #fff;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .wpcf7-form .m-btngroup .btn-wrap:after {
    right: 20px;
  }
}
.wpcf7-form .m-btngroup .btn-wrap_back .wpcf7-previous {
  background-color: #eeeeee;
  color: #000;
  border: none;
}
.wpcf7-form .m-btngroup .btn-wrap_back:after {
  left: 51px;
  right: auto;
  border-right: 1.9px solid #000;
  border-bottom: 1.9px solid #000;
  transform: rotate(135deg);
}
.wpcf7-form .m-btngroup .wpcf7-form-control {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-size: 18px;
  background-color: #333;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .m-btngroup .wpcf7-form-control {
    font-size: 16px;
  }
}
.wpcf7-form .m-btngroup .wpcf7-submit {
  background-color: #333;
  color: #fff;
}
.wpcf7-form .m-btngroup .wpcf7-submit:hover, .wpcf7-form .m-btngroup .wpcf7-submit:focus {
  background-color: rgb(4.25, 4.25, 4.25);
}
.wpcf7-form .m-btngroup .wpcf7-submit:disabled {
  background-color: rgb(251.6, 251.6, 251.6);
  color: rgb(144.5, 144.5, 144.5);
}
.wpcf7-form .m-btngroup .wpcf7-previous {
  background-color: rgb(251.6, 251.6, 251.6);
}
.wpcf7-form .m-btngroup .wpcf7-previous:hover, .wpcf7-form .m-btngroup .wpcf7-previous:focus {
  background-color: rgb(241.4, 241.4, 241.4);
}
.wpcf7-form .m-btngroup .wpcf7-spinner {
  margin: 0;
  position: absolute;
}
.wpcf7-form .wpcf7-not-valid-tip {
  font-weight: bold;
  position: relative;
  font-size: 1.5rem;
  padding-left: 1.2em;
}
.wpcf7-form .wpcf7-not-valid-tip::before {
  position: absolute;
  content: "";
  display: inline-block;
  top: 5px;
  left: 0;
  width: 1.1em;
  height: 1.1em;
  background-image: url("images/common/icon_attention.svg");
  background-size: cover;
  background-repeat: no-repeat;
}
.wpcf7-form .layout-cal-select {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select {
    display: block;
  }
}
.wpcf7-form .layout-cal-select .name {
  font-size: 18px;
  font-family: "Zen Old Mincho", serif;
  margin-bottom: 0.5em;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .name {
    font-size: 16px;
  }
}
.wpcf7-form .layout-cal-select .cal-select {
  width: 46%;
}
@media screen and (max-width: 1200px) {
  .wpcf7-form .layout-cal-select .cal-select {
    width: 30%;
  }
}
@media screen and (max-width: 900px) {
  .wpcf7-form .layout-cal-select .cal-select {
    width: auto;
  }
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .cal-select {
    margin-bottom: 1em;
  }
}
.wpcf7-form .layout-cal-select .cal-select input {
  width: 100%;
  height: 60px;
  background-color: #f5f5f5;
  padding: 1em 1.5em;
  font-size: 16px;
  border: none;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .cal-select input {
    padding: 0.5em 1em;
    height: auto;
  }
}
.wpcf7-form .layout-cal-select .time-select {
  width: 487px;
  font-size: 18px;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .time-select {
    width: auto;
  }
}
.wpcf7-form .layout-cal-select .time-select .time-wrap {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .time-select .time-wrap {
    font-size: 16px;
  }
}
.wpcf7-form .layout-cal-select .time-select .wave {
  margin: 0 0 0 10px;
}
.wpcf7-form .layout-cal-select .time-select select {
  width: 16%;
  height: 60px;
  background-color: #f5f5f5;
  padding: 1em 1.5em;
  font-size: 16px;
  border: none;
  margin: 0 5px 0 10px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .time-select select {
    margin: 0 5px 0 0;
    padding: 0.5em 0.5em;
    height: auto;
  }
}
.wpcf7-form .layout-cal-select .time-select .wpcf7-not-valid-tip {
  position: absolute;
  bottom: -3.2em;
}
.wpcf7-form .layout-cal-select .wave-period {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-cal-select .wave-period {
    margin: 0 0 1em;
  }
}
.wpcf7-form .layout-cal-select_block {
  display: block;
}
.wpcf7-form .layout-cal-select_block .cal-select {
  width: 100%;
}
.wpcf7-form .select-form {
  position: relative;
  max-width: 300px;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .select-form {
    max-width: unset;
  }
}
.wpcf7-form .select-form:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 18px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(45deg);
}
.wpcf7-form .select-form select {
  width: 100%;
  height: 60px;
  background-color: #f5f5f5;
  padding: 1em 3em 1em 1.5em;
  font-size: 16px;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .select-form select {
    height: auto;
    padding: 0.5em 3em 0.5em 1em;
  }
}
.wpcf7-form .select-form_middle {
  max-width: 450px;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .select-form_middle {
    max-width: unset;
  }
}
.wpcf7-form .note ul li {
  font-size: 14px;
  list-style: none;
  text-indent: -1em;
  padding-left: 1em;
  margin: 0 0 0.5em;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .note ul li {
    font-size: 11px;
  }
}
.wpcf7-form .note ul li:before {
  display: none;
}
.wpcf7-form .radio-form {
  font-size: 18px;
  margin-bottom: 30px;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .radio-form {
    margin-bottom: 20px;
    font-size: 16px;
  }
}
.wpcf7-form .radio-form .wpcf7-list-item {
  margin-right: 30px;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .radio-form .wpcf7-list-item {
    margin-right: 20px;
  }
}
.wpcf7-form .layout-input {
  display: flex;
  margin: 0.8em 0;
  align-items: flex-start;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-input {
    display: block;
  }
}
.wpcf7-form .layout-input .name {
  width: 20%;
  padding-top: 0.9em;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-input .name {
    width: 100%;
    font-size: 15px;
    padding-top: 0;
  }
}
.wpcf7-form .layout-input .value {
  width: 80%;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-input .value {
    width: 100%;
  }
}
.wpcf7-form .layout-input_w_free {
  display: flex;
  margin: 0.8em 0;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .wpcf7-form .layout-input_w_free {
    display: block;
  }
}
.wpcf7-form .layout-input_w_free .name {
  margin-right: 10px;
}
.wpcf7-form .textarea-txt {
  font-size: 16px;
  margin-bottom: 0.5em;
}
.wpcf7-form .textarea-form textarea {
  height: 200px;
}

/* -----------------------------------------------
  zipadrr-jp
-------------------------------------------------- */
#autozip {
  display: none !important;
}

/* -----------------------------------------------
  reCAPTCHA
  ※フォームのページのみバッジを表示
-------------------------------------------------- */
.grecaptcha-badge {
  visibility: hidden;
}

body:has(.wpcf7) .grecaptcha-badge {
  visibility: visible;
}

.contact_thanks {
  text-align: center;
  font-size: 20px;
  line-height: 2;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 750px) {
  .contact_thanks {
    font-size: 14px;
  }
}
.contact_thanks .link-wrap {
  text-align: center;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 16px;
  margin: 1em 0;
}
.contact_thanks .link-wrap .c-list--bullet li {
  display: inline-block;
}

input[type=checkbox] {
  margin-bottom: 0;
  display: inline-block;
  text-align: start;
  background-color: initial;
  box-shadow: none;
  box-sizing: border-box;
  border: 1px solid #000;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 15px;
  height: 15px;
  position: relative;
  top: 2px;
}

input[type=checkbox]:after {
  content: "";
  opacity: 0;
  display: block;
  left: 4px;
  top: 1px;
  position: absolute;
  width: 6px;
  height: 9px;
  border: 2px solid #000;
  border-top: 0;
  border-left: 0;
  transform: rotate(40deg);
  box-sizing: border-box;
}

input[type=checkbox]:checked:after {
  opacity: 1 !important;
}

input[type=radio] {
  margin-bottom: 0;
  display: inline-block;
  text-align: start;
  background-color: initial;
  box-shadow: none;
  box-sizing: border-box;
  border: 1px solid #000;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 17px;
  height: 17px;
  position: relative;
  top: 2px;
  border-radius: 10px;
}

input[type=radio]:after {
  content: "";
  opacity: 0;
  display: block;
  left: 2px;
  top: 2px;
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 6px;
  background-color: #000;
  border-left: 0;
  box-sizing: border-box;
}

input[type=radio]:checked:after {
  opacity: 1 !important;
}

.em-view-container {
  max-width: 900px;
  margin: 0 auto;
}

.single-event .m-page-title {
  display: none;
}
.single-event .em-event-location {
  display: none;
}
.single-event .em-view-container {
  max-width: unset;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .single-event .em-event-content p {
    font-size: 14px;
    margin: 0 0 1em;
  }
}
.single-event .em.em-item.em-item-single > section {
  margin-bottom: 3em;
}
.single-event .em.em-item.em-item-single > section.em-event-bookings {
  margin-inline: auto;
}
.single-event .em.em-item.em-item-single > section.em-event-bookings h2 {
  font-size: 28px !important;
  font-weight: 600 !important;
}
@media screen and (max-width: 750px) {
  .single-event .em.em-item.em-item-single > section.em-event-bookings h2 {
    font-size: 18px !important;
  }
}
.single-event .em.pixelbones {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo !important;
}
.single-event .l-content__main {
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .single-event .l-content__main {
    width: calc(100% - 50px);
  }
}

.single-event-header {
  padding: 4em 0 0 0;
}
@media screen and (max-width: 750px) {
  .single-event-header {
    padding: 2em 0 0;
  }
}
.single-event-header .sub_copy {
  font-size: 12px;
}
.single-event-header .title {
  font-size: 32px;
  font-weight: bold;
  margin: 0 0 0.3em;
}
@media screen and (max-width: 750px) {
  .single-event-header .title {
    font-size: 20px;
  }
}
.single-event-header .cat-wrap .cat {
  display: inline-block;
  background-color: #ddd;
  padding: 0.5em 1.4em;
  border-radius: 30px;
  margin: 0 0.5em 0.5em 0;
  line-height: 1;
  font-size: 12px;
}
@media screen and (max-width: 750px) {
  .single-event-header .cat-wrap .cat {
    font-size: 11px;
  }
}
.single-event-header .info_time {
  display: flex;
  font-size: 14px;
  margin-bottom: 0.3em;
}
@media screen and (max-width: 750px) {
  .single-event-header .info_time {
    display: block;
  }
}
.single-event-header .event-location {
  font-size: 16px;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .single-event-header .event-location {
    margin-bottom: 0.5em;
  }
}
.single-event-header .share {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-top: -70px;
  margin-bottom: 20px;
}
@media screen and (max-width: 750px) {
  .single-event-header .share {
    margin: 0 0 0.5em;
  }
}
.single-event-header .share .txt {
  font-size: 14px;
  margin-right: -5em;
  line-height: 1;
  position: relative;
  top: 2px;
}
@media screen and (max-width: 750px) {
  .single-event-header .share .txt {
    top: 0.5px;
    font-size: 11px;
  }
}
.single-event-header .share .m-share {
  margin: 0;
  padding: 0;
}
.single-event-header .share .m-share .nav {
  transform: scale(60%);
  transform-origin: right center;
}
.single-event-header .share .m-share .nav li {
  line-height: 0;
}
.single-event-header .em.em-event-booking-form h3.em-booking-section-title {
  border: none;
  font-size: 22px !important;
  color: #000 !important;
  background-color: initial !important;
  font-family: "Zen Old Mincho", serif !important;
  font-weight: bold !important;
  border-top: 1px solid #000 !important;
  padding: 2em 0 0 0 !important;
  margin-bottom: 1.5em !important;
}
@media screen and (max-width: 750px) {
  .single-event-header .em.em-event-booking-form h3.em-booking-section-title {
    font-size: 18px !important;
  }
}
.single-event-header .em.pixelbones a {
  color: #111 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
.single-event-header .em.pixelbones p {
  margin: 0 0 2em !important;
}
.single-event-header .em.pixelbones.input input[type=text]:focus {
  border: none !important;
  outline: none !important;
}
.single-event-header .em.pixelbones .input textarea,
.single-event-header .em.pixelbones.input textarea {
  min-height: 100px !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding: 1em 1.5em !important;
  width: 100% !important;
  background-color: #f5f5f5 !important;
  border-radius: 3px !important;
}
.single-event-header .privacy-policy-section p.privacy-policy-lead {
  text-align: center;
  font-size: 16px !important;
  margin: 0 0 2rem !important;
  line-height: 1.8 !important;
}
@media screen and (max-width: 750px) {
  .single-event-header .privacy-policy-section p.privacy-policy-lead {
    font-size: 12px !important;
    text-align: left;
  }
}
.single-event-header .privacy-policy-section .privacy-policy-content {
  border: 1px solid #333;
  max-height: 20rem;
  overflow-y: auto;
  padding: 2rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 750px) {
  .single-event-header .privacy-policy-section .privacy-policy-content {
    padding: 1em;
    margin-bottom: 1em;
  }
}
.single-event-header .privacy-policy-section .privacy-policy-content h2:first-of-type,
.single-event-header .privacy-policy-section .privacy-policy-content .c-heading.c-heading--lv2 {
  margin-top: 0 !important;
  font-size: 20px !important;
  font-weight: bold !important;
}
@media screen and (max-width: 750px) {
  .single-event-header .privacy-policy-section .privacy-policy-content h2:first-of-type,
  .single-event-header .privacy-policy-section .privacy-policy-content .c-heading.c-heading--lv2 {
    font-size: 16px !important;
  }
}
.single-event-header .privacy-policy-section .privacy-policy-content p {
  text-align: left;
}
@media screen and (max-width: 750px) {
  .single-event-header .privacy-policy-section .privacy-policy-content p {
    margin: 0 0 1em;
    font-size: 12px;
  }
}
.single-event-header .privacy-policy-section .privacy-policy-content h2:first-of-type {
  margin-top: 0;
  font-size: 20px;
}
@media screen and (max-width: 750px) {
  .single-event-header .privacy-policy-section .privacy-policy-content h2:first-of-type {
    font-size: 16px;
  }
}
@media screen and (max-width: 750px) {
  .single-event-header .privacy-policy-section .privacy-policy-content .c-list--number li {
    font-size: 14px;
  }
  .single-event-header .privacy-policy-section .privacy-policy-content .c-heading {
    font-size: 16px;
    margin: 1em 0 0.5em;
  }
  .single-event-header .privacy-policy-section .privacy-policy-content .c-list--bullet li:has(a) {
    font-size: 14px;
  }
}

.km-event-detail-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2em;
  gap: 50px;
}
@media screen and (max-width: 750px) {
  .km-event-detail-header {
    margin-bottom: 1em;
    gap: 10px;
    flex-direction: column-reverse;
  }
}
.km-event-detail-header .detail {
  width: calc((100% - 50px) / 2);
}
@media screen and (max-width: 750px) {
  .km-event-detail-header .detail {
    width: 100%;
  }
}
.km-event-detail-header .detail .txt_sub {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .km-event-detail-header .detail .txt_sub {
    margin-bottom: 0.5em;
  }
}
@media screen and (max-width: 750px) {
  .km-event-detail-header .detail .txt_body p {
    margin: 0 0 1em;
    font-size: 14px;
  }
}
.km-event-detail-header .img {
  width: calc((100% - 50px) / 2);
}
@media screen and (max-width: 750px) {
  .km-event-detail-header .img {
    width: 100%;
  }
}

.km-event-detail-info {
  margin: 0 0 5em;
}
@media screen and (max-width: 750px) {
  .km-event-detail-info {
    margin: 0 0 2.5em;
  }
}
.km-event-detail-info .layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 50px;
}
@media screen and (max-width: 750px) {
  .km-event-detail-info .layout {
    grid-template-columns: 1fr;
    gap: 0 0;
  }
}
.km-event-detail-info .layout .block {
  border-top: 1px solid #d2d2d2;
  padding: 1em 0 1.5em;
}
.km-event-detail-info .layout .block dt {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 0.5em;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 750px) {
  .km-event-detail-info .layout .block dt {
    font-size: 16px;
  }
}
.km-event-detail-info .layout .block dd {
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  .km-event-detail-info .layout .block dd {
    font-size: 14px;
    line-height: 1.5;
  }
}
.km-event-detail-info .layout .block:nth-last-child(2) {
  border-bottom: 1px solid #d2d2d2;
}
@media screen and (max-width: 750px) {
  .km-event-detail-info .layout .block:nth-last-child(2) {
    border-bottom: none;
  }
}
.km-event-detail-info .layout .block:last-child {
  border-bottom: 1px solid #d2d2d2;
}

.page-events-archive {
  padding-top: 5em;
}
@media screen and (max-width: 750px) {
  .page-events-archive {
    padding-top: 3em;
  }
}
.page-events-archive .events-nav {
  margin: 0 0 3em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav {
    margin: -100px 0 1.5em;
    padding: 100px 0 0 0;
  }
}
.page-events-archive .events-nav ul {
  display: flex;
  justify-content: center;
  gap: 0 50px;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav ul {
    gap: 0 30px;
  }
}
.page-events-archive .events-nav ul li {
  padding-bottom: 0.3em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav ul li {
    padding-bottom: 0.1em;
    line-height: 1.2;
  }
}
.page-events-archive .events-nav ul li a {
  font-size: 22px;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav ul li a {
    font-size: 18px;
  }
}
.page-events-archive .events-nav ul li.on {
  border-bottom: 4px solid #111;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav ul li.on {
    border-bottom: 3px solid #111;
  }
}
.page-events-archive .events-nav-category {
  margin: 0 0 3em;
}
.page-events-archive .events-nav-category ul {
  display: flex;
  justify-content: center;
  gap: 0 30px;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav-category ul {
    flex-wrap: wrap;
    gap: 10px 10px;
  }
}
.page-events-archive .events-nav-category ul li {
  padding-bottom: 0.3em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav-category ul li {
    padding-bottom: 0.1em;
    line-height: 1.2;
  }
}
.page-events-archive .events-nav-category ul li a {
  font-size: 16px;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav-category ul li a {
    font-size: 14px;
    letter-spacing: 0;
  }
}
.page-events-archive .events-nav-category ul li.on {
  border-bottom: 3px solid #111;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-nav-category ul li.on {
    border-bottom: 2px solid #111;
  }
}
.page-events-archive .events-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 50px;
  margin-bottom: 4em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list {
    grid-template-columns: repeat(1, 1fr);
    margin-bottom: 2em;
  }
}
.page-events-archive .events-list .block {
  text-decoration: none;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 8;
  row-gap: 0;
  margin-bottom: 3em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block {
    margin-bottom: 2em;
  }
}
.page-events-archive .events-list .block .thumb {
  position: relative;
  margin: 0 0 0.3em;
}
.page-events-archive .events-list .block .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 240px;
}
@media screen and (max-width: 850px) {
  .page-events-archive .events-list .block .thumb img {
    height: auto;
    aspect-ratio: 1/1;
  }
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .thumb img {
    height: 240px;
  }
}
.page-events-archive .events-list .block .thumb.close:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.page-events-archive .events-list .block .thumb.close:before {
  content: "受付終了";
  font-family: "Zen Old Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 50px;
  border: 1px solid #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  color: #fff;
  z-index: 1;
}
.page-events-archive .events-list .block .cat-wrap .cat {
  font-size: 14px;
  display: inline-block;
  margin: 0 0.3em 0.3em 0;
  line-height: 1;
  letter-spacing: 0;
  position: relative;
  padding: 0 0 0 1em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .cat-wrap .cat {
    font-size: 12px;
  }
}
.page-events-archive .events-list .block .cat-wrap .cat:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 7px;
  height: 7px;
  background-color: #111;
  margin: auto;
  border-radius: 10px;
}
.page-events-archive .events-list .block .sub-title {
  font-size: 14px;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .sub-title {
    font-size: 12px;
  }
}
.page-events-archive .events-list .block .title {
  font-size: 22px;
  line-height: 1.5;
  border-bottom: 1px solid #d2d2d2;
  padding: 0 0 0.5em;
  margin: 0 0 0.5em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .title {
    font-size: 20px;
    padding: 0 0 0.1em;
  }
}
.page-events-archive .events-list .block .date {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 18px;
  font-feature-settings: "palt";
  font-weight: normal;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .date {
    font-size: 14px;
  }
}
.page-events-archive .events-list .block .time {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 16px;
  margin: 0 0 0.5em;
  color: #736f6a;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .time {
    font-size: 14px;
  }
}
.page-events-archive .events-list .block .time .icon {
  margin: 0 0.2em 0.2em 0;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .time .icon {
    width: 12px;
  }
}
.page-events-archive .events-list .block .txt {
  font-size: 18px;
  line-height: 1.5;
  margin: 0 0 1em;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .txt {
    font-size: 16px;
    margin: 0 0 0.5em;
  }
}
.page-events-archive .events-list .block .note ul li {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 0.7em;
  background-image: url("images/common/icon_list.png");
  background-repeat: no-repeat;
  background-size: 22px auto;
  background-position: left top 2px;
  padding: 0 0 0 30px;
}
@media screen and (max-width: 750px) {
  .page-events-archive .events-list .block .note ul li {
    font-size: 11px;
    background-size: 14px auto;
    padding: 0 0 0 20px;
  }
}

.em.pixelbones .input input[type=checkbox]:not([data-nostyle]),
.em.pixelbones .input input[type=radio]:not([data-nostyle]),
.em.pixelbones.input input[type=checkbox]:not([data-nostyle]),
.em.pixelbones.input input[type=radio]:not([data-nostyle]) {
  margin-bottom: 0 !important;
  display: inline-block !important;
  text-align: start !important;
  background-color: initial !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  border: 1px solid #000 !important;
}

.em.pixelbones .input input[type=checkbox]:after,
.em.pixelbones.input input[type=checkbox]:after {
  content: "" !important;
  opacity: 0 !important;
  display: block !important;
  left: 4px !important;
  top: 1px !important;
  position: absolute !important;
  width: 6px !important;
  height: 9px !important;
  border: 2px solid #000 !important;
  border-top: 0 !important;
  border-left: 0 !important;
  transform: rotate(40deg) !important;
  box-sizing: border-box !important;
}

.em.pixelbones.input input[type=text],
.em.pixelbones.input input[type=email] {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding: 1em 1.5em !important;
  width: 100% !important;
  background-color: #f5f5f5 !important;
  border-radius: 3px !important;
  line-height: 1.8 !important;
  height: auto !important;
  font-size: 16px !important;
}
@media screen and (max-width: 750px) {
  .em.pixelbones.input input[type=text],
  .em.pixelbones.input input[type=email] {
    padding: 0.5em 1em !important;
  }
}

.em.pixelbones.input label:not([data-nostyle]) {
  font-size: 16px !important;
  font-weight: bold !important;
  font-family: "Zen Old Mincho", serif !important;
}

.em.pixelbones.input .input-field-data_privacy_consent label:not([data-nostyle]) {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo !important;
  font-weight: normal !important;
  line-height: 3;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .em.pixelbones.input .input-field-data_privacy_consent label:not([data-nostyle]) {
    font-size: 15px;
  }
}

.em.em-event-booking-form .em-tickets {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
}

.em.em-event-booking-form .em-booking-section {
  padding: 0 !important;
}

.em .em-booking-form-summary .em-bs-section:not(:first-child) {
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #dedede;
  font-size: 16px;
  margin-bottom: 2em;
}

.em.pixelbones .input input.select-toggle,
.em.pixelbones .input select:not([multiple]),
.em.pixelbones.input input.select-toggle,
.em.pixelbones.input select:not([multiple]) {
  background-color: #f5f5f5 !important;
  padding: 1em 1.5em !important;
  height: 60px !important;
  border: none !important;
}
@media screen and (max-width: 750px) {
  .em.pixelbones .input input.select-toggle,
  .em.pixelbones .input select:not([multiple]),
  .em.pixelbones.input input.select-toggle,
  .em.pixelbones.input select:not([multiple]) {
    height: auto !important;
  }
}

.em.pixelbones.input select:focus {
  border: none !important;
  outline: none !important;
}

.em.pixelbones.input input[type=submit]:not([data-nostyle]) {
  background-color: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Zen Old Mincho", serif !important;
  font-size: 18px !important;
  height: auto !important;
  width: 100% !important;
  height: 95px !important;
  position: relative !important;
  margin-left: auto !important;
  display: block !important;
}
@media screen and (max-width: 750px) {
  .em.pixelbones.input input[type=submit]:not([data-nostyle]) {
    height: 65px !important;
    font-size: 16px !important;
  }
}
.em.pixelbones.input input[type=submit]:not([data-nostyle]):hover {
  background-color: #000 !important;
  color: #fff !important;
}

.em.em-event-booking-form .em-booking-section.em-booking-form-buttons {
  width: 370px !important;
  margin: 0 auto !important;
}
@media screen and (max-width: 750px) {
  .em.em-event-booking-form .em-booking-section.em-booking-form-buttons {
    width: 80% !important;
  }
}
.em.em-event-booking-form .em-booking-section.em-booking-form-buttons:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 51px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 1.9px solid #fff;
  border-bottom: 1.9px solid #fff;
  transform: rotate(-45deg);
}

.experience-section {
  margin: 0 0 -10em;
  padding: 0 0 0 0;
}
@media screen and (max-width: 750px) {
  .experience-section {
    margin: -75px 0 -3em;
    padding: 75px 0 0 0;
  }
}
.experience-section .inner {
  background-color: rgba(238, 238, 238, 0.9333333333);
  padding: 4em 0 5em;
}
@media screen and (max-width: 750px) {
  .experience-section .inner {
    padding: 2em 0 5em;
  }
}
.experience-section .title {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-size: 28px;
  margin: 0 auto 2em;
}
@media screen and (max-width: 750px) {
  .experience-section .title {
    font-size: 20px;
    margin: 0 auto 1em;
  }
}
.experience-section .layout {
  max-width: 1140px;
  width: calc(100% - 200px);
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .experience-section .layout {
    flex-direction: column;
    width: calc(100% - 50px);
  }
}
.experience-section .layout .img {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .experience-section .layout .img {
    width: 100%;
  }
}
.experience-section .layout .detail {
  width: 50%;
  padding: 0 0 0 3em;
}
@media screen and (max-width: 750px) {
  .experience-section .layout .detail {
    padding: 0;
    width: 100%;
  }
  .experience-section .layout .detail p {
    font-size: 14px;
  }
}
.experience-section .layout .detail .btn-wrap {
  margin: 2em 0 0;
}

.em.pixelbones a {
  color: #000 !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

.em.pixelbones td,
.em.pixelbones th {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo !important;
}

.em.pixelbones button.input:not([data-nostyle]) {
  padding: 0 30px 0 10px !important;
  width: auto !important;
  max-width: auto !important;
}

.em .em-tooltip-ddm-display .tippy-box {
  width: 100%;
  max-width: unset !important;
  white-space: nowrap !important;
}

.em-my-bookings-actions-content {
  width: 100% !important;
}

@media screen and (max-width: 750px) {
  .em.pixelbones td,
  .em.pixelbones th {
    font-size: 12px;
  }
}

@media screen and (max-width: 750px) {
  .em.pixelbones td,
  .em.pixelbones th {
    padding: 5px 5px !important;
  }
}

@media screen and (max-width: 750px) {
  th.manage-column {
    white-space: nowrap;
  }
}

.em.pixelbones .input input[type=submit]:not([data-nostyle]):focus {
  color: #fff !important;
}

.em.em-event-booking-form .em-booking-message.em-booking-message-error {
  color: #dc3232 !important;
  font-weight: bold;
  background-color: #fff !important;
  border-color: #fff !important;
  padding-top: 150px !important;
}
.em.em-event-booking-form .em-booking-message.em-booking-message-error p {
  margin-bottom: 1em !important;
}

.single-event-booking-blank .btn {
  width: 550px;
}
@media screen and (max-width: 750px) {
  .single-event-booking-blank .btn {
    width: 100%;
    font-size: 13px;
    line-height: 1.4;
  }
}

.em.em-event-booking-form .em-tickets .em-bookings-ticket-table-spaces select {
  width: calc(6ch + 30px) !important;
}

.em.em-event-booking-form .em-login .em-login-trigger {
  font-style: normal;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .em.em-event-booking-form .em-login .em-login-trigger {
    font-size: 14px;
  }
}

.em.em-event-booking-form .em-booking-section .em-login-trigger {
  display: none;
}

.single-event-header .em.pixelbones .em.em-event-booking-form .em-login {
  margin-top: -150px;
  padding-top: 150px;
  margin-bottom: 45px;
}
@media screen and (max-width: 750px) {
  .single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content p:first-child {
    font-size: 14px;
  }
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-form {
  padding: 20px 0 0 0 !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content p {
  margin: 0 0 0 !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content p label {
  margin-bottom: 5px !important;
  font-size: 15px !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content p input {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding: 1em 1.5em !important;
  width: 100% !important;
  background-color: #f5f5f5 !important;
  border-radius: 3px !important;
  line-height: 1.8 !important;
  height: auto !important;
  font-size: 16px !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content p br {
  display: none !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content p img {
  margin-top: 10px;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions {
  margin: 10px 0 0 0;
}
@media screen and (max-width: 750px) {
  .single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions {
    display: block;
  }
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-rememberme {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-buttons {
  display: flex;
  gap: 20px;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-submit {
  background-color: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: "Zen Old Mincho", serif !important;
  font-size: 14px !important;
  height: auto !important;
  height: 50px !important;
  position: relative !important;
  margin-left: auto !important;
  display: block !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-cancel {
  background-color: #fff !important;
  color: #000 !important;
  border: 1px solid #333 !important;
  border-radius: 0 !important;
  font-family: "Zen Old Mincho", serif !important;
  font-size: 14px !important;
  height: auto !important;
  height: 50px !important;
  position: relative !important;
  margin-left: auto !important;
  display: block !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-meta {
  padding-left: 25px !important;
}
@media screen and (max-width: 750px) {
  .single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-meta {
    padding-left: 5px !important;
    padding-top: 17px;
  }
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-meta .em-login-rememberme {
  font-size: 12px !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-meta .em-login-rememberme input {
  margin: 0 3px 0 0 !important;
}
.single-event-header .em.pixelbones .em.em-event-booking-form .em-login .em-login-content .em-login-actions .em-login-meta .em-login-links a {
  font-size: 12px !important;
}

.single-event .em.em-item.em-item-single > section.em-event-bookings .privacy-policy-section h2 {
  font-size: 20px !important;
  font-family: "Zen Old Mincho", serif !important;
  margin: 0px 0px 1em !important;
}
@media screen and (max-width: 750px) {
  .single-event .em.em-item.em-item-single > section.em-event-bookings .privacy-policy-section h2 {
    font-size: 16px !important;
  }
}

.single-event .em.em-item.em-item-single > section.em-event-bookings .privacy-policy-section p {
  font-size: 18px !important;
  line-height: 1.8 !important;
  margin: 2rem 0px;
}
@media screen and (max-width: 750px) {
  .single-event .em.em-item.em-item-single > section.em-event-bookings .privacy-policy-section p {
    font-size: 12px !important;
  }
}

@media screen and (max-width: 1000px) {
  .page-calendar .l-content {
    width: calc(100% - 80px);
  }
}
@media screen and (max-width: 750px) {
  .page-calendar .l-content {
    width: calc(100% - 50px);
  }
}

.calendar-layout {
  display: flex;
  justify-content: space-between;
  max-width: 1140px;
  margin: 0 auto 3em;
}
@media all and (max-width: 992px) {
  .calendar-layout {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout {
    margin: 0 auto 0;
  }
}
.calendar-layout .calendar-wrap .note {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  display: flex;
  margin-top: 1.5em;
  line-height: 1;
  padding: 0 0 0 1.2em;
}
@media all and (max-width: 992px) {
  .calendar-layout .calendar-wrap .note {
    justify-content: center;
    margin-bottom: 3em;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar-wrap .note {
    margin-top: 0.3em;
    margin-bottom: 0;
  }
}
.calendar-layout .calendar-wrap .note li {
  margin-right: 1.7em;
  position: relative;
}
@media screen and (max-width: 1100px) {
  .calendar-layout .calendar-wrap .note li {
    margin-right: 1em;
  }
}
.calendar-layout .calendar-wrap .note .closeday-head {
  padding: 0 0 0 1.8em;
}
@media screen and (max-width: 1100px) {
  .calendar-layout .calendar-wrap .note .closeday-head {
    font-size: 12px;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar-wrap .note .closeday-head {
    font-size: 14px;
  }
}
.calendar-layout .calendar-wrap .note .closeday-head:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 20px;
  height: 20px;
  margin: auto;
  background-color: #e8e8e8;
}
@media screen and (max-width: 1100px) {
  .calendar-layout .calendar-wrap .note .closeday-head:before {
    top: -1px;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar-wrap .note .closeday-head:before {
    width: 15px;
    height: 15px;
  }
}
.calendar-layout .calendar-wrap .note .event-head {
  padding: 0 0 0 0.9em;
}
@media screen and (max-width: 1100px) {
  .calendar-layout .calendar-wrap .note .event-head {
    font-size: 12px;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar-wrap .note .event-head {
    font-size: 14px;
  }
}
.calendar-layout .calendar-wrap .note .event-head:before {
  content: "";
  position: absolute;
  top: auto;
  bottom: 10px;
  left: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  background-color: #dec580;
  border-radius: 10px;
}
@media screen and (max-width: 1100px) {
  .calendar-layout .calendar-wrap .note .event-head:before {
    bottom: 5px;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar-wrap .note .event-head:before {
    bottom: 6px;
    width: 5px;
    height: 5px;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar-wrap {
    width: calc(100% - 25px);
    margin: 0 auto 2.5em;
  }
}
.calendar-layout .calendar {
  width: 490px;
}
@media all and (max-width: 992px) {
  .calendar-layout .calendar {
    margin: 0 auto;
    width: 85%;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar {
    width: 100%;
  }
}
.calendar-layout .calendar .ui-widget.ui-widget-content {
  border: none;
}
.calendar-layout .calendar .ui-widget {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
.calendar-layout .calendar .ui-datepicker {
  width: 100%;
}
.calendar-layout .calendar .ui-widget-header {
  border: none;
  background: #fff;
  color: #111;
  margin-bottom: 31px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-widget-header {
    margin: 0 auto -6px;
    width: 93%;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker .ui-datepicker-title {
    font-size: 13px;
  }
}
.calendar-layout .calendar .ui-datepicker-year {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-year {
    font-size: 13px;
  }
}
.calendar-layout .calendar .ui-datepicker-month {
  font-size: 32px;
  display: block;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-month {
    font-size: 23px;
  }
}
.calendar-layout .calendar .ui-datepicker-month .small {
  font-size: 24px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-month .small {
    font-size: 17px;
  }
}
.calendar-layout .calendar .ui-datepicker .ui-datepicker-prev,
.calendar-layout .calendar .ui-datepicker .ui-datepicker-next {
  width: 34px;
  height: 34px;
  background: #eee;
  border-radius: 17px;
  top: 17px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker .ui-datepicker-prev,
  .calendar-layout .calendar .ui-datepicker .ui-datepicker-next {
    width: 25px;
    height: 25px;
  }
}
.calendar-layout .calendar .ui-datepicker .ui-datepicker-prev:hover, .calendar-layout .calendar .ui-datepicker .ui-datepicker-prev:focus-visible,
.calendar-layout .calendar .ui-datepicker .ui-datepicker-next:hover,
.calendar-layout .calendar .ui-datepicker .ui-datepicker-next:focus-visible {
  background: #111;
  border: none;
  font-weight: 600;
}
.calendar-layout .calendar .ui-datepicker .ui-datepicker-prev:hover::before, .calendar-layout .calendar .ui-datepicker .ui-datepicker-prev:focus-visible::before,
.calendar-layout .calendar .ui-datepicker .ui-datepicker-next:hover::before,
.calendar-layout .calendar .ui-datepicker .ui-datepicker-next:focus-visible::before {
  border-color: #fff;
}
.calendar-layout .calendar .ui-datepicker .ui-datepicker-prev span,
.calendar-layout .calendar .ui-datepicker .ui-datepicker-next span {
  background: none;
}
.calendar-layout .calendar .ui-datepicker-prev-hover {
  left: 23px;
  top: 17px;
}
.calendar-layout .calendar .ui-datepicker-next-hover {
  right: 23px;
  top: 17px;
}
.calendar-layout .calendar .ui-datepicker-prev {
  cursor: pointer;
  left: 23px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-prev {
    left: 0;
  }
}
.calendar-layout .calendar .ui-datepicker-prev:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: -2px;
  left: 0;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-225deg);
}
.calendar-layout .calendar .ui-datepicker-prev:after {
  content: "前月";
  font-size: 16px;
  position: absolute;
  right: -41px;
  top: 3px;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-prev:after {
    font-size: 15px;
    top: -2px;
    right: -36px;
  }
}
.calendar-layout .calendar .ui-datepicker-next {
  cursor: pointer;
  right: 23px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-next {
    right: 0;
  }
}
.calendar-layout .calendar .ui-datepicker-next:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  left: -2px;
  bottom: 0;
  width: 5px;
  height: 5px;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}
.calendar-layout .calendar .ui-datepicker-next:after {
  content: "翌月";
  font-size: 16px;
  position: absolute;
  left: -41px;
  top: 3px;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker-next:after {
    font-size: 15px;
    top: -2px;
    left: -35px;
  }
}
.calendar-layout .calendar .ui-datepicker table {
  font-size: 16px;
  border-spacing: 27px 6px;
  border-collapse: unset;
  table-layout: fixed;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker table {
    border-spacing: 5px;
    font-size: 17px;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker table thead {
    position: relative;
    top: 4px;
  }
}
.calendar-layout .calendar .ui-state-default,
.calendar-layout .calendar .ui-widget-content .ui-state-default {
  background: #fff;
  font-weight: 600;
  color: #000;
  border: none;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-state-default,
  .calendar-layout .calendar .ui-widget-content .ui-state-default {
    line-height: 1;
  }
}
.calendar-layout .calendar .ui-state-default:hover, .calendar-layout .calendar .ui-state-default:focus-visible,
.calendar-layout .calendar .ui-widget-content .ui-state-default:hover,
.calendar-layout .calendar .ui-widget-content .ui-state-default:focus-visible {
  background: #111 !important;
  color: #fff;
}
.calendar-layout .calendar .ui-datepicker th {
  color: #000;
  padding: 0em 0.2em;
  white-space: nowrap;
}
.calendar-layout .calendar .closeday-cell a {
  background: #eeeeee !important;
  pointer-events: auto !important;
  position: relative;
}
.calendar-layout .calendar .has-event a {
  position: relative;
}
.calendar-layout .calendar .has-event:not(.closeday-cell) a::after {
  content: "";
  position: absolute;
  top: auto;
  bottom: 6px;
  right: 0;
  left: 0;
  margin: auto;
  width: 6px;
  height: 6px;
  background-color: #dec580;
  border-radius: 10px;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .has-event:not(.closeday-cell) a::after {
    bottom: 1px;
    width: 5px;
    height: 5px;
  }
}
.calendar-layout .calendar .ui-datepicker td a {
  display: block;
  padding: 0.45em 0 0.85em;
  text-align: center;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .calendar-layout .calendar .ui-datepicker td a {
    padding: 0.25em 0 0.7em;
  }
}
.calendar-layout .calendar .ui-datepicker td.sunday a {
  color: #9e2424;
}
.calendar-layout .calendar .ui-datepicker td.saturday a {
  color: #00418c;
}
.calendar-layout .calendar .ui-datepicker td.ui-datepicker-today a {
  background-color: #dec580;
}
.calendar-layout .event-list {
  width: 51.5%;
}
@media all and (max-width: 992px) {
  .calendar-layout .event-list {
    width: 80%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 750px) {
  .calendar-layout .event-list {
    width: 100%;
  }
}

.event-list {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
.event-list h3 {
  text-align: center;
  font-size: 24px;
  color: #111;
  margin-top: 0;
}
@media screen and (max-width: 750px) {
  .event-list h3 {
    font-size: 20px;
  }
}
.event-list h3 .small {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .event-list h3 .small {
    font-size: 15px;
  }
}
.event-list .item-title {
  display: none;
}

.event-list .event-item {
  display: flex;
  justify-content: space-between;
  border-top: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
  padding: 1.1em 0;
  text-decoration: none;
  color: #111;
  position: relative;
  flex-direction: row-reverse;
}
@media screen and (max-width: 750px) {
  .event-list .event-item {
    padding: 1.1em 1.6em 1.1em 1.4em;
  }
}
.event-list .event-item:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 2px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .event-list .event-item:after {
    right: 25px;
    width: 7px;
    height: 7px;
    border-right: 1.5px solid #111;
    border-bottom: 1.5px solid #111;
  }
}
.event-list .event-item:hover, .event-list .event-item:focus-visible {
  background-color: #f5f5f5;
}
.event-list .event-item:hover .event-title, .event-list .event-item:focus-visible .event-title {
  text-decoration: underline;
}

.event-list .event-item + .event-item {
  border-top: none;
}

@media screen and (max-width: 750px) {
  .ui-datepicker .ui-datepicker-title {
    line-height: 1.3;
  }
}

.event-list .event-thumbnail {
  width: 17%;
  background-color: #f5f5f5;
  height: 60px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .event-list .event-thumbnail {
    width: 35%;
    height: 70px;
  }
}

.event-list .event-thumbnail img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.event-list .event-content {
  width: 83%;
  padding: 0 1em 0 1.2em;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 750px) {
  .event-list .event-content {
    width: 65%;
    padding: 0 1em 0 1em;
  }
}

.event-list .event-content a {
  text-decoration: none;
  color: #333;
  font-weight: 500;
}

.event-list .event-content a:hover {
  color: #007cba;
}

.event-list .event-meta {
  font-size: 12px;
  margin-bottom: 4px;
  line-height: 1;
  order: 1;
}
@media screen and (max-width: 750px) {
  .event-list .event-meta {
    margin-bottom: 7px;
  }
}

.event-list .event-category {
  display: inline-block;
  padding: 0 0 0 1.5em;
  font-size: 14px;
  font-weight: 600;
  position: relative;
  margin-right: 1em;
}
@media screen and (max-width: 750px) {
  .event-list .event-category {
    padding: 0 0 0 1em;
    font-size: 13px;
  }
}
.event-list .event-category:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 10px;
  height: 10px;
  margin: auto;
  background-color: #dec580;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .event-list .event-category:before {
    width: 7px;
    height: 7px;
  }
}

.event-list .event-room {
  font-weight: 600;
  line-height: 1;
  color: #111;
  font-size: 14px;
  background-color: #eee;
  padding: 0em 0.8em;
  border-radius: 20px;
}
@media screen and (max-width: 750px) {
  .event-list .event-room {
    font-size: 13px;
    padding: 0.2em 0.8em;
    line-height: 1.7;
    white-space: nowrap;
    margin: 0.5em 0;
    display: inline-block;
  }
}

.event-list .event-title {
  font-weight: 600;
  margin: 0 0 0.2em;
  font-size: 16px;
  line-height: 1.5;
  order: 2;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .event-list .event-title {
    font-size: 17px;
    margin: 0 0 0.4em;
  }
}

.event-list .event-period {
  font-size: 14px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-weight: normal;
  line-height: 1;
  order: 3;
}
@media screen and (max-width: 750px) {
  .event-list .event-period {
    font-size: 11px;
    line-height: 1.3;
  }
}

.event-list .event-closed {
  color: #9e2424;
  font-weight: bold;
}

.event-list .close-day {
  text-align: center;
  font-size: 26px;
  margin: 2em 0;
}

.event-list .no-exhibition {
  text-align: center;
  padding: 2em 0;
}

@media screen and (max-width: 750px) {
  .ui-datepicker th {
    padding: 0.1em 0.1em;
  }
}

.page-calendar .title {
  text-align: center;
  margin: 2em 0 2em;
  font-weight: 600;
  font-size: 32px;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 750px) {
  .page-calendar .title {
    font-size: 20px;
  }
}
.page-calendar .calendar-layout .calendar-wrap {
  width: 47%;
}
@media screen and (max-width: 1000px) {
  .page-calendar .calendar-layout .calendar-wrap {
    width: 90%;
    flex-shrink: 0;
  }
}
.page-calendar .calendar-layout .calendar-wrap .calendar {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .page-calendar .calendar-layout .calendar-wrap {
    width: 100%;
  }
}
.page-calendar .calendar-layout .event-list {
  width: 50%;
}
@media screen and (max-width: 850px) {
  .page-calendar .calendar-layout .event-list {
    width: 85%;
  }
}
@media screen and (max-width: 750px) {
  .page-calendar .calendar-layout .event-list {
    width: 100%;
  }
}
.page-calendar .calendar-layout .event-list .event-thumbnail {
  min-width: 90px;
}

.page-collection .lead {
  text-align: center;
  margin-bottom: 4em;
}
@media screen and (max-width: 750px) {
  .page-collection .lead {
    text-align: left;
    margin-bottom: 2em;
    font-size: 14px;
  }
}
.page-collection .digital-archive {
  margin: 0 auto 5.8em;
}
@media screen and (max-width: 750px) {
  .page-collection .digital-archive {
    margin: 0 auto 3.5em;
  }
}
.page-collection .digital-archive .layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 39px 2px;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  .page-collection .digital-archive .layout {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 2px;
  }
}
.page-collection .digital-archive .layout .block {
  text-decoration: none;
}
.page-collection .digital-archive .layout .block .img {
  background-color: #2b2b2b;
  height: 195px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0.8em 2em;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 750px) {
  .page-collection .digital-archive .layout .block .img {
    padding: 0.5em 1em;
    height: 150px;
  }
}
.page-collection .digital-archive .layout .block .img img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.page-collection .digital-archive .layout .block .txt {
  color: #111;
  text-decoration: none;
  font-size: 22px;
  padding: 0 0 0 1.4em;
  position: relative;
}
@media screen and (max-width: 850px) {
  .page-collection .digital-archive .layout .block .txt {
    font-size: 18px;
    padding: 0 1em;
    line-height: 1;
  }
}
@media screen and (max-width: 750px) {
  .page-collection .digital-archive .layout .block .txt {
    font-size: 16px;
    padding: 0 0 0 1em;
  }
}
.page-collection .digital-archive .layout .block .txt:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .page-collection .digital-archive .layout .block .txt:before {
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
  }
}
.page-collection .digital-archive .layout .block:hover {
  opacity: 0.8;
}
@media screen and (max-width: 750px) {
  .page-collection .m-page-title__block {
    font-size: 20px;
  }
}
.page-collection .collection-search {
  margin-bottom: 8em;
}
@media screen and (max-width: 750px) {
  .page-collection .collection-search {
    margin-bottom: 3em;
  }
}
.page-collection .collection-search > .title {
  margin-bottom: 3em;
}
.page-collection .collection-search > .title .txt {
  font-size: 16px;
  font-weight: 600;
}
.page-collection .collection-search > .title .text-calss {
  font-size: 16px;
}
.page-collection .collection-search .collection-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px 40px;
}
@media screen and (max-width: 750px) {
  .page-collection .collection-search .collection-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
  }
}
.page-collection .collection-search .collection-grid .collection-item .collection-thumbnail {
  aspect-ratio: 1/1;
  background-color: #eeeeee;
}
.page-collection .collection-search .collection-grid .collection-item .collection-thumbnail a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.page-collection .collection-search .collection-grid .collection-item .collection-thumbnail a img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.page-collection .collection-search .collection-grid .collection-item .collection-content .collection-title {
  font-size: 16px;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .page-collection .collection-search .collection-grid .collection-item .collection-content .collection-title {
    font-size: 14px;
  }
}
.page-collection .collection-search .collection-grid .collection-item .collection-content .collection-title a {
  text-decoration: none;
}

.collection-search-form .reset {
  text-align: right;
}
@media screen and (max-width: 750px) {
  .collection-search-form .reset {
    font-size: 12px;
  }
}
.collection-search-form .reset span {
  text-decoration: underline;
  cursor: pointer;
}
.collection-search-form .input-item {
  margin-bottom: 2em;
}
.collection-search-form .input-item .radio-group input {
  margin-right: 0.3em;
}
@media screen and (max-width: 750px) {
  .collection-search-form .input-item .input-title {
    font-size: 14px;
    font-weight: bold;
  }
  .collection-search-form .input-item input {
    font-size: 16px;
    padding: 0.5em;
  }
  .collection-search-form .input-item .radio-group {
    font-size: 14px;
    display: grid;
    grid-template-columns: repeat(3, auto);
  }
  .collection-search-form .input-item .radio-group input {
    margin-right: 0.2em;
  }
}
.collection-search-form .input-item.radio .radio-group label {
  margin-right: 1em;
}
@media screen and (max-width: 750px) {
  .collection-search-form .input-item.radio .radio-group label {
    margin-right: 0.5em;
  }
}
.collection-search-form .btn {
  margin: 3em auto 0;
}

.single-collection-header .title {
  text-align: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  margin: 2em 0 2em;
}
@media screen and (max-width: 750px) {
  .single-collection-header .title {
    margin: 1em 0 1em;
    padding: 0 0.5em;
  }
}
.single-collection-header .title .name {
  font-size: 32px;
  position: relative;
  margin-bottom: 0.7em;
}
@media screen and (max-width: 750px) {
  .single-collection-header .title .name {
    font-size: 24px;
  }
}
.single-collection-header .title .name:after {
  content: "";
  display: block;
  width: 36px;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: -0.3em;
  left: 0;
  right: 0;
  margin: auto;
}
.single-collection-header .title .kana {
  font-size: 14px;
}
@media screen and (max-width: 750px) {
  .single-collection-header .title .kana {
    font-size: 12px;
  }
}
.single-collection-header .layout {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin: 0 auto 3em;
  max-width: 1140px;
  width: 90%;
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout {
    display: block;
    margin: 0 0 2em;
    width: 100%;
  }
}
.single-collection-header .layout .img {
  width: 50%;
  padding: 0 0 0;
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout .img {
    padding: 0;
    width: calc(100% - 50px);
    margin: 0 auto 2em;
  }
}
.single-collection-header .layout .img .img-body {
  aspect-ratio: 3/2;
}
.single-collection-header .layout .img .img-body img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.single-collection-header .layout .img .utility {
  margin: 1.5em 0;
  display: flex;
  justify-content: center;
  gap: 20px;
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout .img .utility {
    margin: 1em 0;
    gap: 10px;
  }
}
.single-collection-header .layout .img .utility .button {
  background-color: #000;
  width: 40px;
  height: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
}
.single-collection-header .layout .img .utility .button img {
  opacity: 0;
}
.single-collection-header .layout .img .utility .button_print:after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background-image: url(images/common/icon_print.svg);
  background-size: 64%;
  background-repeat: no-repeat;
  top: 0;
  left: 0;
  background-color: unset;
  background-position: center;
}
.single-collection-header .layout .img .utility .button_glass {
  background-color: #000;
}
.single-collection-header .layout .img .utility .button_glass:after {
  content: "";
  display: block;
  width: 40px;
  height: 40px;
  background-image: url(images/common/i_glass_plus_white.svg);
  background-size: 51%;
  top: 0;
  left: 0;
  background-color: unset;
  background-repeat: no-repeat;
  background-position: center;
}
.single-collection-header .layout .detail {
  width: 50%;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 16px;
  flex-shrink: 0;
  padding: 0 0 0 1em;
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout .detail {
    padding: 0;
    width: calc(100% - 50px);
    margin: 0 auto 2em;
    font-size: 14px;
  }
}
.single-collection-header .layout .detail dl {
  display: flex;
  margin-bottom: 1.3em;
  line-height: 1.5;
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout .detail dl {
    margin-bottom: 1em;
  }
}
.single-collection-header .layout .detail dl dt {
  width: 170px;
  flex-shrink: 0;
}
@media screen and (max-width: 850px) {
  .single-collection-header .layout .detail dl dt {
    width: 7em;
  }
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout .detail dl dt {
    width: 30%;
  }
}
.single-collection-header .layout .detail dl dd {
  width: calc(100% - 170px);
  padding: 0 0 0.5em 1em;
  border-left: 1px solid #d2d2d2;
}
@media screen and (max-width: 750px) {
  .single-collection-header .layout .detail dl dd {
    padding: 0 0 0 1em;
    width: calc(70% - 1em);
  }
}

.single-collection-body {
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .single-collection-body {
    width: calc(100% - 50px);
  }
}
.single-collection-body .pop_imgs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 40px;
  position: relative;
  padding-bottom: 100px;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .single-collection-body .pop_imgs {
    padding-bottom: 20px;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin-bottom: 7em;
  }
}
.single-collection-body .pop_imgs .block .img {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #eee;
  aspect-ratio: 1/1;
  padding: 10px;
}
@media screen and (max-width: 750px) {
  .single-collection-body .pop_imgs .block .img {
    padding: 0;
  }
}
.single-collection-body .pop_imgs .block .img img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 750px) {
  .single-collection-body .pop_imgs .block .img img {
    -o-object-fit: cover;
       object-fit: cover;
  }
}
.single-collection-body .more-images-btn {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}
@media screen and (max-width: 750px) {
  .single-collection-body .more-images-btn {
    bottom: -58px;
  }
}
.single-collection-body .more-images-btn .btn-more-images,
.single-collection-body .more-images-btn .btn-more-images-sp {
  border: 1px solid #2b2b2b;
  color: #000;
  width: 280px;
  padding: 0;
  justify-content: center;
}
.single-collection-body .more-images-btn .btn-more-images:after,
.single-collection-body .more-images-btn .btn-more-images-sp:after {
  border-right: 2px solid #2b2b2b;
  border-bottom: 2px solid #2b2b2b;
  transform: rotate(45deg);
}
.single-collection-body .more-images-btn .btn-more-images:hover,
.single-collection-body .more-images-btn .btn-more-images-sp:hover {
  background-color: #2b2b2b;
  color: #fff;
}
.single-collection-body .more-images-btn .btn-more-images:hover:after,
.single-collection-body .more-images-btn .btn-more-images-sp:hover:after {
  border-color: #fff;
}
@media screen and (max-width: 750px) {
  .single-collection-body .more-images-btn.is-pc-only {
    display: none;
  }
}
.single-collection-body .more-images-btn.is-sp-only {
  display: none;
}
@media screen and (max-width: 750px) {
  .single-collection-body .more-images-btn.is-sp-only {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .single-collection-body .is-hidden-sp {
    display: none !important;
  }
}
.single-collection-body .comment {
  margin: 2em 0 7em 0;
}
@media screen and (max-width: 750px) {
  .single-collection-body .comment {
    margin: 2em 0 3em 0;
  }
}
.single-collection-body .comment .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 28px;
  margin: 0 0 -0.5em 0;
}
@media screen and (max-width: 750px) {
  .single-collection-body .comment .title {
    font-size: 20px;
  }
}
.single-collection-body .comment .comment_body {
  background-color: #eee;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
.single-collection-body .comment .comment_body .inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 3em 0;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .single-collection-body .comment .comment_body .inner {
    padding: 2em 0 1em;
    width: calc(100% - 50px);
  }
  .single-collection-body .comment .comment_body .inner .wp-post p {
    font-size: 14px;
    margin: 0 0 1em;
  }
}
.single-collection-body .related_items {
  margin: 0 0 7em 0;
}
@media screen and (max-width: 750px) {
  .single-collection-body .related_items {
    margin: 0 0 4em 0;
  }
  .single-collection-body .related_items .related_items_body p {
    font-size: 14px;
    text-align: center;
  }
}
.single-collection-body .related_items .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 28px;
  margin: 0 0 1.5em 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .single-collection-body .related_items .title {
    font-size: 20px;
  }
}
.single-collection-body .related_items .related_items_body .related-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 40px;
}
@media screen and (max-width: 750px) {
  .single-collection-body .related_items .related_items_body .related-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 20px;
  }
}
.single-collection-body .related_items .related_items_body .related-grid .related-item a {
  text-decoration: none;
  display: block;
}
.single-collection-body .related_items .related_items_body .related-grid .related-item a .related-thumbnail {
  aspect-ratio: 1/1;
  background-color: #eeeeee;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  margin-bottom: 0.5em;
}
.single-collection-body .related_items .related_items_body .related-grid .related-item a .related-thumbnail img {
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
  height: 100%;
}
.single-collection-body .related_items .related_items_body .related-grid .related-item a .related-title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 16px;
  margin: 0;
}
.single-collection-body .search .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 28px;
  margin: 0 0 0.2em 0;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .single-collection-body .search .title {
    font-size: 20px;
  }
}

.collection-links.c-list.c-list--bullet {
  max-width: 940px;
  font-family: "Zen Old Mincho", serif;
  font-size: 1.8rem;
  margin-block: 7rem;
  margin-inline: auto;
  border-top: 1px solid #d2d2d2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
}
.collection-links.c-list.c-list--bullet li {
  margin-left: 0;
  border-bottom: 1px solid #d2d2d2;
}
.collection-links.c-list.c-list--bullet li:before {
  top: 50%;
  bottom: auto;
  left: auto;
  right: 3rem;
  translate: 0 -50%;
  height: 8px;
  width: 8px;
}
@media screen and (max-width: 750px) {
  .collection-links.c-list.c-list--bullet li:before {
    right: 1rem;
    height: 6px;
    width: 6px;
  }
}
.collection-links.c-list.c-list--bullet li a {
  display: flex;
  align-items: center;
  text-decoration: none;
  height: 130px;
  padding-inline: 3rem 5rem;
}
@media screen and (max-width: 750px) {
  .collection-links.c-list.c-list--bullet li a {
    height: auto;
    height: 100%;
    padding: 1rem 2.5rem 1rem 1rem;
    font-size: 14px;
  }
}
.collection-links.c-list.c-list--bullet li:nth-of-type(odd) {
  border-right: 1px solid #d2d2d2;
}

@media screen and (max-width: 750px) {
  .lum-lightbox-inner img {
    max-width: 100%;
    max-height: 100%;
  }
}

.page-exhibition .search-exhibition {
  padding: 4em 0 5em;
  text-align: center;
  position: relative;
  max-width: 750px;
  margin: 0 auto;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition {
    padding: 1em 0 2em;
  }
}
.page-exhibition .search-exhibition .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 30px;
  margin-bottom: 1.5em;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition .title {
    font-size: 24px;
    margin-bottom: 1em;
  }
}
.page-exhibition .search-exhibition .txt {
  font-size: 18px;
  font-weight: bold;
  margin: 0 0.5em 0 0;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition .txt {
    font-size: 14px;
    margin: 0 0.1em 0 0;
  }
}
.page-exhibition .search-exhibition input {
  width: 180px;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition input {
    width: 99px;
    font-size: 13px;
    height: 30px;
  }
}
.page-exhibition .search-exhibition .btn-search {
  width: 90px;
  background-color: #111;
  color: #fff;
  border-radius: 3px;
  margin: 0 0 0 0.5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition .btn-search {
    width: 42px;
    height: 30px;
    font-size: 13px;
    margin: 0.7em 0.2em;
  }
}
.page-exhibition .search-exhibition .text-class {
  font-size: 16px;
}
.page-exhibition .search-exhibition form {
  position: relative;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition form {
    font-size: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3px;
  }
}
.page-exhibition .search-exhibition .reset {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 0.5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .search-exhibition .reset {
    top: 47px;
    right: 0;
  }
}
.page-exhibition .search-exhibition .reset.is-current {
  display: none;
}
.page-exhibition .btn_annual_schedule {
  margin-bottom: 5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .btn_annual_schedule {
    margin-bottom: 3em;
  }
}
.page-exhibition .btn_annual_schedule .btn {
  width: 350px;
  height: 50px;
}
@media screen and (max-width: 750px) {
  .page-exhibition .btn_annual_schedule .btn {
    width: 80%;
    height: 40px;
    font-size: 14px;
  }
}
.page-exhibition .section-exhibition {
  margin-bottom: 5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition {
    margin-bottom: 3em;
  }
}
.page-exhibition .section-exhibition > .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 24px;
  padding: 0 0 0.3em;
  border-bottom: 1px solid #d2d2d2;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition > .title {
    font-size: 20px;
  }
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-table-wrap {
    overflow-x: scroll;
    padding-bottom: 1em;
  }
}
.page-exhibition .section-exhibition .exhibition-table {
  width: 100%;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-table {
    font-size: 14px;
    width: 800px;
  }
}
.page-exhibition .section-exhibition .exhibition-table th {
  padding: 1em;
  text-align: left;
  border-bottom: 1px solid #d2d2d2;
}
.page-exhibition .section-exhibition .exhibition-table td {
  padding: 1em;
  text-align: left;
  border-bottom: 1px solid #d2d2d2;
}
.page-exhibition .section-exhibition .exhibition-table th:nth-child(1) {
  border-top: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
  border-left: 1px solid #d2d2d2;
  background-color: #fbfbfb;
}
.page-exhibition .section-exhibition .exhibition-table th:nth-child(2) {
  background-color: #fbfbfb;
  border-top: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
}
.page-exhibition .section-exhibition .exhibition-table th:nth-child(3) {
  background-color: #fbfbfb;
  border-top: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
}
.page-exhibition .section-exhibition .exhibition-table tr td:nth-child(1) {
  border-right: 1px solid #d2d2d2;
  border-left: 1px solid #d2d2d2;
}
.page-exhibition .section-exhibition .exhibition-table tr td:nth-child(2) {
  border-right: 1px solid #d2d2d2;
  white-space: nowrap;
}
.page-exhibition .section-exhibition .exhibition-table tr td:nth-child(3) {
  border-right: 1px solid #d2d2d2;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body p {
    font-size: 14px;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item {
  display: flex;
  margin-bottom: 4em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item {
    margin-bottom: 3em;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-thumbnail {
  position: relative;
  width: 30%;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-thumbnail .period-badge {
  position: absolute;
  top: 5px;
  left: 5px;
  background-color: rgba(255, 255, 255, 0.9);
  color: #111;
  padding: 0.4em 0.5em;
  font-size: 12px;
  border-radius: 3px;
  line-height: 1;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-thumbnail .period-badge {
    top: 3px;
    left: 3px;
    font-size: 10px;
    padding: 0.3em 0.3em;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content {
  width: 70%;
  padding: 0 0 0 2em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content {
    padding: 0 0 0 1em;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-sub-title {
  margin: 0 0 0.5em;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-sub-title span {
  background-color: #eee;
  padding: 0.3em 0.5em;
  border-radius: 3px;
  font-size: 12px;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-copy {
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 1.5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-copy {
    font-size: 14px;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 0.5em;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-title a {
  text-decoration: none;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-title a:hover {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-title {
    font-size: 20px;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-periods {
  margin-bottom: 2em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-periods {
    margin-bottom: 1em;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-periods .exhibition-periods-title {
  font-size: 14px;
  font-weight: bold;
  border-left: 3px solid #111;
  padding: 0 0 0 0.5em;
  margin: 0 0 0.5em;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-periods .exhibition-periods-title {
    font-size: 14px;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-periods .exhibition-periods-txt {
  font-size: 16px;
  line-height: 1.5;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-periods .exhibition-periods-txt {
    font-size: 14px;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-link .btn {
  margin: 0;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-exhibition .exhibition-body .exhibition-item .exhibition-content .exhibition-link .btn {
    font-size: 14px;
  }
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item {
  border-left: 1px solid #d2d2d2;
  border-right: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
  line-height: 1.5;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item .exhibition-title {
  border-right: 1px solid #d2d2d2;
  padding: 1em;
  margin: 0;
  font-size: 16px;
  font-weight: normal;
  display: flex;
  align-items: center;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item .exhibition-period {
  border-right: 1px solid #d2d2d2;
  padding: 1em;
  margin: 0;
  font-size: 16px;
  display: flex;
  align-items: center;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item .exhibition-venue {
  padding: 1em;
  margin: 0;
  font-size: 16px;
  display: flex;
  align-items: center;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item-title {
  border-top: 1px solid #d2d2d2;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item-title .exhibition-title {
  font-weight: bold;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item-title .exhibition-period {
  font-weight: bold;
}
.page-exhibition .section-exhibition .exhibition-body .exhibition-ended-item-title .exhibition-venue {
  font-weight: bold;
}
.page-exhibition .exhibition-links-gp {
  height: 130px;
  max-width: 940px;
  width: calc(100% - 160px);
  border-top: 1px solid #d2d2d2;
  border-bottom: 1px solid #d2d2d2;
  display: flex;
  margin: 8em auto 0;
  z-index: 1;
  position: relative;
  background-color: #fff;
}
@media screen and (max-width: 750px) {
  .page-exhibition .exhibition-links-gp {
    border-bottom: none;
    margin: 2em auto 0;
    width: 100%;
    display: block;
    height: auto;
  }
}
.page-exhibition .exhibition-links-gp .list {
  width: 50%;
  border-right: 1px solid #d2d2d2;
}
@media screen and (max-width: 750px) {
  .page-exhibition .exhibition-links-gp .list {
    width: 100%;
    border-right: none;
  }
}
.page-exhibition .exhibition-links-gp .list .link {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 18px;
  padding-left: 1.4em;
  position: relative;
  color: #111;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .page-exhibition .exhibition-links-gp .list .link {
    height: auto;
    font-size: 14px;
    padding: 1em 0.5em;
    border-bottom: 1px solid #d2d2d2;
  }
}
.page-exhibition .exhibition-links-gp .list .link:hover {
  background-color: #eee;
}
.page-exhibition .exhibition-links-gp .list .link:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  right: 31px;
  bottom: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  transform: rotate(-45deg);
}
.page-exhibition .exhibition-links-gp .list:last-child {
  border-right: none;
}
.page-exhibition .section-search-year {
  margin-bottom: 5em;
}
.page-exhibition .section-search-year select {
  padding: 0.5em;
  width: 150px;
}
.page-exhibition .section-search-year .txt {
  font-size: 16px;
  margin-left: 0.5em;
}
@media screen and (max-width: 750px) {
  .page-exhibition .section-search-year .txt {
    margin-left: 0;
    display: block;
    margin-top: 0.5em;
  }
}
.page-exhibition .back-to-search {
  text-align: right;
}
@media screen and (max-width: 750px) {
  .page-exhibition .back-to-search {
    font-size: 12px;
  }
}
.page-exhibition .search-result-info {
  font-size: 20px;
}
.page-exhibition .search-result-info .current-year-note {
  font-size: 14px;
}

.single-exhibition-list .m-page-title {
  display: none;
}

.single-exhibition .single-exhibition-header .inner {
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .inner {
    width: calc(100% - 50px);
  }
}
.single-exhibition .single-exhibition-header {
  padding: 4.3em 0 3em;
  border-bottom: 1px solid #2b2b2b;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header {
    padding: 2.5em 0 1em;
  }
}
.single-exhibition .single-exhibition-header .update {
  font-size: 14px;
  text-align: right;
}
.single-exhibition .single-exhibition-header .category {
  display: flex;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  margin-bottom: 0.6em;
  align-items: center;
}
.single-exhibition .single-exhibition-header .category .cat {
  font-size: 20px;
  position: relative;
  margin: 0 0 0 30px;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .category .cat {
    font-size: 14px;
    margin: 0 0 0 16px;
  }
}
.single-exhibition .single-exhibition-header .category .cat:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: -23px;
  width: 11px;
  height: 11px;
  margin: auto;
  background-color: #dec580;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .category .cat:after {
    width: 7px;
    height: 7px;
    left: -13px;
  }
}
.single-exhibition .single-exhibition-header .category .status {
  background-color: #eee;
  line-height: 1;
  padding: 0.3em 1.5em 0.4em;
  border-radius: 25px;
  font-size: 16px;
  margin-left: 1em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .category .status {
    padding: 0.3em 1.3em 0.4em;
    font-size: 12px;
  }
}
.single-exhibition .single-exhibition-header .sub-title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 24px;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .sub-title {
    font-size: 12px;
  }
}
.single-exhibition .single-exhibition-header .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 40px;
  margin: 0.1em 0 0.7em 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .title {
    font-size: 20px;
  }
}
.single-exhibition .single-exhibition-header .period {
  font-size: 18px;
  line-height: 1.8;
  margin: 0 0 0.5em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .period {
    font-size: 12px;
  }
}
.single-exhibition .single-exhibition-header .room {
  font-size: 18px;
  line-height: 1.8;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .room {
    font-size: 14px;
  }
}
.single-exhibition .single-exhibition-header .share {
  text-align: right;
}
.single-exhibition .single-exhibition-header .share .m-share {
  justify-content: end;
  margin: 0;
  padding: 0;
}
.single-exhibition .single-exhibition-header .share .m-share .nav {
  position: relative;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .share .m-share .nav {
    gap: 1rem;
    margin-top: 1em;
  }
}
.single-exhibition .single-exhibition-header .share .m-share .nav::before {
  content: "SNSでシェアする";
  font-size: 18px;
  white-space: nowrap;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .share .m-share .nav::before {
    font-size: 10px;
  }
}
.single-exhibition .single-exhibition-header .share .m-share .nav li {
  width: 4rem;
  height: 4rem;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .share .m-share .nav li {
    width: 3rem;
    height: 3rem;
  }
}
.single-exhibition .single-exhibition-header .share .m-share .nav .insta,
.single-exhibition .single-exhibition-header .share .m-share .nav .youtube {
  display: none;
}
.single-exhibition .single-exhibition-header .share .m-share .nav .link {
  display: block;
}
.single-exhibition .single-exhibition-header .share .insta {
  display: none;
}
.single-exhibition .single-exhibition-header .share .m-share .nav li {
  width: 4rem;
  height: 4rem;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .share .m-share .nav li {
    width: 3rem;
    height: 3rem;
  }
}
.single-exhibition .single-exhibition-header .layout {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-header .layout {
    display: block;
  }
}
.single-exhibition .single-exhibition-body {
  padding: 4.1em 0;
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body {
    padding: 2em 0;
    width: calc(100% - 50px);
  }
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body {
    padding: 2em 0 1em;
  }
}
.single-exhibition .single-exhibition-body .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 30px;
  text-align: center;
  padding: 0;
  margin: 0 0 2em;
}
.single-exhibition .single-exhibition-body .layout {
  display: flex;
  padding: 0 0 4em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout {
    padding: 0 0 2em;
    flex-direction: column-reverse;
  }
}
.single-exhibition .single-exhibition-body .layout .content {
  width: 50%;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .content {
    width: 100%;
  }
}
.single-exhibition .single-exhibition-body .layout .content .copy {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 28px;
  line-height: 1.8;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .content .copy {
    font-size: 20px;
  }
}
.single-exhibition .single-exhibition-body .layout .content .overview {
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .content .overview {
    font-size: 14px;
  }
}
.single-exhibition .single-exhibition-body .layout .img {
  width: 50%;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .img {
    width: 100%;
    margin-bottom: 2em;
  }
}
.single-exhibition .single-exhibition-body .layout .img .image {
  max-width: 70%;
  margin: 0 auto 1em;
  height: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .img .image {
    margin: 0 auto 0.5em;
  }
}
.single-exhibition .single-exhibition-body .layout .img .flyer-link {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 16px;
  color: #111;
  text-decoration: none;
  border-bottom: 1px solid #000;
  padding: 0 2em 0.7em 0;
  position: relative;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .img .flyer-link {
    padding: 0 1em 0.2em 0;
    font-size: 12px;
  }
}
.single-exhibition .single-exhibition-body .layout .img .flyer-link:after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  right: 0;
  width: 8px;
  height: 8px;
  margin: auto;
  border-right: 2px solid #000;
  border-bottom: 2px solid #000;
  transform: rotate(-45deg);
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout .img .flyer-link:after {
    top: 7px;
    width: 6px;
    height: 6px;
    margin: auto;
    border-right: 1.5px solid #000;
    border-bottom: 1.5px solid #000;
  }
}
.single-exhibition .single-exhibition-body .layout-info {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info {
    display: block;
  }
}
.single-exhibition .single-exhibition-body .layout-info .child {
  width: 48%;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info .child {
    width: 100%;
  }
}
.single-exhibition .single-exhibition-body .layout-info .block {
  padding: 1.3em 0;
  border-top: 1px solid #e0e0e0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info .block {
    padding: 1em 0;
  }
}
.single-exhibition .single-exhibition-body .layout-info .block .block-inner {
  padding: 0 0 0 1em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info .block .block-inner {
    padding: 0;
  }
}
.single-exhibition .single-exhibition-body .layout-info .block .block-inner > .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 0.5em;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info .block .block-inner > .title {
    font-size: 16px;
    margin-bottom: 0.4em;
  }
}
.single-exhibition .single-exhibition-body .layout-info .block .block-inner > .txt {
  line-height: 1.8;
  font-size: 18px;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info .block .block-inner > .txt {
    font-size: 14px;
  }
  .single-exhibition .single-exhibition-body .layout-info .block .block-inner > .txt p {
    font-size: 14px;
    margin: 0 0 0.5em;
  }
}
.single-exhibition .single-exhibition-body .layout-info .block .block-inner > .txt .btn {
  margin: 1.5em 0 0 0;
}
.single-exhibition .single-exhibition-body .layout-info .block ul.note {
  line-height: 1.5;
  margin: 0.5em 0 0 1.4em;
}
.single-exhibition .single-exhibition-body .layout-info .block ul.note li {
  font-size: 17px;
  margin: 0 0 0.4em 0;
}
.single-exhibition .single-exhibition-body .layout-info .block ul.note li:before {
  content: "※ ";
  margin: 0 0 0 -1.4em;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column {
  display: block;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area {
  padding: 0 0 0 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area {
    margin-top: 1em;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area h3 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 20px;
  margin-bottom: 0.5em;
  text-align: left;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area h3 {
    font-size: 16px;
    margin-bottom: 0.4em;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area h4 {
  font-weight: 600;
  font-size: 18px;
  margin-bottom: 0.5em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area h4 {
    font-size: 15px;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area p {
  margin: 0 0 1em;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area ul {
  margin: 0 0 1.5em;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area ul li {
  list-style-type: disc;
  margin: 0 0 0.4em 1.5em;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area ol {
  margin: 0 0 1.5em;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area ol li {
  list-style-type: decimal;
  margin: 0 0 0.4em 1.5em;
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area dl {
  display: flex;
  padding: 0;
  margin: 0.5em 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area dl {
    display: block;
    margin: 0 0 1.2em;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area dl dt {
  flex-shrink: 0;
  font-size: 18px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area dl dt {
    font-size: 14px;
    font-weight: bold;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area dl dd {
  margin: 0 0 0 1em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .free_area dl dd {
    font-size: 14px;
    margin: 0 0 0 0;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section {
  padding: 1em 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section {
    padding: 1em 0 0;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section .banners {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section .banners {
    gap: 10px;
    flex-wrap: wrap;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section .banners .banner-item {
  width: 20%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section .banners .banner-item {
    width: 31%;
  }
}
.single-exhibition .single-exhibition-body .layout-info.layout-info-one-column .banner-section .banners .banner-item .icon-blank {
  display: none;
}
.single-exhibition .single-exhibition-post {
  margin: 0 0 5em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-post {
    margin: 0 auto 2em;
    width: 100%;
  }
}
.single-exhibition .single-exhibition-related-event {
  background-color: #f5f5f5;
  padding: 4.2em 0 0;
  border-top: 1px solid #2b2b2b;
  border-bottom: 1px solid #2b2b2b;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event {
    padding: 2em 0 0;
  }
}
.single-exhibition .single-exhibition-related-event .title {
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  font-size: 38px;
  text-align: center;
  padding: 0;
  margin: 0 0 2.2em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .title {
    font-size: 20px;
    margin: 0 0 1em;
  }
}
.single-exhibition .single-exhibition-related-event .layout {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2em 2.9em;
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 200px);
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout {
    display: block;
    width: calc(100% - 50px);
  }
}
.single-exhibition .single-exhibition-related-event .layout .block {
  text-decoration: none;
  font-family: "Zen Old Mincho", serif;
  font-weight: 600;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 8;
  gap: 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block {
    margin-bottom: 2.5em;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .thumb {
  position: relative;
  margin-bottom: 0.5em;
}
.single-exhibition .single-exhibition-related-event .layout .block .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 160px;
}
.single-exhibition .single-exhibition-related-event .layout .block .thumb.close:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.single-exhibition .single-exhibition-related-event .layout .block .thumb.close:before {
  content: "受付終了";
  font-family: "Zen Old Mincho", serif;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 130px;
  height: 50px;
  border: 1px solid #fff;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  color: #fff;
  z-index: 1;
}
.single-exhibition .single-exhibition-related-event .layout .block .sub-title {
  font-size: 18px;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .sub-title {
    font-size: 12px;
    margin-bottom: 0.2em;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .title {
  font-size: 24px;
  line-height: 1.2;
  text-align: left;
  margin: 0 0 0.6em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .title {
    font-size: 18px;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .cat-wrap {
  border-bottom: 1px solid #d2d2d2;
  padding: 0 0 1em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .cat-wrap {
    padding: 0 0 0.5em;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .cat-wrap .cat {
  font-size: 16px;
  background-color: #e5e5e5;
  padding: 0.3em 1.1em 0.4em;
  display: inline-block;
  margin: 0 0.3em 0.3em 0;
  border-radius: 50px;
  line-height: 1;
  letter-spacing: 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .cat-wrap .cat {
    font-size: 11px;
    padding: 0.3em 1em 0.4em;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .date {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 18px;
  font-feature-settings: "palt";
  font-weight: normal;
  letter-spacing: -0.02em;
  padding-top: 0.52em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .date {
    font-size: 14px;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .time {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
  font-size: 18px;
  color: #736f6a;
  margin-bottom: 0.8em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .time {
    font-size: 13px;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .time .icon {
  margin: 0 0.2em 0.2em 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .time .icon {
    width: 13px;
    height: auto;
  }
}
.single-exhibition .single-exhibition-related-event .layout .block .txt {
  font-size: 18px;
  line-height: 1.5;
  padding-bottom: 1em;
}
.single-exhibition .single-exhibition-related-event .layout .block .note ul li {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 0.3em;
  background-image: url(images/common/icon_list.png);
  background-repeat: no-repeat;
  background-size: 20px auto;
  background-position: left top 6px;
  padding: 2px 0 2px 28px;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .layout .block .note ul li {
    font-size: 11px;
    background-size: 10px auto;
    padding: 2px 0 2px 15px;
  }
}
.single-exhibition .single-exhibition-related-event .btn-wrap {
  padding: 5.5em 0 6.4em;
}
@media screen and (max-width: 750px) {
  .single-exhibition .single-exhibition-related-event .btn-wrap {
    padding: 3em 0;
  }
}
.single-exhibition .btn-wrap-links {
  padding: 5em 0;
  display: flex;
  justify-content: center;
  gap: 50px;
}
@media screen and (max-width: 850px) {
  .single-exhibition .btn-wrap-links {
    width: 75%;
    margin-inline: auto;
    gap: 1em;
  }
}
@media screen and (max-width: 750px) {
  .single-exhibition .btn-wrap-links {
    width: 90%;
    padding: 3em 0;
    gap: 5px;
  }
}
.single-exhibition .btn-wrap-links .btn {
  margin: 0;
}
@media screen and (max-width: 750px) {
  .single-exhibition .btn-wrap-links .btn {
    width: 100%;
    font-size: 12px;
  }
  .single-exhibition .btn-wrap-links .btn:after {
    right: 10px;
  }
}

.wp-singular.single-exhibition-list main {
  margin: 0 auto;
  padding: 0 0 0;
}

.post-type-archive-magazine .m-page-title {
  display: none;
}

.paged.post-type-archive-magazine .page-magazine .page-magazine-head .layout .detail > .title {
  padding-bottom: 0;
  border: none;
}
.paged.post-type-archive-magazine .page-magazine .page-magazine-head .layout .detail > .title:after {
  display: none;
}

.tax-magazine_cat .m-page-title {
  display: none;
}
.tax-magazine_cat .page-magazine .page-magazine-head .layout {
  display: block;
}
.tax-magazine_cat .page-magazine .page-magazine-head .layout .detail > .title {
  padding-bottom: 0;
  border: none;
}
.tax-magazine_cat .page-magazine .page-magazine-head .layout .detail > .title:after {
  display: none;
}

.date.post-type-archive-magazine .page-magazine .page-magazine-head .layout .detail > .title {
  padding-bottom: 0;
  border: none;
}
.date.post-type-archive-magazine .page-magazine .page-magazine-head .layout .detail > .title:after {
  display: none;
}

.page-magazine {
  padding-top: 5em;
}
@media screen and (max-width: 750px) {
  .page-magazine {
    padding-top: 2em;
  }
}
.page-magazine .page-magazine-head {
  margin-bottom: 5em;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head {
    margin-bottom: 2em;
  }
}
.page-magazine .page-magazine-head .layout {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout {
    display: block;
  }
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail {
    margin-bottom: 1em;
  }
}
.page-magazine .page-magazine-head .layout .detail > .title {
  font-family: "Zen Old Mincho", serif;
  border-bottom: 1px solid #000;
  padding-bottom: 3.6em;
  letter-spacing: 0.12em;
  position: relative;
  margin: 0;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail > .title {
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
  }
}
.page-magazine .page-magazine-head .layout .detail > .title:after {
  content: "Latest Article";
  font-size: 12px;
  letter-spacing: 0.01em;
  position: absolute;
  top: 85px;
  right: 6px;
  transform: rotate(-90deg);
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail > .title:after {
    display: none;
  }
}
.page-magazine .page-magazine-head .layout .detail > .title .small {
  font-size: 20px;
  letter-spacing: 0.05em;
  margin: 0 0 0.4em 0;
  position: relative;
  padding: 0 0 0 1.4em;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail > .title .small {
    font-size: 12px;
  }
}
.page-magazine .page-magazine-head .layout .detail > .title .small:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 3px;
  width: 11px;
  height: 11px;
  margin: auto;
  background-color: #dec580;
  transform: rotate(45deg);
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail > .title .small:before {
    width: 8px;
    height: 8px;
    top: 1px;
  }
}
.page-magazine .page-magazine-head .layout .detail > .title .big {
  font-size: 40px;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail > .title .big {
    font-size: 28px;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine {
  font-family: "Zen Old Mincho", serif;
  padding: 1.5em 1em 0 25.2%;
  display: block;
  text-decoration: none;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail .newest-magazine {
    padding: 0;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .sub {
  line-height: 1;
  margin-bottom: 1.6em;
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .num_small {
  font-size: 16px;
  margin-right: 0.6em;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .num_small {
    font-size: 18px;
    margin-right: 0.2em;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .num_big {
  font-size: 30px;
  margin-right: 1em;
  position: relative;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .num_big {
    font-size: 22px;
    margin-right: 23px;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .num_big:after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
  right: -22px;
  bottom: 0;
  width: 10px;
  height: 1px;
  margin: auto;
  background-color: #000;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .num_big:after {
    top: 9px;
    right: -15px;
    width: 9px;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .sub .name {
  font-size: 16px;
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .title {
  font-size: 28px;
  line-height: 1.2;
  font-weight: bold;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail .newest-magazine .title {
    font-size: 20px;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .info {
  display: flex;
  align-items: center;
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .info .cat_wrap {
  margin-right: 16px;
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .info .cat_wrap .cat {
  display: inline-block;
  font-size: 16px;
  background-color: #e5e5e5;
  padding: 0.3em 0.9em 0.4em;
  line-height: 1;
  border-radius: 40px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .detail .newest-magazine .info .cat_wrap .cat {
    font-size: 12px;
  }
}
.page-magazine .page-magazine-head .layout .detail .newest-magazine .info .time {
  font-size: 13px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
}
.page-magazine .page-magazine-head .layout .img img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 400px;
}
@media screen and (max-width: 750px) {
  .page-magazine .page-magazine-head .layout .img img {
    height: 200px;
  }
}
.page-magazine .page-magazine-head .cat-txt {
  font-size: 16px;
  letter-spacing: 0.05em;
  padding: 1em 0 0 0;
  margin: 0 0 -1.5em;
}
.page-magazine .archive-lists_wrap {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  background-color: #f5f5f5;
  padding: 5.2em 0 5.2em;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists_wrap {
    padding: 2em 0;
  }
}
.page-magazine .archive-lists_wrap .pagination {
  margin: 5em 0 0;
}
.page-magazine .archive-lists {
  max-width: 1140px;
  margin: 0 auto;
  width: calc(100% - 160px);
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 65px 60px;
  font-family: "Zen Old Mincho", serif;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists {
    width: calc(100% - 50px);
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 10px;
  }
}
.page-magazine .archive-lists .block {
  display: block;
  text-decoration: none;
}
.page-magazine .archive-lists .block .thumb {
  margin-bottom: 1.2em;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .thumb {
    margin-bottom: 0.2em;
  }
}
.page-magazine .archive-lists .block .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 227px;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .thumb img {
    height: 100px;
  }
}
.page-magazine .archive-lists .block .info {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 0 0.6em 0;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .info {
    display: block;
  }
}
.page-magazine .archive-lists .block .info .sub .num_small {
  font-size: 13px;
  margin-right: 0.6em;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .info .sub .num_small {
    margin-right: 0.3em;
    font-size: 14px;
  }
}
.page-magazine .archive-lists .block .info .sub .num_big {
  font-size: 20px;
  margin-right: 1.5em;
  position: relative;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .info .sub .num_big {
    margin-right: 1em;
    font-size: 18px;
  }
}
.page-magazine .archive-lists .block .info .sub .num_big:after {
  content: "";
  display: block;
  position: absolute;
  top: 6px;
  right: -19px;
  bottom: 0;
  width: 9px;
  height: 1px;
  margin: auto;
  background-color: #000;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .info .sub .num_big:after {
    right: -13px;
  }
}
.page-magazine .archive-lists .block .info .sub .name {
  font-size: 14px;
}
.page-magazine .archive-lists .block .info .time {
  font-size: 13px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .info .time {
    font-size: 13px;
    line-height: 1.3;
  }
}
.page-magazine .archive-lists .block .txt {
  font-size: 20px;
  line-height: 1.4;
  margin-bottom: 1em;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .txt {
    font-size: 14px;
  }
}
.page-magazine .archive-lists .block .cat_wrap .cat {
  font-size: 14px;
  display: inline-block;
  line-height: 1;
  padding: 0.3em 0.9em 0.4em;
  background-color: #e5e5e5;
  border-radius: 30px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .page-magazine .archive-lists .block .cat_wrap .cat {
    font-size: 12px;
    padding: 0.3em 1.1em 0.4em;
  }
}

.magazine-nav {
  display: flex;
  justify-content: space-between;
  padding-top: 4.6em;
}
@media screen and (max-width: 750px) {
  .magazine-nav {
    padding-top: 2em;
    display: block;
  }
}
.magazine-nav .links-cat {
  width: 68%;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links-cat {
    width: 100%;
    margin-bottom: 1.5em;
  }
}
.magazine-nav .links-year {
  width: 26%;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links-year {
    width: 100%;
  }
}
.magazine-nav .links .title {
  line-height: 1;
  font-size: 25px;
  font-family: "Zen Old Mincho", serif;
  border-bottom: 1px solid #000;
  padding-bottom: 0.8em;
  margin-bottom: 0.7em;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links .title {
    margin-bottom: 1em;
    font-size: 18px;
    padding-bottom: 0.3em;
  }
}
.magazine-nav .links .layout-cat {
  display: grid;
  grid-template-columns: repeat(4, auto);
  text-decoration: none;
  gap: 22px 16px;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links .layout-cat {
    grid-template-columns: repeat(2, auto);
    gap: 15px 10px;
  }
}
.magazine-nav .links .layout-cat .block {
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 15px;
  line-height: 1.2;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links .layout-cat .block {
    gap: 7px;
  }
}
.magazine-nav .links .layout-cat .block .thumb {
  width: 60px;
  height: 60px;
  flex-shrink: 0;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links .layout-cat .block .thumb {
    width: 50px;
    height: 50px;
  }
}
.magazine-nav .links .layout-cat .block .thumb img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 50%;
}
.magazine-nav .links .layout-cat .block .txt {
  font-size: 16px;
  font-weight: normal;
}
@media screen and (max-width: 750px) {
  .magazine-nav .links .layout-cat .block .txt {
    font-size: 14px;
  }
}
.magazine-nav .links .layout-year {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px 0;
  margin: -0.2em 0 0 0;
}
.magazine-nav .links .layout-year .block {
  padding: 0 0 0 0.2em;
}
.magazine-nav .links .layout-year .block a {
  text-decoration: none;
  font-size: 16px;
  position: relative;
  padding-left: 1em;
  letter-spacing: 0.12em;
  font-weight: normal;
}
.magazine-nav .links .layout-year .block a:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 7px;
  height: 7px;
  margin: auto;
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  transform: rotate(-45deg);
}

.wp-post.sitemap-page .c-heading--lv2 {
  margin-bottom: 2rem;
  font-size: 20px;
  margin-top: 4rem;
  margin-bottom: 2.5rem;
}
.wp-post.sitemap-page .c-heading--lv2 a {
  text-decoration: none;
}
.wp-post.sitemap-page .c-heading--lv2:after {
  bottom: -12px;
}
.wp-post.sitemap-page .c-heading--lv2.has-toggle .toggle-button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  margin-left: 10px;
  width: 18px;
  height: 18px;
  background-color: #ddd;
  cursor: pointer;
}
.wp-post.sitemap-page .c-heading--lv2.has-toggle .toggle-button:after {
  content: "+";
  display: block;
  text-align: center;
  line-height: 1;
  font-size: 12px;
  font-weight: 600;
  color: #000;
}
.wp-post.sitemap-page .c-heading--lv2.has-toggle.is-open .toggle-button:after {
  content: "−";
}
.wp-post.sitemap-page ul {
  list-style: none;
  padding-left: 0;
}
.wp-post.sitemap-page ul li {
  margin-bottom: 0.6em;
}
.wp-post.sitemap-page ul li ul {
  margin-top: 0.4em;
}
.wp-post.sitemap-page ul li a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.wp-post.google-search-page .gsc-above-wrapper-area {
  border-bottom: none;
  padding: 5px 0 5px 0;
}
.wp-post.google-search-page .gs-no-results-result .gs-snippet,
.wp-post.google-search-page .gs-error-result .gs-snippet {
  background-color: #fff;
  border: none;
  display: block;
  margin: 5px;
  padding: 5px;
  text-align: center;
  font-size: 16px;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo;
}
@media screen and (max-width: 750px) {
  .wp-post.google-search-page .gs-no-results-result .gs-snippet,
  .wp-post.google-search-page .gs-error-result .gs-snippet {
    font-size: 14px;
  }
}
.wp-post.google-search-page .gcsc-find-more-on-google {
  color: #111;
}
.wp-post.google-search-page .gsc-above-wrapper-area,
.wp-post.google-search-page .gsc-wrapper {
  max-width: 100%;
}

/**************************************************
  utilities
***************************************************/
/* ---------- clear ---------- */
.u-clearfix {
  zoom: 1;
}
.u-clearfix:after {
  content: "";
  display: block;
  clear: both;
}

@media all and (min-width: 769px) {
  .u-float-left {
    float: left;
  }
  .u-float-right {
    float: right;
  }
}
.u-clear {
  clear: both;
}

.u-hidden {
  display: none;
}

/* ---------- text ---------- */
.u-text-bold {
  font-weight: bold;
}

.u-text-underline {
  text-decoration: underline;
}

.u-text-sm {
  font-size: 88%;
}

.u-text-xs {
  font-size: 75%;
}

.u-text-lg {
  font-size: 113%;
}

.u-text-x-lg {
  font-size: 140%;
}

.u-valign-top {
  vertical-align: top;
}

.u-valign-middle {
  vertical-align: middle;
}

.u-valign-bottom {
  vertical-align: bottom;
}

.u-text-center,
.u-text-center th,
.u-text-center td {
  text-align: center;
}

.u-text-right,
.u-text-right th,
.u-text-right td {
  text-align: right;
}

.u-text-left,
.u-text-left th,
.u-text-left td {
  text-align: left;
}

.u-image-text {
  overflow: hidden;
}

.u-text-top {
  vertical-align: top;
}

.u-text-middle {
  vertical-align: middle;
}

.u-text-bottom {
  vertical-align: bottom;
}

.u-word-break {
  word-break: break-all;
}

.u-nowrap {
  white-space: nowrap;
}

/* ---------- margin ---------- */
.u-margin-first {
  margin-top: 0;
}

.u-margin-zero {
  margin-bottom: 0;
}

.u-margin-half {
  margin-bottom: calc(2rem / 2);
}

.u-margin-default {
  margin-bottom: 2rem;
}

.u-margin-double {
  margin-bottom: calc(2rem * 2);
}

/* ---------- devices ---------- */
@media all and (min-width: 769px) {
  .u-sp {
    display: none;
  }
}
@media all and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}
/* ---------- spacing ---------- */
.u-mt0 {
  margin-top: 0px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mb100 {
  margin-bottom: 100px !important;
}

.u-pt100 {
  padding-top: 100px !important;
}

.u-pb100 {
  padding-bottom: 100px !important;
}

/* -----------------------------------------------
  Accessibility
-------------------------------------------------- */
.screen-reader-text {
  position: absolute;
  top: -1000em;
  transition: 0.3s;
}
.screen-reader-text:focus {
  left: 6px;
  top: 6px;
  height: auto;
  width: auto;
  display: block;
  font-size: 14px;
  font-weight: 600;
  padding: 15px 23px 14px;
  background: #f0f0f1;
  color: #2271b1;
  z-index: 100000;
  line-height: normal;
  text-decoration: none;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
}

.is-current {
  pointer-events: none;
  text-decoration: none;
}

/* -----------------------------------------------
  admin bar
-------------------------------------------------- */
html {
  margin-top: 0 !important;
}

#wpadminbar {
  transition: 0.3s;
  opacity: 0.2;
}
#wpadminbar:hover {
  opacity: 1;
}
@media all and (max-width: 768px) {
  #wpadminbar {
    display: none;
  }
}

.sp {
  display: none !important;
}

.pc {
  display: block !important;
}

.sp-flex {
  display: none !important;
}

.pc-flex {
  display: flex !important;
}

.sp-inlineblock {
  display: none !important;
}

.pc-inlineblock {
  display: inline-block !important;
}

.sp-inline {
  display: none !important;
}

.pc-inline {
  display: inline !important;
}

@media screen and (max-width: 750px) {
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  .sp-inlineblock {
    display: inline-block !important;
  }
  .pc-inlineblock {
    display: none !important;
  }
  .sp-inline {
    display: inline !important;
  }
  .pc-inline {
    display: none !important;
  }
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}/*# sourceMappingURL=style.css.map */