@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Courier+Prime:wght@700&family=Zen+Kaku+Gothic+New:wght@500&family=Zen+Maru+Gothic:wght@700&display=swap");
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/**
 * Remove default margin.
 */
body {
  margin: 0;
}

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none;
}

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted;
}

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold;
}

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic;
}

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000;
}

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%;
}

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0;
}

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px;
}

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0;
}

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto;
}

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default;
}

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal;
}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 2 */
  box-sizing: content-box;
}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto;
}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold;
}

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

* {
  max-height: 99999px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  transition: opacity .2s;
}
a:hover {
  opacity: 0.7;
}
a:active, a:visited, a:link {
  text-decoration: none;
}

a.hitarea {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
a.hitarea.mo::after {
  content: '';
  display: block;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  background-color: white;
  transition: opacity .2s;
}
a.hitarea.mo:hover::after {
  opacity: 0.7;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #271203;
  position: relative;
  min-width: 1126px;
}
@media (max-width: 768px) {
  body {
    min-width: 100%;
    overflow-x: hidden;
  }
}
body.home .main-outer {
  width: 100%;
  position: relative;
  background-image: url(../images/bg-1.jpg);
  background-repeat: repeat-y;
  background-size: 100%;
}
body.home main {
  width: 768px;
  margin: 0 auto;
}
@media (max-width: 768px) {
  body.home main {
    width: 83.3333333333vw;
  }
}

body.fixed {
  position: fixed;
  left: 0;
  top: 0;
  overflow-y: scroll;
}

h1, h2, h3, h4, h5, h6, p, div, li {
  margin: 0;
}

ul, ol {
  padding: 0;
  margin: 0;
}

li {
  list-style-type: none;
}

.onlysp {
  display: none;
}

@media (max-width: 768px) {
  .onlysp {
    display: block;
  }

  .onlypc {
    display: none;
  }
}
figure {
  margin: 0;
}

figcaption {
  font-size: 15px;
  line-height: 1.5em;
  margin-top: .75em;
  text-align: center;
}
@media (max-width: 768px) {
  figcaption {
    font-size: 3.6111111111vw;
  }
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat;
}

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal;
}
/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
}
.slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  outline: none;
  background: transparent;
  color: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}
