:root {
  --color-ink: #171a17;
  --color-green: #3a4d39;
  --color-green-dark: #243326;
  --color-orange: #d96b27;
  --color-paper: #f7f6f1;
  --color-line: #d8d8d2;
  --color-muted: #6d716c;
  --font-sans: "LINE Seed JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;
  --container: 1180px;
  --sidebar: 300px;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  padding-top: 0;
  color: var(--color-ink);
  background: #fff;
  font-family: var(--font-sans);
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}
body.menu-open { overflow: hidden; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { color: var(--color-orange); }
button, input, textarea, select { font: inherit; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.content-layout { display: grid; grid-template-columns: minmax(0, 1fr) var(--sidebar); gap: 54px; padding-block: 54px 80px; }
.main-column { min-width: 0; }
.breadcrumbs { padding-block: 11px; color: #fff; background: #080a08; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 4px 0; margin: 0 auto; padding: 0; list-style: none; }
.breadcrumbs li { display: flex; align-items: center; min-width: 0; color: #b9bdb9; font-size: 11px; }
.breadcrumbs li:not(:last-child)::after { content: "›"; margin-inline: 9px; color: var(--color-orange); }
.breadcrumbs a { color: #fff; font-weight: 700; }
.breadcrumbs a:hover { color: var(--color-orange); }
.breadcrumbs span { max-width: min(62vw, 620px); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.screen-reader-text {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.screen-reader-text:focus { z-index: 100000; top: 8px; left: 8px; width: auto; height: auto; padding: 10px; clip: auto; background: #fff; }
.section-title { position: relative; display: flex; align-items: center; gap: 18px; margin: 0 0 28px; font-size: 20px; letter-spacing: .12em; text-align: center; }
.section-title::before, .section-title::after { content: ""; height: 1px; flex: 1; background: var(--color-ink); }
.section-title span { flex: none; }
.section-title--left::before { display: none; }
.button { display: inline-block; margin-top: 24px; padding: 11px 24px; color: #fff; background: var(--color-green); font-weight: 700; }
.button:hover { color: #fff; background: var(--color-orange); }
.not-found-page { padding-block: 100px 130px; text-align: center; }
.not-found-page .breadcrumbs { text-align: left; }
.not-found-page .search-form { width: min(100%, 480px); margin: 30px auto; }

/* WordPress defaults */
.alignleft { float: left; margin: 0 1.5em 1em 0; }
.alignright { float: right; margin: 0 0 1em 1.5em; }
.aligncenter { clear: both; display: block; margin-inline: auto; }
.alignwide { width: min(110%, 940px); max-width: none; margin-left: 50%; transform: translateX(-50%); }
.wp-caption { max-width: 100%; }
.wp-caption-text { color: var(--color-muted); font-size: 12px; }
.sticky, .bypostauthor { display: block; }
