/*color*/
/*mediaquery*/
/* function */
/*mixin*/

.base-layout #areaWrapper1 {
  margin-top: 90px;
}

.page__header3rd {
  margin-bottom: min(4.2857142857vw, 6rem);
  padding-top: min(6.4285714286vw, 9rem);
  border-top: none;
}

.heading1 {
  all: revert;
  margin-bottom: 1.4285714286em;
}
.heading1 h2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(1.4rem, 3.074670571vw, 4.2rem);
  line-height: 1.1;
  color: #162c51;
  position: relative;
}
.heading1__en {
  all: revert;
  margin-top: var(--en-margin-top, 1.9rem);
}
.heading1__en h2 {
  display: block;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2;
}
.heading1--border h2 {
  --en-margin-top: 2.9rem;
}
.heading1--border h2::before {
  content: "";
  width: calc(100% + 25vw);
  height: 1px;
  background: currentColor;
  position: absolute;
  right: 0;
  bottom: calc(1.68rem + var(--en-margin-top) / 2);
}
.heading1--red {
  color: #9b001b;
}
.heading1--en h2 {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading2 h3 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.0497803807vw, 2.8rem);
  line-height: 1.5;
  color: #162c51;
}
.heading2 {
  all: revert;
  margin-bottom: 0.8571428571em;
}
.heading2__en {
  all: revert;
  margin-bottom: 2em;
}
.heading2__en h3 {
  display: block;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.2;
  color: #898d93;
}
.heading2__en:last-child {
  margin-top: 1em;
  margin-bottom: 0;
}
.heading2--red {
  color: #9b001b;
}
.heading2--en h3 {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading3 {
  all: revert;
  margin-bottom: 0.8571428571em;
}
.heading3 h3 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-size: clamp(1.4rem, 2.0497803807vw, 2.8rem);
  line-height: 1.5;
  color: #162c51;
  -webkit-writing-mode: vertical-lr;
          writing-mode: vertical-lr;
}
.heading3__en {
  all: revert;
  margin-bottom: 0;
}
.heading3__en h3 {
  display: block;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.2;
}

.heading4 h4 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.756954612vw, 2.4rem);
  line-height: 1.75;
  color: #162c51;
}
.heading4 {
  all: revert;
  margin-bottom: 0.9166666667em;
}
.heading4--black {
  color: #1e1e1e;
}
.heading4--red {
  color: #9b001b;
}
.heading4--en h4 {
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: clamp(1.4rem, 1.756954612vw, 2.4rem);
}
.heading4 a {
  color: inherit;
  text-decoration: none;
}

.heading5 {
  all: revert;
  margin-bottom: 0.9em;
}
.heading5 h5 {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(1.4rem, 2.635431918vw, 3.6rem);
  line-height: 1.2;
  color: #162c51;
}
.heading5__en {
  all: revert;
  margin-top: var(--en-margin-top, 1em);
}
.heading5__en h5 {
  display: block;
  font-family: "Marcellus", serif;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2;
  color: #898d93;
}
.heading5--red {
  color: #9b001b;
}
.heading5--en h5 {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading-h2 {
  margin-bottom: 1.6666666667em;
  padding: 0.1666666667em 0.5833333333em;
  background: #162c51;
  color: #fff;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.756954612vw, 2.4rem);
  line-height: 1.75;
}
.heading-h2--red {
  color: #9b001b;
}
.heading-h2--en {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading-h3 {
  margin-bottom: 2em;
  padding: 0;
  border-top: 1px solid #162c51;
  border-bottom: 1px solid #162c51;
  color: #162c51;
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.4641288433vw, 2rem);
  line-height: 2.1;
}
.heading-h3--red {
  color: #9b001b;
}
.heading-h3--en {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading-h4 {
  margin-bottom: 1em;
  color: #162c51;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.4641288433vw, 2rem);
  line-height: 1.5;
}
.heading-h4--black {
  color: #1e1e1e;
}
.heading-h4--red {
  color: #9b001b;
}
.heading-h4--en {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading-h5 {
  margin-bottom: 1.1111111111em;
  color: #162c51;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
  line-height: 1.5;
}
.heading-h5--black {
  color: #1e1e1e;
}
.heading-h5--blue {
  color: #014099;
}
.heading-h5--red {
  color: #9b001b;
}
.heading-h5--en {
  font-family: "Marcellus", serif;
  font-weight: 400;
}

.heading-h6 {
  margin-bottom: 1em;
  font-weight: 500;
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
  line-height: 1.5;
}
.heading-h6--red {
  color: #9b001b;
}
.heading-h6--en {
  font-family: "Marcellus", serif;
  font-weight: 400;
}
@media (min-width: 752px) {
  #page {
    margin-right: 0;
  }
}
@media (max-width: 751px) {
  .base-layout #areaWrapper1 {
    margin-top: 0;
  }
  .page__header3rd {
    margin-bottom: 10.6666666667vw;
    padding-top: 17.3333333333vw;
    border-top: none;
  }
  .heading1 {
    font-size: 8.5333333333vw;
  }
  .heading1__en h2 {
    font-size: 3.4666666667vw;
  }
  .heading1--border h2 {
    --en-margin-top: 5.7333333333vw;
  }
  .heading1--border h2::before {
    bottom: calc(3.4666666667vw * 1.2 + var(--en-margin-top) / 2);
  }
  .heading2 h3 {
    font-size: 6.6666666667vw;
  }
  .heading2 {
    margin-bottom: 1em;
  }
  .heading2__en {
    margin-bottom: 1em;
  }
  .heading2__en h3 {
    font-size: 3.4666666667vw;
  }
  .heading2__en:last-child {
    margin-bottom: 0;
  }
  .heading3 {
    margin-bottom: 8vw;
  }
  .heading3 h3 {
    font-size: 6.6666666667vw;
  }
  .heading3__en h3 {
    font-size: 2.9333333333vw;
  }
  .heading3--spHorizon {
    -webkit-writing-mode: horizontal-tb;
            writing-mode: horizontal-tb;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .heading4 h4 {
    font-size: 4.8vw;
  }
  .heading4 {
    margin-bottom: 1em;
    font-size: 4.8vw;
  }
  .heading5 h5 {
    font-size: 8.5333333333vw;
  }
  .heading5__en h5 {
    font-size: 3.4666666667vw;
  }
  .heading-h2 {
    font-size: 4.8vw;
  }
  .heading-h3 {
    font-size: 4.2666666667vw;
  }
  .heading-h4 {
    font-size: 4.2666666667vw;
  }
  .heading-h5 {
    font-size: 4vw;
  }
  .heading-h6 {
    font-size: 4vw;
  }
}
/*# sourceMappingURL=maps/style_ec.css.map */