.slick-prev:before,
.slick-next:before {
  font-family: "slick";
  font-size: 20px;
  line-height: 1;
  color: white;
  opacity: 0.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.slick-prev {
  left: -25px;
}
[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px;
}
.slick-prev:before {
  content: "←";
}
[dir="rtl"] .slick-prev:before {
  content: "→";
}

.slick-next {
  right: -25px;
}
[dir="rtl"] .slick-next {
  left: -25px;
  right: auto;
}
.slick-next:before {
  content: "→";
}
[dir="rtl"] .slick-next:before {
  content: "←";
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%;
}
.slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "•";
  width: 20px;
  height: 20px;
  font-family: "slick";
  font-size: 6px;
  line-height: 20px;
  text-align: center;
  color: black;
  opacity: 0.25;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before {
  color: black;
  opacity: 0.75;
}

.hdr {
  padding-top: 35px;
  width: 100%;
  height: 150px;
  color: #fff;
  position: relative;
  overflow-y: hidden;
}
.hdr--1 {
  background-color: #875F31;
}
.hdr--1::before {
  content: '';
  display: inline-block;
  width: 140px;
  height: 170px;
  background-image: url(../images/nav-1.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: -10px;
  left: calc(50% - 0.5 * 768px - 140px);
}
.hdr--2 {
  background-color: #BA5147;
}
.hdr--2::before {
  content: '';
  display: inline-block;
  width: 142px;
  height: 150px;
  background-image: url(../images/nav-2.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: calc(50% - 0.5 * 768px - 142px);
}
.hdr--3 {
  background-color: #298473;
}
.hdr--3::before {
  content: '';
  display: inline-block;
  width: 142px;
  height: 150px;
  background-image: url(../images/nav-3.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  position: absolute;
  top: 0;
  left: calc(50% - 0.5 * 768px - 142px);
}
.hdr__section {
  width: 768px;
  margin: 0 auto;
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 1em;
}
.hdr__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 28px;
  line-height: 1em;
  width: 768px;
  margin: 15px auto 0;
}

@media (max-width: 768px) {
  .hdr {
    padding-top: 26.9444444444vw;
    height: 53.6111111111vw;
    padding-left: 11.9444444444vw;
  }
  .hdr--1::before {
    width: 45.8333333333vw;
    height: 54vw;
    left: auto;
    right: -4vw;
  }
  .hdr--2::before {
    width: 45.8333333333vw;
    height: 54vw;
    left: auto;
    right: -4vw;
  }
  .hdr--3::before {
    width: 45.8333333333vw;
    height: 54vw;
    left: auto;
    right: -4vw;
  }
  .hdr__section {
    font-size: 4.4444444444vw;
  }
  .hdr__title {
    font-size: 6.1111111111vw;
    position: relative;
    z-index: 2;
  }
  .hdr__spmenu {
    width: 15.8333333333vw;
    height: 10.2777777778vw;
    position: absolute;
    left: 6.3888888889vw;
    top: 6.3888888889vw;
    z-index: 1;
  }
}
.ftr {
  width: 100%;
  height: 86px;
  padding-top: 1.5em;
  background-image: url(../images/bg-ftr.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.ftr__copyright, .ftr__credit {
  color: #fff;
  font-size: 14px;
  text-align: center;
}

@media (max-width: 768px) {
  .ftr {
    height: 23.8888888889vw;
    padding-top: 2em;
  }
  .ftr__copyright, .ftr__credit {
    font-size: 3.6111111111vw;
  }
}
.hero {
  position: relative;
  width: 100%;
  height: 790px;
  padding-bottom: 50px;
  background-color: #271203;
  color: #fff;
}
.hero-inner {
  width: 100%;
  height: 740px;
  display: flex;
}
.hero-img-outer {
  width: 60%;
  position: relative;
}
.hero__img {
  display: block;
  width: 100%;
  height: 740px;
  object-fit: cover;
}
.hero-sec-outer {
  padding: 214px 120px 0;
  flex: 1;
}
@media (max-width: 1250px) {
  .hero-sec-outer {
    padding: 214px 100px 0;
  }
}
.hero-sec {
  display: block;
}
.hero-sec, .hero-sec:link, .hero-sec:visited, .hero-sec:active, .hero-sec:hover {
  color: #fff;
}
.hero-sec--1 .hero-sec__txt::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -11px;
  width: 256px;
  height: 10px;
  background-color: #875F31;
}
.hero-sec--2 .hero-sec__txt::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -11px;
  width: 256px;
  height: 10px;
  background-color: #BA5147;
}
.hero-sec--3 .hero-sec__txt::before {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: -11px;
  width: 256px;
  height: 10px;
  background-color: #298473;
}
.hero-sec:nth-of-type(n + 2) {
  margin-top: 60px;
}
.hero-sec__title {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 1em;
}
.hero-sec__txt {
  position: relative;
  margin-top: 8px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 1em;
  display: inline-block;
}
.hero__spmenu {
  display: none;
}

@media (max-width: 768px) {
  .hero {
    height: 100vh;
    padding-bottom: 0;
  }
  .hero-inner {
    height: 100vh;
  }
  .hero-img-outer {
    width: 100%;
  }
  .hero__img {
    width: 100vw;
    height: 100vh;
  }
  .hero-sec-outer {
    display: none;
  }
  .hero__spmenu {
    display: block;
    position: absolute;
    top: 6.3888888889vw;
    left: 6.3888888889vw;
    width: 15.8333333333vw;
    height: 10.2777777778vw;
    z-index: 1;
  }
}
.period {
  margin-top: 70px;
  padding-bottom: 80px;
}
.period__question {
  margin-top: 30px;
}
.period__question-label {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  color: #fff;
  background-color: #875F31;
  border-radius: 3em;
  padding: .25em 2.25em;
}
.period__excerpt {
  display: inline-block;
  vertical-align: middle;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.06em;
  color: #875f31;
  padding-left: .75em;
}
.period__answer {
  margin-top: .8em;
}
.period__text {
  font-size: 15px;
  line-height: 28px;
  color: #271203;
}

.period-then {
  margin-top: 60px;
}
.period-then__section {
  position: relative;
  padding-left: 40px;
  padding-bottom: 30px;
}
.period-then__section:nth-of-type(n + 2) {
  margin-top: 30px;
}
.period-then__section--1 {
  background-image: url(../images/bg-2.png);
  background-repeat: repeat-y;
  background-size: 100%;
}
.period-then__section--1::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 12px;
  background-image: url(../images/bg-2-arrow.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  position: absolute;
  left: 1px;
  bottom: 0;
}
.period-then__section--2 {
  background-image: url(../images/bg-3.png);
  background-repeat: repeat-y;
  background-size: 100%;
}
.period-then__section--2::before {
  content: '';
  display: inline-block;
  width: 22px;
  height: 12px;
  background-image: url(../images/bg-3-arrow.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  position: absolute;
  left: 1px;
  bottom: 0;
}
.period-then__label {
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  color: #875F31;
  background-color: #fff;
  border-radius: 3em;
  padding: .25em 2em;
  margin-left: -.75em;
}
.period-then__excerpt1 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.06em;
  color: #875f31;
  margin-top: .8em;
}
.period-then__excerpt2 {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.06em;
  color: #BA5147;
  margin-top: .8em;
}
.period-then__result {
  margin-top: .75em;
}
.period-then-note {
  position: relative;
  background-color: #FAF8EF;
  padding: 29px 35px 50px;
  margin-top: 50px;
  margin-bottom: 1.5em;
}
.period-then-note::before {
  content: '';
  width: 30px;
  height: 22px;
  position: absolute;
  left: 20px;
  top: -21px;
  background-image: url(../images/arrow-period-note.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.period-then-note__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 18px;
  letter-spacing: 0.06em;
  color: #ba5147;
}
.period-then-note p {
  margin-top: .5em;
}

@media (max-width: 768px) {
  .period {
    margin-top: 26.3888888889vw;
    padding-bottom: 17vw;
  }
  .period__question {
    margin-top: 6.9444444444vw;
  }
  .period__question-label {
    font-size: 4.4444444444vw;
    padding: .25em 2.1em;
  }
  .period__excerpt {
    font-size: 5vw;
    padding-left: 0;
    margin-top: .5em;
  }
  .period__text {
    font-size: 4.1666666667vw;
    line-height: 7.7777777778vw;
  }

  .period-then {
    margin-top: 13.8888888889vw;
  }
  .period-then__section {
    padding-left: 12vw;
    padding-bottom: 8.3333333333vw;
  }
  .period-then__section:nth-of-type(n + 2) {
    margin-top: 8.3333333333vw;
  }
  .period-then__section--1 {
    background-size: 250%;
  }
  .period-then__section--1::before {
    width: 6.1111111111vw;
    height: 3.3333333333vw;
    left: 0.2777777778vw;
  }
  .period-then__section--2 {
    background-size: 250%;
  }
  .period-then__section--2::before {
    width: 6.1111111111vw;
    height: 3.3333333333vw;
    left: 0.2777777778vw;
  }
  .period-then__label {
    margin-left: -1em;
    font-size: 4.4444444444vw;
  }
  .period-then__excerpt1 {
    font-size: 4.4444444444vw;
  }
  .period-then__excerpt2 {
    font-size: 4.4444444444vw;
  }
  .period-then-note {
    padding: 6.1111111111vw 5vw;
    margin-top: 13.8888888889vw;
  }
  .period-then-note::before {
    width: 8.3333333333vw;
    height: 6.1111111111vw;
    left: 5.5555555556vw;
    top: -5.8333333333vw;
  }
  .period-then-note__title {
    font-size: 4.4444444444vw;
  }
}
.nav {
  width: 100%;
  display: flex;
}
.nav-item {
  position: relative;
  width: 33.3%;
  padding: 45px 0 45px 85px;
}
.nav-item, .nav-item:link, .nav-item:visited, .nav-item:active, .nav-item:hover {
  color: #fff;
}
.nav-item::after {
  content: '';
  display: inline-block;
  width: 14px;
  height: 29px;
  background-image: url(../images/arrow-nav.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  right: 15px;
  top: calc(50% - 0.5 * 15px - 0px);
}
.nav-item--home {
  background-image: url(../images/bg-nav-home.jpg);
  background-size: cover;
}
.nav-item--home, .nav-item--home:link, .nav-item--home:visited, .nav-item--home:active, .nav-item--home:hover {
  color: #875F31;
}
.nav-item--home::after {
  background-image: url(../images/arrow-slide-prev.svg);
  opacity: .5;
  right: auto;
  left: 15px;
}
.nav-item--1 {
  background-color: #875F31;
  background-image: url(../images/nav-1.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
}
.nav-item--2 {
  background-color: #BA5147;
  background-image: url(../images/nav-2.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
}
.nav-item--3 {
  background-color: #298473;
  background-image: url(../images/nav-3.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
}
.nav-item__title {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 1em;
}
.nav-item p {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  margin-top: 10px;
  font-size: 22px;
  line-height: 1em;
}

.gnav {
  display: none;
}

@media (max-width: 768px) {
  .gnav {
    display: block;
    position: fixed;
    z-index: 10;
    background-color: #271203;
    inset: 0 0 0 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
    color: #fff;
    padding: 0 11.6666666667vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .gnav__close {
    position: absolute;
    top: 7.5vw;
    left: 6.6666666667vw;
    width: 14.1666666667vw;
    height: 8.6111111111vw;
  }
  .gnav--on {
    opacity: 1;
    pointer-events: initial;
  }
  .gnav-item {
    display: block;
  }
  .gnav-item, .gnav-item:link, .gnav-item:visited, .gnav-item:active, .gnav-item:hover {
    color: #fff;
  }
  .gnav-item:nth-of-type(n + 2) {
    margin-top: 15.8333333333vw;
  }
  .gnav-item:nth-of-type(2) .gnav__title::after {
    content: '';
    display: block;
    position: absolute;
    left: 4vw;
    bottom: -3.0555555556vw;
    width: 70vw;
    height: 2.7777777778vw;
    background-color: #875F31;
  }
  .gnav-item:nth-of-type(3) .gnav__title::after {
    content: '';
    display: block;
    position: absolute;
    left: 4vw;
    bottom: -3.0555555556vw;
    width: 70vw;
    height: 2.7777777778vw;
    background-color: #BA5147;
  }
  .gnav-item:nth-of-type(4) .gnav__title::after {
    content: '';
    display: block;
    position: absolute;
    left: 4vw;
    bottom: -3.0555555556vw;
    width: 70vw;
    height: 2.7777777778vw;
    background-color: #298473;
  }
  .gnav__head {
    font-family: "Courier Prime", monospace;
    font-weight: 700;
    font-style: normal;
    font-size: 6.1111111111vw;
    line-height: 1em;
  }
  .gnav__title {
    position: relative;
    font-family: "Zen Maru Gothic", serif;
    font-weight: 700;
    font-style: normal;
    margin-top: 1.6666666667vw;
    font-weight: bold;
    font-size: 5.8333333333vw;
    line-height: 1em;
    letter-spacing: 0.06em;
  }
  .gnav__title span {
    vertical-align: middle;
  }
  .gnav__title::before {
    content: '';
    display: inline-block;
    width: 2.7777777778vw;
    height: 2.5vw;
    vertical-align: middle;
    background-image: url(../images/arrow-white.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
    margin-right: .25em;
  }
}
@media (max-width: 768px) {
  .nav {
    flex-direction: column;
  }
  .nav-item {
    width: 100%;
    padding: 11.6666666667vw 0 12.5vw 18.0555555556vw;
  }
  .nav-item::after {
    width: 4.1666666667vw;
    height: 8.3333333333vw;
    right: 4.1666666667vw;
    top: calc(50% - 0.5 * 4.1666666667vw);
  }
  .nav-item--home::after {
    left: 4.1666666667vw;
  }
  .nav-item__title {
    font-size: 5vw;
  }
  .nav-item p {
    margin-top: 2.7777777778vw;
    font-size: 6.1111111111vw;
  }
}
.top-story {
  width: 100%;
  background-color: #FAF8EF;
  padding-top: 70px;
  padding-bottom: 70px;
}
.top-story__title {
  width: 768px;
  margin: 0 auto;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 28px;
  letter-spacing: 0.06em;
  line-height: 1em;
  color: #298473;
}
.top-story p {
  width: 768px;
  margin: 0 auto;
  margin-top: 40px;
}

@media (max-width: 768px) {
  .top-story {
    padding: 16vw 9vw 14vw;
  }
  .top-story__title {
    font-size: 6.1111111111vw;
    width: 100%;
    line-height: 1.4em;
  }
  .top-story p {
    width: 100%;
    margin-top: 6.9444444444vw;
  }
}
.h2 {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
  font-size: 36px;
}
.h2--jp {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 28px;
}

@media (max-width: 768px) {
  .h2 {
    font-size: 8.3333333333vw;
  }
  .h2--jp {
    font-size: 6.1111111111vw;
  }
}
.h3 {
  position: relative;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  color: #875F31;
  font-size: 22px;
  padding-left: .8em;
}
.h3::before {
  content: '';
  display: inline-block;
  width: 10px;
  height: 9px;
  background-image: url(../images/arrow-brown.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  left: 0;
  top: .65em;
}

.l2--sec1 .h3::before {
  background-image: url(../images/arrow-brown.svg);
}

.l2--sec2 .h3::before {
  background-image: url(../images/arrow-sec2.svg);
}

.l2--sec3 .h3::before {
  background-image: url(../images/arrow-sec1.svg);
}

@media (max-width: 768px) {
  .h3 {
    font-size: 5.5555555556vw;
  }
  .h3::before {
    width: 2.7777777778vw;
    height: 2.5vw;
  }
}
.txt {
  font-size: 15px;
  line-height: 28px;
}

@media (max-width: 768px) {
  .txt {
    font-size: 3.8888888889vw;
    line-height: 7.7777777778vw;
  }
}
.aside {
  width: 100%;
  background-color: #fff;
  margin-top: 45px;
  padding: 33px 33px 20px;
}
.aside-inner {
  display: flex;
  justify-content: space-between;
  align-items: start;
  margin-top: 20px;
}
.aside__title {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
  color: #281203;
  font-size: 24px;
  line-height: 1em;
  padding-bottom: .5em;
  border-bottom: 1px dotted #281203;
}
.aside__title span {
  vertical-align: middle;
}
.aside__txt {
  font-size: 15px;
  line-height: 28px;
  color: #281203;
}

@media (max-width: 768px) {
  .aside {
    margin-top: 9vw;
    padding: 8.0555555556vw;
  }
  .aside-inner {
    margin-top: 4.1666666667vw;
  }
  .aside__title {
    font-size: 6.6666666667vw;
    padding-bottom: .3em;
  }
  .aside__txt {
    font-size: 3.8888888889vw;
    line-height: 7.7777777778vw;
    margin-top: .75em;
  }
}
.prologue {
  padding-top: 68px;
}
.prologue .h2 {
  color: #9B6647;
}
.prologue__timeline {
  width: 90vw;
  display: block;
  margin-top: 33px;
  margin-left: calc(-45vw + 0.5 * 768px);
}
.prologue-container1 {
  display: flex;
}
.prologue-container1__txt {
  margin-top: 33px;
}
.prologue-inner1 {
  width: 446px;
}
.prologue-inner2 {
  position: relative;
  flex: 1;
}
.prologue__img1 {
  width: 100%;
}
.prologue-mystery {
  background-image: url(../images/prologue-2.jpg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  padding-bottom: 40px;
}
.prologue-mystery .aside__title {
  width: 55%;
}
.prologue-mystery .aside__txt {
  width: 55%;
}

@media (max-width: 768px) {
  .prologue {
    padding-top: 21vw;
  }
  .prologue .h3 {
    margin-top: 8vw;
  }
  .prologue__timeline {
    width: 26.9444444444vw;
    position: absolute;
    right: 0;
    top: 30vw;
    margin-left: 0;
    margin-top: 0;
  }
  .prologue-container1 {
    width: 65vw;
    flex-direction: column;
  }
  .prologue-container1__txt {
    margin-top: 5.5555555556vw;
  }
  .prologue-inner1 {
    width: 100%;
  }
  .prologue-inner2 {
    margin-top: 5vw;
    margin-left: 13vw;
    margin-right: -7vw;
  }
  .prologue__img1 {
    width: calc(100% + 10vw);
    margin-left: -5vw;
  }
  .prologue-mystery {
    padding-bottom: 65vw;
    background-position: left -19vw bottom 6vw;
    background-size: 120%;
  }
  .prologue-mystery .aside__title {
    width: 100%;
  }
  .prologue-mystery .aside__txt {
    width: 100%;
  }
}
.para {
  width: 100%;
  height: 256px;
  position: relative;
}
.para img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .para {
    height: 59.7222222222vw;
    overflow: hidden;
  }
  .para--1 img {
    width: 140%;
    object-position: 50% 50%;
    margin-left: -21vw;
  }
  .para--4 img {
    width: 116%;
    object-position: 50% 15%;
    margin-left: -7vw;
  }
}
.l2 {
  width: 100%;
  overflow: hidden;
}
.l2--sec1 {
  background-image: url(../images/bg-lyr2.jpg);
  background-attachment: fixed;
  background-size: 100vw;
  background-repeat: repeat-y;
}
.l2--sec2 {
  background-image: url(../images/bg-lyr2-2.jpg);
  background-attachment: fixed;
  background-size: 100vw;
  background-repeat: repeat-y;
}
.l2--sec2 .note {
  color: #A3524A;
}
.l2--sec3 {
  background-image: url(../images/bg-lyr2-3.jpg);
  background-attachment: fixed;
  background-size: 100vw;
  background-repeat: repeat-y;
}
.l2 main {
  width: 1126px;
  margin: 0 auto;
  background-color: #fff;
}
.l2 main .main-inner {
  padding-top: 40px;
  width: 768px;
  margin: 0 auto;
}

@media (max-width: 768px) {
  .l2 main {
    width: 83.3333333333vw;
    position: relative;
    padding-left: 5.5555555556vw;
    padding-right: 5.5555555556vw;
  }
  .l2 main .main-inner {
    padding-top: 9.1666666667vw;
    width: 100%;
  }
}
.first {
  padding-bottom: 45px;
}
.first h2, .first h3 {
  color: #875F31;
}
.first .h3 {
  margin-top: 45px;
}
.first .txt {
  margin-top: 1.5em;
}
.first-img-outer {
  position: relative;
}
.first-img-outer figcaption {
  position: absolute;
  bottom: -2em;
  right: -75px;
}
.first__img1 {
  display: block;
  margin-top: 45px;
  width: calc(100% + 75px * 2);
  margin-left: -75px;
}
.first__img2 {
  display: block;
  width: 100%;
}
.first__tl {
  width: 300px;
  margin: 5px auto 0;
  font-size: 15px;
  line-height: 28px;
  color: #271203;
}

@media (max-width: 768px) {
  .first {
    padding-bottom: 16.6666666667vw;
  }
  .first .h3 {
    margin-top: 7.7777777778vw;
  }
  .first-img-outer figcaption {
    position: relative;
    text-align: center;
    right: auto;
    bottom: auto;
  }
  .first__img1 {
    margin-top: 9.1666666667vw;
    width: calc(100% + 19.4444444444vw * 2);
    margin-left: -19.4444444444vw;
  }
  .first__img2 {
    margin-top: 4vw;
  }
  .first__tl {
    width: 100%;
    margin: 4.1666666667vw auto 0;
    font-size: 3.8888888889vw;
    line-height: 7.7777777778vw;
  }
}
.l2 main.p_lithic {
  background-color: #FAF8EF;
}

.p_lithic {
  padding-top: 10px;
  padding-bottom: 70px;
  background-image: url(../images/bg-p-litthic.png), url(../images/bg-p-litthic-2.png);
  background-repeat: no-repeat, no-repeat;
  background-position: top left, bottom right;
  background-size: 480px, 480px;
}
.p_lithic h2, .p_lithic h3 {
  color: #875F31;
}
.p_lithic .h3 {
  margin-top: 45px;
}
.p_lithic .txt {
  margin-top: 1.5em;
}
.p_lithic-img-outer {
  width: calc(100% + 2 * 75px);
  margin-left: -75px;
  margin-top: 65px;
  position: relative;
  display: flex;
  justify-content: space-between;
}
.p_lithic-img-outer figure:nth-of-type(1) {
  width: 170px;
}
.p_lithic-img-outer figure:nth-of-type(2) {
  width: 342px;
}
.p_lithic-img-outer figure:nth-of-type(3) {
  width: 342px;
}
.p_lithic-img-outer figure img {
  width: 100%;
  height: 239px;
  object-fit: cover;
}
.p_lithic-img-outer figure figcaption {
  margin-top: .15em;
  text-align: center;
  text-align: center;
  color: #271203;
}
.p_lithic__credit {
  margin-right: -75px;
  margin-top: 50px;
  text-align: right;
}

@media (max-width: 768px) {
  .p_lithic {
    padding-top: 8.3333333333vw;
    padding-bottom: 13.6111111111vw;
    background-size: 76.1111111111vw, 76.1111111111vw;
  }
  .p_lithic .h3 {
    margin-top: 9.1666666667vw;
  }
  .p_lithic-img-outer {
    width: 100%;
    margin-left: 0;
    margin-top: 9.7222222222vw;
    flex-direction: column;
    align-items: center;
  }
  .p_lithic-img-outer figure:nth-of-type(1) {
    width: 47.2222222222vw;
  }
  .p_lithic-img-outer figure:nth-of-type(1) figcaption {
    width: calc(100% + 10vw);
    margin-left: -5vw;
  }
  .p_lithic-img-outer figure:nth-of-type(2) {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .p_lithic-img-outer figure:nth-of-type(3) {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .p_lithic-img-outer figure img {
    height: auto;
  }
  .p_lithic__credit {
    margin-right: 0;
    margin-top: 11.1111111111vw !important;
  }
}
.life {
  padding-top: 60px;
  padding-bottom: 80px;
}
.life h2, .life h3 {
  color: #875F31;
}
.life .h3 {
  margin-top: 45px;
}
.life .txt {
  margin-top: 1em;
}
.life-aside {
  background-color: #FAF8EF;
}
.life-aside__keyword {
  width: 160px;
  display: flex;
  align-items: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 40px;
  letter-spacing: 0.06em;
  color: #875f31;
  position: relative;
}
.life-aside__keyword::before {
  content: '';
  display: inline-block;
  width: 36px;
  height: 50px;
  background-image: url(../images/ico-finger.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  margin-right: .2em;
}
.life-aside .aside__txt {
  flex: 1;
}
.life-inner1 {
  display: flex;
  justify-content: space-between;
}
.life-inner1 .h3 {
  margin-top: 25px;
}
.life-inner1-container1 {
  width: 396px;
}
.life-inner1-container2 {
  width: 342px;
  position: relative;
  padding-top: 30px;
}
.life-inner1-container2 img {
  width: 100%;
  display: block;
}
.life-inner2 {
  display: flex;
  justify-content: space-between;
  margin-top: 74px;
}
.life-inner2 .h3 {
  margin-top: 0 !important;
}
.life-inner2-container1 {
  width: 344px;
  position: relative;
}
.life-inner2-container1 img {
  display: block;
  width: 100%;
}
.life-inner2-container1 figcaption {
  margin-top: 1em;
  font-size: 13px;
  line-height: 24px;
  color: #271203;
  text-align: left;
}
.life-inner2-container2 {
  width: 395px;
}
.life-slide {
  position: relative;
  margin-top: 43px;
  width: calc(3 * 850px);
  margin-left: calc(-850px - 0.5 * (850px - 768px));
}
.life-slide-item {
  display: flex !important;
  width: 850px !important;
  padding: 0 calc(0.5 * (850px - 768px));
}
.life-slide-item img {
  display: block;
  width: 437px;
  height: 377px;
  object-fit: cover;
}
.life-slide-item-inner {
  flex: 1;
  background-color: #A99070;
  color: #fff;
  padding: 26px 31px;
}
.life-slide-item-inner p {
  margin-top: 1em;
  font-size: 14px;
  line-height: 24px;
}
.life-slide-item__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 20px;
}
.life-slide .slick-prev, .life-slide .slick-next {
  width: 15px;
  height: 30px;
  z-index: 10;
}
.life-slide .slick-prev::before, .life-slide .slick-next::before {
  content: '';
  font-family: initial;
  display: inline-block;
  width: 15px;
  height: 30px;
}
.life-slide .slick-prev {
  left: calc(50% - 0.5 * 850px - 8px);
}
.life-slide .slick-next {
  right: calc(50% - 0.5 * 850px - 8px);
}
.life-slide .slick-prev::before {
  background-image: url(../images/arrow-slide-prev.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.life-slide .slick-next::before {
  background-image: url(../images/arrow-slide-next.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.life-inner4 {
  margin-top: 130px;
}
.life-inner4-item {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
.life-inner4-item--1 .life-inner4-inner1 {
  width: 397px;
}
.life-inner4-item--1 .life-inner4-inner2 {
  width: 342px;
}
.life-inner4-item--2 .life-inner4-inner1 {
  width: 489px;
}
.life-inner4-item--2 .life-inner4-inner2 {
  width: 250px;
}
.life-inner4-inner2 {
  position: relative;
}
.life-inner4-inner2 img {
  display: block;
  width: 100%;
}
.life-inner4-inner2 figcaption {
  margin-top: .5em;
  font-size: 13px;
  line-height: 24px;
  color: #271203;
}
.life-inner4__q {
  position: relative;
  padding-left: 60px;
  margin-top: 0 !important;
  font-size: 20px;
}
.life-inner4__q::before {
  content: '';
  display: inline-block;
  width: 39px;
  height: 41px;
  background-image: url(../images/ico-q.svg) !important;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  left: 0;
  top: 0;
}
.life-inner4__a {
  padding-left: 60px;
  margin-top: .25em;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  text-decoration: underline;
  font-size: 20px;
  letter-spacing: 0.06em;
  color: #875f31;
}
.life-inner4-inner2 figcaption {
  text-align: left;
}
.life__timeline {
  display: block;
  width: 100%;
  margin-top: 50px;
}
.life__tl_caption {
  margin-top: .25em;
  text-align: right;
  font-size: 15px;
  line-height: 1em;
  color: #271203;
}

@media (max-width: 768px) {
  .life {
    padding-top: 13.6111111111vw;
    padding-bottom: 13.6111111111vw;
  }
  .life .h3 {
    margin-top: 9.1666666667vw;
  }
  .life-aside__keyword {
    width: 100%;
    font-size: 11.1111111111vw;
  }
  .life-aside__keyword::before {
    width: 10vw;
    height: 13.8888888889vw;
  }
  .life-aside .aside-inner {
    flex-direction: column;
  }
  .life-inner1 {
    flex-direction: column;
  }
  .life-inner1-container1 {
    width: 100%;
  }
  .life-inner1-container2 {
    width: 100%;
    margin-top: 8.3333333333vw;
    padding-top: 0;
  }
  .life-inner2 {
    margin-top: 20.5555555556vw;
    flex-direction: column-reverse;
  }
  .life-inner2-container1 {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .life-inner2-container2 {
    width: 100%;
  }
  .life-slide {
    margin-top: 11.9444444444vw;
    width: 100vw;
    margin-left: calc(0.5 * (100% - 100vw));
  }
  .life-slide-item {
    flex-direction: column;
    width: 100vw !important;
    padding: 0;
    background-color: #fff;
  }
  .life-slide-item img {
    width: 100%;
    height: 85vw;
    object-fit: cover;
    padding: 6vw;
  }
  .life-slide-item-inner {
    padding: 7.2222222222vw 13vw;
    min-height: 73.6111111111vw;
  }
  .life-slide-item-inner p {
    font-size: 3.8888888889vw;
    line-height: 6.6666666667vw;
  }
  .life-slide-item__title {
    font-size: 5vw;
  }
  .life-slide .slick-prev, .life-slide .slick-next {
    width: 4.1666666667vw;
    height: 8.3333333333vw;
  }
  .life-slide .slick-prev::before, .life-slide .slick-next::before {
    width: 4.1666666667vw;
    height: 8.3333333333vw;
  }
  .life-slide .slick-prev {
    left: 2vw;
    top: 45vw;
  }
  .life-slide .slick-next {
    right: 2vw;
    top: 45vw;
  }
  .life-inner4 {
    margin-top: 18.0555555556vw;
  }
  .life-inner4-item {
    margin-top: 11.1111111111vw;
    flex-direction: column;
  }
  .life-inner4-item--1 .life-inner4-inner1 {
    width: 100%;
  }
  .life-inner4-item--1 .life-inner4-inner2 {
    width: 100%;
  }
  .life-inner4-item--2 .life-inner4-inner1 {
    width: 100%;
  }
  .life-inner4-item--2 .life-inner4-inner2 {
    width: 100%;
  }
  .life-inner4-inner2 {
    margin-top: 7vw;
  }
  .life-inner4-inner2 figcaption {
    font-size: 3.6111111111vw;
    line-height: 6.6666666667vw;
  }
  .life-inner4__q {
    padding-left: 16.6666666667vw;
    font-size: 4.4444444444vw;
  }
  .life-inner4__q::before {
    width: 10.8333333333vw;
    height: 11.3888888889vw;
  }
  .life-inner4__a {
    padding-left: 16.6666666667vw;
    font-size: 5.5555555556vw;
  }
  .life__timeline {
    width: 100vw;
    margin-left: calc(0.5 * (100% - 100vw));
    margin-top: 13.8888888889vw;
  }
  .life__tl_caption {
    font-size: 3.6111111111vw;
    line-height: 6.6666666667vw;
    text-align: center;
    margin-top: 1em;
  }
}
.arch {
  padding-bottom: 45px;
}
.arch h2, .arch h3 {
  color: #BA5147;
}
.arch .h3 {
  margin-top: 45px;
}
.arch .txt {
  margin-top: 1.5em;
}
.arch .col2 {
  margin-top: 80px;
}
.arch__rubi1, .arch__rubi2 {
  font-size: 11px;
  position: absolute;
  left: 19px;
  top: -1.1em;
}
.arch-fig-outer {
  display: flex;
  justify-content: space-between;
  margin: 40px auto 0;
  width: 530px;
}
.arch-fig-outer figure {
  position: relative;
}
.arch-fig-outer figure:nth-of-type(1) {
  width: 170px;
}
.arch-fig-outer figure:nth-of-type(2) {
  width: 342px;
}
.arch-fig-outer figure img {
  display: block;
  width: 100%;
}
.arch__title {
  margin-top: 60px;
}
.arch__title:first-of-type {
  margin-top: 20px;
}
.arch__title--1 {
  margin-top: 60px !important;
}
.arch-nazo {
  width: 1126px;
  margin: 0 auto;
  background-color: #FAF8EF;
  padding-top: 15px;
  padding-bottom: 49px;
  background-image: url(../images/bg-p-litthic.png), url(../images/bg-p-litthic-2.png);
  background-repeat: no-repeat, no-repeat;
  background-position: top left, bottom right;
  background-size: 480px, 480px;
}
.arch-nazo__title {
  color: #BA5147;
}
.arch-nazo__title::before {
  content: '';
  display: inline-block;
  margin-top: 8px;
  margin-right: 25px;
  width: 92px;
  height: 97px;
  background-image: url(../images/ico-nazo.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  vertical-align: middle;
}
.arch-nazo__title span {
  vertical-align: middle;
}
.arch-nazo-container {
  width: 768px;
  margin: 0 auto;
}
.arch-nazo-inner {
  margin-top: 12px;
  display: flex;
  justify-content: space-between;
}
.arch-nazo-inner figure {
  position: relative;
  width: 228px;
}
.arch-nazo-inner figure img {
  display: block;
  width: 100%;
}
.arch-nazo-inner figure figcaption {
  font-size: 13px;
}
.arch-nazo__txt {
  width: 505px;
}
.arch-nazo .note {
  margin-top: 40px !important;
}
.arch-nazo--2 .arch-nazo__txt {
  width: 400px;
}
.arch-nazo--2 figure {
  width: 342px;
}
.arch-nazo-detail {
  border-top: 1px dotted #BA5147;
  margin-top: 1.5em;
  padding-top: 1em;
  padding-left: 1.35em;
}
.arch-nazo-detail li {
  font-size: 15px;
  line-height: 28px;
  text-indent: -.75em;
}
.arch-nazo-detail li:nth-of-type(n + 2) {
  margin-top: .5em;
}
.arch-nazo-detail li::before {
  content: '●';
  display: inline-block;
  color: #BA5147;
  margin-right: .5em;
}
.arch .aside {
  background-color: #FAF8EF;
}
.arch .aside .aside__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  color: #BA5147;
}
.arch .aside .aside__title::before {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 37px;
  height: 39px;
  background-image: url(../images/ico-search.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  vertical-align: middle;
}
.arch .aside__txt {
  flex: 1;
}
.arch-aside__keyword {
  width: 190px;
  display: flex;
  align-items: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 40px;
  letter-spacing: 0.06em;
  color: #875f31;
  position: relative;
  align-items: end;
  position: relative;
}
.arch-aside__keyword span.arch-aside__ref {
  font-size: 13px;
  padding-bottom: .5em;
  padding-left: .1em;
}
.arch-aside__keyword span.arch-aside__rubi {
  font-size: 11px;
  position: absolute;
  left: 28px;
  top: -.5em;
  line-height: 1em;
}
.arch-aside3__img {
  position: relative;
  width: 319px;
}
.arch-aside3__img img {
  width: 100%;
}
.arch-aside3-txt-outer {
  width: 355px;
}
.arch-aside3__copy {
  font-size: 20px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  color: #BA5147;
}
.arch-aside4 .arch-aside__keyword {
  width: 280px;
  position: relative;
}
.arch-aside4 .arch-aside__keyword span {
  font-size: 11px;
  position: absolute;
  left: 30px;
  top: 4.8em;
}
.arch-aside5 .arch-aside__keyword {
  width: 200px;
}
.arch-aside7 .aside-inner {
  flex-direction: column;
}
.arch-aside7 .arch-aside__keyword {
  width: 100%;
}
.arch-aside7 .aside__txt {
  margin-top: 1em;
}
.arch__copy {
  color: #BA5147;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.06em;
  margin-top: .75em;
}

@media (max-width: 768px) {
  .arch {
    padding-bottom: 16.6666666667vw;
  }
  .arch .h3 {
    margin-top: 9.1666666667vw;
  }
  .arch .col2 {
    margin-top: 11.1111111111vw;
  }
  .arch__rubi1, .arch__rubi2 {
    font-size: 3.0555555556vw;
    left: 5.2777777778vw;
  }
  .arch-fig-outer {
    flex-direction: column;
    align-items: center;
    margin: 11.1111111111vw auto 0;
    width: 100%;
  }
  .arch-fig-outer figure:nth-of-type(1) {
    width: 47.2222222222vw;
  }
  .arch-fig-outer figure:nth-of-type(2) {
    width: 100%;
    margin-top: 7vw;
  }
  .arch__title {
    margin-top: 13.8888888889vw;
  }
  .arch__title:first-of-type {
    margin-top: 5.5555555556vw;
  }
  .arch__title--1 {
    margin-top: 13.8888888889vw !important;
  }
  .arch-nazo {
    width: 83.3333333333vw;
    padding-top: 13.6111111111vw;
    padding-bottom: 13.6111111111vw;
  }
  .arch-nazo__title {
    position: relative;
    padding-left: 22vw;
  }
  .arch-nazo__title::before {
    width: 18.3333333333vw;
    height: 19.4444444444vw;
    position: absolute;
    left: 0;
    top: 2vw;
    margin: 0;
  }
  .arch-nazo-container {
    width: 100%;
    padding-left: 5.5555555556vw;
    padding-right: 5.5555555556vw;
  }
  .arch-nazo-inner {
    flex-direction: column-reverse;
    margin-top: 5.5555555556vw;
  }
  .arch-nazo-inner figure {
    margin: 7vw auto 0;
    width: 63.3333333333vw;
  }
  .arch-nazo__txt {
    width: 100%;
  }
  .arch-nazo .note {
    margin-top: 11.1111111111vw !important;
  }
  .arch-nazo--2 .arch-nazo__txt {
    width: 100%;
  }
  .arch-nazo--2 figure {
    width: 100%;
  }
  .arch-nazo--2 .arch-nazo-inner {
    flex-direction: column;
  }
  .arch-nazo-detail li {
    font-size: 4.1666666667vw;
    line-height: 7.7777777778vw;
  }
  .arch .aside .aside__title::before {
    margin-right: 2.7777777778vw;
    width: 10.2777777778vw;
    height: 10.8333333333vw;
  }
  .arch .aside-inner {
    flex-direction: column;
  }
  .arch .aside__txt {
    margin-top: 3vw;
  }
  .arch-aside__keyword {
    width: 100%;
    font-size: 11.1111111111vw;
  }
  .arch-aside__keyword span.arch-aside__ref {
    font-size: 3.6111111111vw;
  }
  .arch-aside__keyword span.arch-aside__rubi {
    font-size: 3.0555555556vw;
    left: 7.7777777778vw;
  }
  .arch-aside3 .aside-inner {
    flex-direction: column-reverse;
  }
  .arch-aside3__img {
    width: 100%;
    margin-top: 5vw;
  }
  .arch-aside3-txt-outer {
    width: 100%;
  }
  .arch-aside3__copy {
    font-size: 5.5555555556vw;
  }
  .arch-aside4 .arch-aside__keyword {
    font-size: 8vw;
    width: 100%;
  }
  .arch-aside4 .arch-aside__keyword span {
    font-size: 3.0555555556vw;
    left: 4vw;
    top: 9vw;
  }
  .arch-aside5 .arch-aside__keyword, .arch-aside6 .arch-aside__keyword, .arch-aside7 .arch-aside__keyword {
    font-size: 8vw;
    width: 100%;
  }
  .arch__copy {
    font-size: 4.4444444444vw;
  }
}
.note {
  margin-top: 15px;
  font-size: 13px;
  line-height: 25px;
  display: flex;
  justify-content: space-between;
}
.note span {
  width: 60px;
}
.note p {
  flex: 1;
}

@media (max-width: 768px) {
  .note {
    margin-top: 5.5555555556vw;
    font-size: 3.6111111111vw;
    line-height: 6.6666666667vw;
  }
  .note span {
    width: 17.2222222222vw;
  }
}
.col2 {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}
.col2 .h3 {
  margin-top: 0 !important;
}
.col2 > * {
  position: relative;
}
.col2 img {
  max-width: 100%;
}
.col2--4x3 > *:nth-child(1) {
  width: calc(-20px + 100% * 4 / (4 + 3));
}
.col2--4x3 > *:nth-child(2) {
  width: calc(-20px + 100% * 3 / (4 + 3));
}
.col2--8x7 > *:nth-child(1) {
  width: calc(-20px + 100% * 8 / (8 + 7));
}
.col2--8x7 > *:nth-child(2) {
  width: calc(-20px + 100% * 7 / (8 + 7));
}
.col2--3x1 > *:nth-child(1) {
  width: calc(-20px + 100% * 3 / (3 + 1));
}
.col2--3x1 > *:nth-child(2) {
  width: calc(-20px + 100% * 1 / (3 + 1));
}
.col2--wide_title .h3 {
  width: 200%;
}
.col2--wide_title > *:nth-child(2) {
  margin-top: 55px;
}

@media (max-width: 768px) {
  .col2 {
    flex-direction: column;
    margin-top: 11.1111111111vw;
  }
  .col2 figure {
    margin-top: 10vw;
  }
  .col2--4x3 > *:nth-child(1) {
    width: 100%;
  }
  .col2--4x3 > *:nth-child(2) {
    width: 100%;
  }
  .col2--8x7 > *:nth-child(1) {
    width: 100%;
  }
  .col2--8x7 > *:nth-child(2) {
    width: 100%;
  }
  .col2--3x1 > *:nth-child(1) {
    width: 100%;
  }
  .col2--3x1 > *:nth-child(2) {
    width: 100%;
  }
  .col2--wide_title .h3 {
    width: 100%;
  }
  .col2--wide_title > *:nth-child(2) {
    margin-top: 15.2777777778vw;
  }
}
.column {
  padding-top: 20px;
}
.column.arch-column .column__title {
  border-bottom: 1px dotted #BA5147;
}
.column.arch-column .column__title::before {
  background-color: #BA5147;
}
.column.arch-column .column__title::after {
  background-image: url(../images/ico-column-1.svg);
}
.column.sekki-column .column__title {
  border-bottom: 1px dotted #298473;
}
.column.sekki-column .column__title::before {
  background-color: #298473;
}
.column.sekki-column .column__title::after {
  background-image: url(../images/ico-column-2.svg);
}
.column__title {
  position: relative;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-weight: bold;
  font-size: 28px;
  line-height: 1em;
  letter-spacing: 0.06em;
  padding-left: 65px;
  padding-bottom: 25px;
}
.column__title::before {
  content: '';
  display: block;
  width: 100%;
  height: 8px;
  margin-bottom: 40px;
}
.column__title::after {
  content: '';
  display: block;
  width: 187px;
  height: 59px;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left top;
  position: absolute;
  left: 0;
  top: -23px;
}
.column__txt {
  margin-top: 30px;
}
.column-fig {
  margin-top: 30px;
  width: 568px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: space-between;
}
.column-fig figure {
  position: relative;
}
.column-fig figure:nth-of-type(1) {
  width: 272px;
}
.column-fig figure:nth-of-type(2) {
  width: 272px;
}
.column-fig figure img {
  max-width: 100%;
}
.column-fig figcaption {
  color: #BA5147;
}

@media (max-width: 768px) {
  .column {
    padding-top: 5.5555555556vw;
  }
  .column__title {
    font-size: 5vw;
    padding-left: 3vw;
    padding-bottom: 2.7777777778vw;
  }
  .column__title::before {
    height: 1.9444444444vw;
    margin-bottom: 11.1111111111vw;
  }
  .column__title::after {
    width: 47.2222222222vw;
    height: 14.7222222222vw;
    top: -5.8333333333vw;
  }
  .column-fig {
    margin-top: 30px;
    width: 100%;
    flex-direction: column;
  }
  .column-fig figure:nth-of-type(1) {
    width: 100%;
  }
  .column-fig figure:nth-of-type(2) {
    width: 100%;
    margin-top: 5vw;
  }
}
.discovery {
  padding-bottom: 45px;
}
.discovery h2, .discovery h3 {
  color: #298473;
}
.discovery .h3 {
  margin-top: 45px;
}
.discovery .txt {
  margin-top: 1em;
}
.discovery-fig1 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
}
.discovery-fig1 > *:nth-child(1) {
  width: 310px;
}
.discovery-fig1 > *:nth-child(2) {
  width: 204px;
}
.discovery-fig1 > *:nth-child(3) {
  width: 225px;
}
.discovery-fig1 img {
  display: block;
  max-width: 100%;
}
.discovery-fig1-1 img:nth-of-type(2) {
  margin-top: 15px;
}
.discovery-txt1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.discovery-txt1__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  color: #298473;
  font-size: 16px;
  line-height: 24px;
}
.discovery-txt1 p {
  margin-top: 15px;
}
.discovery-fig2 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
}
.discovery-fig2 img {
  max-width: 100%;
  display: block;
}
.discovery-fig2-1 {
  width: 290px;
}
.discovery-fig2-2 {
  width: 470px;
}
.discovery-fig3 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
}
.discovery-fig3 img {
  max-width: 100%;
  display: block;
}
.discovery-fig3-1 {
  display: flex;
  flex-wrap: wrap;
}
.discovery-fig3-1 img {
  display: block;
  width: 246px;
}
.discovery-fig3-1 img:nth-of-type(3n + 2), .discovery-fig3-1 img:nth-of-type(3n + 3) {
  margin-left: 14px;
}
.discovery-fig3-1 img:nth-of-type(n + 4) {
  margin-top: 15px;
}
.discovery-fig3-2 {
  margin-top: 15px;
}
.discovery .aside {
  background-color: #FAF8EF;
}
.discovery .aside .aside__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  color: #298473;
}
.discovery .aside .aside__title::before {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 37px;
  height: 39px;
  background-image: url(../images/ico-search.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  vertical-align: middle;
}
.discovery-fig4 {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin-top: 40px;
}
.discovery-fig4 .discovery-txt1__title {
  margin-top: 15px;
}
.discovery-fig4 img {
  max-width: 100%;
  display: block;
}
.discovery-fig4-1 {
  width: 376px;
}
.discovery-fig4-2 {
  width: 376px;
}

@media (max-width: 768px) {
  .discovery {
    padding-bottom: 16.6666666667vw;
  }
  .discovery .h3 {
    margin-top: 9.1666666667vw;
  }
  .discovery-fig1 {
    margin-top: 8.3333333333vw;
    flex-direction: column;
  }
  .discovery-fig1 > *:nth-child(1) {
    width: 100%;
  }
  .discovery-fig1 > *:nth-child(2) {
    width: 80%;
    margin: 5vw auto;
  }
  .discovery-fig1 > *:nth-child(3) {
    width: 100%;
  }
  .discovery-fig1-1 img:nth-of-type(2) {
    margin-top: 8.3333333333vw;
  }
  .discovery-txt1 {
    align-items: start;
  }
  .discovery-txt1__title {
    font-size: 4.4444444444vw;
    line-height: 6.6666666667vw;
    text-align: left;
  }
  .discovery-txt1 p {
    margin-top: 4.1666666667vw;
  }
  .discovery-fig2 {
    flex-direction: column-reverse;
    margin-top: 11.1111111111vw;
  }
  .discovery-fig2-1 {
    width: 100%;
    margin-top: 3vw;
  }
  .discovery-fig2-2 {
    width: 100%;
  }
  .discovery-fig3 {
    margin-top: 8.3333333333vw;
  }
  .discovery-fig3-1 {
    flex-wrap: wrap;
  }
  .discovery-fig3-1 img {
    width: 120px;
  }
  .discovery-fig3-1 img:nth-of-type(3n + 2), .discovery-fig3-1 img:nth-of-type(3n + 3) {
    margin-left: 0;
  }
  .discovery-fig3-1 img:nth-of-type(n + 4) {
    margin-top: 0;
  }
  .discovery-fig3-1 img:nth-of-type(n + 3) {
    margin-top: 3vw;
  }
  .discovery-fig3-1 img:nth-of-type(2n + 2) {
    margin-left: 4vw;
  }
  .discovery-fig3-2 {
    margin-top: 4.1666666667vw;
  }
  .discovery .aside .aside__title {
    position: relative;
    padding-left: 13vw;
  }
  .discovery .aside .aside__title::before {
    position: absolute;
    margin-right: 0;
    left: 0;
    top: 0;
    width: 10.2777777778vw;
    height: 10.8333333333vw;
  }
  .discovery-fig4 {
    margin-top: 11.1111111111vw;
    flex-direction: column;
  }
  .discovery-fig4 .discovery-txt1__title {
    margin-top: 4.1666666667vw;
  }
  .discovery-fig4 .txt {
    margin-top: .25em;
  }
  .discovery-fig4-1 {
    width: 100%;
  }
  .discovery-fig4-2 {
    margin-top: 6vw;
    width: 100%;
  }
}
.how {
  padding-bottom: 45px;
}
.how h2, .how h3 {
  color: #298473;
}
.how .h3 {
  margin-top: 45px;
}
.how .txt {
  margin-top: 1em;
}
.how-controversy {
  margin-top: 40px;
}
.how-controversy__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  position: relative;
  z-index: 2;
  background-color: #298473;
  color: #fff;
  display: inline-block;
  font-size: 18px;
  line-height: 1em;
  padding: .75em 2em;
  border-radius: 3em;
}
.how-controversy-inner {
  z-index: 1;
  background-color: #FAF8EF;
  padding: 60px 30px 30px;
  margin-top: -20px;
}
.how-controversy-inner img {
  max-width: 100%;
}
.how-controversy-inner figcaption {
  font-size: 13px;
  margin-top: 15px;
  text-align: right;
}
.how-controversy-detail {
  border-top: 1px dotted #298473;
  margin-top: 1.5em;
  padding-top: 1em;
  padding-left: 1.35em;
}
.how-controversy-detail li {
  font-size: 15px;
  line-height: 28px;
  text-indent: -.75em;
}
.how-controversy-detail li:nth-of-type(n + 2) {
  margin-top: .5em;
}
.how-controversy-detail li::before {
  content: '●';
  display: inline-block;
  color: #298473;
  margin-right: .5em;
}
.how-controversy__note {
  text-align: right;
  color: #298473;
  margin-top: 15px;
  font-size: 15px;
  line-height: 1em;
  padding-bottom: 1em;
}
.how-1 .note {
  color: #298473;
}
.how-1 .note span {
  font-size: 13px !important;
  width: 85px;
}
.how-1 .note p {
  font-size: 13px !important;
}
.how-1 .note .txt {
  margin-top: 0 !important;
}
.how-1 figcaption {
  font-size: 13px;
}
.how-shape {
  margin-top: 30px;
}
.how-shape__img {
  display: block;
  width: 100%;
}
.how-shape-inner {
  margin-top: 30px;
  display: flex;
  justify-content: space-between;
}
.how-shape-inner > div {
  position: relative;
  width: 184px;
}
.how-shape-inner > div img {
  display: block;
  max-width: 100%;
}
.how-shape-inner > div p {
  font-size: 13px;
  margin-top: 10px;
}
.how-shape-inner > div p span {
  color: #298473;
}
.how-shape__note {
  margin-top: 10px;
  font-size: 13px;
  text-align: right;
}

@media (max-width: 768px) {
  .how {
    padding-bottom: 12.5vw;
  }
  .how .h3 {
    margin-top: 9.1666666667vw;
  }
  .how-controversy {
    margin-top: 11.1111111111vw;
    width: calc(100% + 2 * 5.5555555556vw);
    margin-left: -5.5555555556vw;
  }
  .how-controversy__title {
    font-size: 4.1666666667vw;
    padding: .5em 2.5em;
    margin-left: 8vw;
  }
  .how-controversy-inner {
    padding: 11.1111111111vw 8.3333333333vw 8.3333333333vw;
    margin-top: -4.1666666667vw;
  }
  .how-controversy-inner figcaption {
    font-size: 3.6111111111vw;
    margin-top: 4.1666666667vw;
    text-align: left;
  }
  .how-controversy-detail li {
    font-size: 4.1666666667vw;
    line-height: 7.7777777778vw;
  }
  .how-controversy__note {
    margin-top: 4.1666666667vw;
    font-size: 4.1666666667vw;
  }
  .how-shape {
    margin-top: 8.3333333333vw;
  }
  .how-shape__img {
    width: 100vw;
    margin-left: calc(0.5 * (100% - 100vw));
  }
  .how-shape-inner {
    flex-direction: column;
    margin-top: 8.3333333333vw;
  }
  .how-shape-inner > div {
    width: 100%;
  }
  .how-shape-inner > div:nth-of-type(n + 2) {
    margin-top: 7vw;
  }
  .how-shape-inner > div p {
    font-size: 3.6111111111vw;
    margin-top: 2.7777777778vw;
  }
  .how-shape__note {
    margin-top: 13.8888888889vw;
    font-size: 3.6111111111vw;
  }
}
.sekki {
  padding-bottom: 145px;
}
.sekki h2, .sekki h3 {
  color: #298473;
}
.sekki .h2 {
  margin-top: 100px;
}
.sekki .h2:first-of-type {
  margin-top: 60px;
}
.sekki .h3 {
  margin-top: 45px;
}
.sekki .txt {
  margin-top: 1em;
}
.sekki__copy {
  color: #298473;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  font-size: 16px;
  letter-spacing: 0.06em;
  margin-top: .75em;
}
.sekki-1 figcaption {
  font-size: 13px;
  text-align: right;
}
.sekki .aside {
  background-color: #FAF8EF;
}
.sekki .aside .aside__title {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  color: #298473;
}
.sekki .aside .aside__title::before {
  content: '';
  display: inline-block;
  margin-right: 10px;
  width: 37px;
  height: 39px;
  background-image: url(../images/ico-note.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  vertical-align: middle;
}
.sekki-2-container {
  display: flex;
  justify-content: space-between;
  margin-top: 20px;
}
.sekki-2-1 figure, .sekki-2-2 figure {
  position: relative;
}
.sekki-2-1 figure img, .sekki-2-2 figure img {
  display: block;
  max-width: 100%;
}
.sekki-2-1 figure figcaption, .sekki-2-2 figure figcaption {
  margin-top: 1em;
  text-align: left;
}
.sekki-2-1 {
  width: 448px;
}
.sekki-2-2 {
  width: 301px;
}
.sekki-2__title {
  background-color: #298473;
  color: #fff;
  font-size: 18px;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
  font-style: normal;
  padding: .5em 2em;
  border-radius: 3em;
  display: inline-block;
}
.sekki-2__credit {
  font-size: 13px;
  text-align: right;
  margin-top: .5em;
}
.sekki-2__note {
  margin-top: .5em;
  color: #298473;
  font-size: 13px;
}
.sekki-3 {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
.sekki-3-1 {
  width: 545px;
}
.sekki-3-1 img {
  max-width: 100%;
}
.sekki-3-1 figcaption {
  font-size: 13px;
  text-align: left;
}
.sekki-3-2 {
  width: 198px;
}
.sekki-3-2 .txt {
  margin-top: 0;
}
.sekki-3__note {
  margin-top: 2em;
  font-size: 13px;
  line-height: 1.5em;
  color: #298473;
}
.sekki .sekki-4-aside .aside__title {
  font-family: "Courier Prime", monospace;
  font-weight: 700;
  font-style: normal;
  color: #271203;
}
.sekki .sekki-4-aside .aside__title::before {
  display: none;
}
.sekki .sekki-4-aside .aside__txt {
  position: relative;
  padding-left: 50px;
}
.sekki .sekki-4-aside .aside__txt::before {
  content: '';
  display: inline-block;
  width: 36px;
  height: 50px;
  background-image: url(../images/ico-finger.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  left: 0;
  top: 0;
}
.sekki .sekki-4-aside .aside__txt .h3 {
  padding-left: 0;
}
.sekki .sekki-4-aside .aside__txt .h3::before {
  display: none;
}
.sekki-5 {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
.sekki-5 figure {
  width: 333px;
  position: relative;
}
.sekki-5 figure img {
  display: block;
  max-width: 100%;
}
.sekki-5 figure figcaption {
  color: #298473;
}
.sekki-5__credit {
  font-size: 13px;
  line-height: 1em;
  margin-top: 1em;
}
.sekki-5-inner {
  width: 405px;
}
.sekki-5-inner .h3 {
  margin-top: 0;
}
.sekki-6 {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
}
.sekki-6 figure {
  position: relative;
  width: 376px;
}
.sekki-6 figure img {
  display: block;
  max-width: 100%;
}
.sekki-6 figure figcaption {
  color: #298473;
  text-align: left;
}
.sekki-6 figure .txt {
  font-size: 13px;
}
.sekki-column {
  margin-top: 60px;
  padding-top: 20px;
}
.sekki-column-1 {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
.sekki-column-1-1 {
  width: 334px;
  position: relative;
}
.sekki-column-1-1 .h3 {
  margin-top: 0;
}
.sekki-column-1-1::after {
  content: '';
  display: inline-block;
  width: 39px;
  height: 37px;
  background-image: url(../images/arrow-green.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  position: absolute;
  top: calc(50% - 19px);
  right: -60px;
}
.sekki-column-1-2 {
  width: 341px;
  background-color: #DCF2EA;
  padding: 30px;
}
.sekki-column-1 ul {
  margin-top: 20px;
  padding-left: 1.5em;
}
.sekki-column-1 ul li {
  text-indent: -.75em;
  font-size: 15px;
  line-height: 1.5em;
}
.sekki-column-1 ul li::before {
  content: '●';
  display: inline-block;
  color: #298473;
  margin-right: .5em;
}
.sekki-column-2 {
  margin-top: 45px;
  display: flex;
  justify-content: space-between;
}
.sekki-column-2-1 {
  width: 364px;
}
.sekki-column-2-1 .h3 {
  margin-top: 0;
}
.sekki-column-2-2 {
  width: 376px;
  position: relative;
}
.sekki-column-2-2 img {
  display: block;
  max-width: 100%;
}
.sekki-column-2-2 figcaption {
  color: #298473;
}
.sekki-column-song {
  margin-top: 28px;
  background-color: #F7FCE8;
  padding: 15px 30px;
}
.sekki-column-song span {
  font-size: 15px;
  line-height: 1em;
  color: #298473;
}
.sekki-column-song p {
  margin-top: 1em;
  font-size: 13px;
  line-height: 1.75em;
}
.sekki-column-3 {
  margin-top: 45px;
  display: flex;
  justify-content: space-between;
}
.sekki-column-3-1 {
  width: 442px;
}
.sekki-column-3-1 .h3 {
  margin-top: 0;
}
.sekki-column-3-2 {
  width: 299px;
  position: relative;
}
.sekki-column-3-2 img {
  display: block;
  max-width: 100%;
}
.sekki-column-3-2 figcaption {
  text-align: left;
  color: #298473;
}
.sekki-column__credit {
  font-size: 13px;
  line-height: 1em;
  margin-top: 1em;
}

@media (max-width: 768px) {
  .sekki {
    padding-bottom: 27.7777777778vw;
  }
  .sekki .h2 {
    margin-top: 2.7777777778vw;
    margin-top: 0;
  }
  .sekki .h3 {
    margin-top: 9.1666666667vw;
  }
  .sekki__copy {
    font-size: 3.8888888889vw;
  }
  .sekki-1 figcaption {
    font-size: 3.6111111111vw;
  }
  .sekki-2 {
    padding-bottom: 15vw;
  }
  .sekki-2-container {
    flex-direction: column;
    margin-top: 5.5555555556vw;
  }
  .sekki-2-1 figure, .sekki-2-2 figure {
    margin-top: 4.1666666667vw;
  }
  .sekki-2-1 {
    width: 100%;
  }
  .sekki-2-2 {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .sekki-2__title {
    font-size: 4.4444444444vw;
    padding: .25em 2.5em;
  }
  .sekki-2__credit {
    font-size: 3.6111111111vw;
  }
  .sekki-2__note {
    margin-top: 11.1111111111vw;
    font-size: 3.6111111111vw;
  }
  .sekki-3 {
    margin-top: 11.1111111111vw;
    flex-direction: column;
    padding-bottom: 15vw;
  }
  .sekki-3-1 {
    width: 100%;
  }
  .sekki-3-1 figcaption {
    font-size: 3.6111111111vw;
  }
  .sekki-3-2 {
    width: 100%;
  }
  .sekki-3-2 .txt {
    margin-top: 11.1111111111vw;
  }
  .sekki-3__note {
    font-size: 3.6111111111vw;
  }
  .sekki .sekki-4-aside .aside__txt {
    padding-left: 0;
  }
  .sekki .sekki-4-aside .aside__txt::before {
    width: 10vw;
    height: 13.8888888889vw;
  }
  .sekki .sekki-4-aside .aside__txt .h3 {
    padding-left: 13.8888888889vw;
  }
  .sekki-5 {
    margin-top: 11.1111111111vw;
    flex-direction: column-reverse;
    padding-bottom: 15vw;
  }
  .sekki-5 figure {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .sekki-5__credit {
    font-size: 3.6111111111vw;
  }
  .sekki-5-inner {
    width: 100%;
  }
  .sekki-6 {
    margin-top: 11.1111111111vw;
    flex-direction: column;
  }
  .sekki-6 figure {
    width: 100%;
  }
  .sekki-6 figure:nth-of-type(2) {
    margin-top: 8.3333333333vw;
  }
  .sekki-6 figure .txt {
    font-size: 3.6111111111vw;
  }
  .sekki-column {
    margin-top: 16.6666666667vw;
    padding-top: 5.5555555556vw;
  }
  .sekki-column-1 {
    margin-top: 11.1111111111vw;
    flex-direction: column;
  }
  .sekki-column-1-1 {
    width: 100%;
    padding-bottom: 15vw;
  }
  .sekki-column-1-1 .h3 {
    margin-top: 0;
  }
  .sekki-column-1-1::after {
    width: 10.8333333333vw;
    height: 10.2777777778vw;
    top: auto;
    bottom: 1vw;
    right: auto;
    left: calc(50% - 5vw);
    transform: rotate(90deg);
  }
  .sekki-column-1-2 {
    width: 100%;
    padding: 8.3333333333vw;
  }
  .sekki-column-1 ul {
    margin-top: 5.5555555556vw;
  }
  .sekki-column-1 ul li {
    font-size: 4.1666666667vw;
  }
  .sekki-column-2 {
    margin-top: 12.5vw;
    flex-direction: column;
  }
  .sekki-column-2-1 {
    width: 100%;
  }
  .sekki-column-2-2 {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .sekki-column-song {
    margin-top: 7.7777777778vw;
    padding: 4.1666666667vw 8.3333333333vw;
  }
  .sekki-column-song span {
    font-size: 4.1666666667vw;
  }
  .sekki-column-song p {
    font-size: 3.6111111111vw;
  }
  .sekki-column-3 {
    margin-top: 4.1666666667vw;
    flex-direction: column;
  }
  .sekki-column-3-1 {
    width: 100%;
  }
  .sekki-column-3-2 {
    width: 100%;
    margin-top: 8.3333333333vw;
  }
  .sekki-column__credit {
    font-size: 3.6111111111vw;
  }
}
.modal {
  position: fixed;
  inset: 0 0 0 0;
  background: rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s;
}
.modal--on {
  opacity: 1;
  pointer-events: initial;
}
.modal__content {
  position: relative;
  background: white;
  text-align: center;
}
.modal__image {
  width: 100%;
  max-width: 100vw;
  max-height: 100vh;
}
.modal__close {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
}
